├── bower_components ├── foundation-sites │ ├── scss │ │ ├── components │ │ │ ├── _flex-video.scss │ │ │ ├── _menu-icon.scss │ │ │ ├── _float.scss │ │ │ ├── _sticky.scss │ │ │ ├── _progress-bar.scss │ │ │ ├── _badge.scss │ │ │ ├── _label.scss │ │ │ ├── _thumbnail.scss │ │ │ ├── _dropdown.scss │ │ │ └── _title-bar.scss │ │ ├── util │ │ │ ├── _util.scss │ │ │ ├── _direction.scss │ │ │ ├── _selector.scss │ │ │ └── _typography.scss │ │ ├── typography │ │ │ ├── _alignment.scss │ │ │ └── _typography.scss │ │ ├── prototype │ │ │ ├── _box.scss │ │ │ ├── _arrow.scss │ │ │ ├── _border-box.scss │ │ │ ├── _border-none.scss │ │ │ ├── _rotate.scss │ │ │ ├── _shadow.scss │ │ │ ├── _display.scss │ │ │ ├── _text-decoration.scss │ │ │ ├── _text-transformation.scss │ │ │ ├── _rounded.scss │ │ │ ├── _bordered.scss │ │ │ └── _sizing.scss │ │ ├── grid │ │ │ ├── _size.scss │ │ │ └── _grid.scss │ │ ├── forms │ │ │ ├── _help-text.scss │ │ │ ├── _forms.scss │ │ │ ├── _checkbox.scss │ │ │ ├── _fieldset.scss │ │ │ └── _label.scss │ │ └── xy-grid │ │ │ ├── _position.scss │ │ │ ├── _grid.scss │ │ │ ├── _layout.scss │ │ │ ├── _xy-grid.scss │ │ │ └── _gutters.scss │ ├── .bowerrc │ ├── assets │ │ ├── foundation.scss │ │ ├── foundation-prototype.scss │ │ ├── foundation-rtl.scss │ │ └── foundation-float.scss │ ├── _vendor │ │ ├── normalize-scss │ │ │ └── sass │ │ │ │ ├── _normalize.scss │ │ │ │ └── normalize │ │ │ │ ├── _import-now.scss │ │ │ │ └── _variables.scss │ │ └── sassy-lists │ │ │ └── stylesheets │ │ │ ├── helpers │ │ │ ├── _true.scss │ │ │ └── _missing-dependencies.scss │ │ │ └── functions │ │ │ ├── _to-list.scss │ │ │ ├── _contain.scss │ │ │ ├── _remove.scss │ │ │ ├── _purge.scss │ │ │ └── _replace.scss │ ├── docslink.sh │ ├── js │ │ ├── entries │ │ │ ├── plugins │ │ │ │ ├── foundation.util.box.js │ │ │ │ ├── foundation.abide.js │ │ │ │ ├── foundation.tabs.js │ │ │ │ ├── foundation.util.nest.js │ │ │ │ ├── foundation.orbit.js │ │ │ │ ├── foundation.reveal.js │ │ │ │ ├── foundation.util.timer.js │ │ │ │ ├── foundation.slider.js │ │ │ │ ├── foundation.sticky.js │ │ │ │ ├── foundation.tooltip.js │ │ │ │ ├── foundation.util.touch.js │ │ │ │ ├── foundation.magellan.js │ │ │ │ ├── foundation.toggler.js │ │ │ │ ├── foundation.util.keyboard.js │ │ │ │ ├── foundation.accordion.js │ │ │ │ ├── foundation.drilldown.js │ │ │ │ ├── foundation.dropdown.js │ │ │ │ ├── foundation.equalizer.js │ │ │ │ ├── foundation.offcanvas.js │ │ │ │ ├── foundation.interchange.js │ │ │ │ ├── foundation.dropdownMenu.js │ │ │ │ ├── foundation.smoothScroll.js │ │ │ │ ├── foundation.util.motion.js │ │ │ │ ├── foundation.util.triggers.js │ │ │ │ ├── foundation.accordionMenu.js │ │ │ │ ├── foundation.util.imageLoader.js │ │ │ │ ├── foundation.responsiveMenu.js │ │ │ │ ├── foundation.responsiveToggle.js │ │ │ │ ├── foundation.util.mediaQuery.js │ │ │ │ ├── foundation.responsiveAccordionTabs.js │ │ │ │ └── foundation.core.js │ │ │ └── foundation-plugins.js │ │ ├── foundation.util.imageLoader.js │ │ ├── foundation.util.timer.js │ │ ├── foundation.util.core.js │ │ └── foundation.plugin.js │ ├── .travis.yml │ ├── customizer │ │ ├── essential.json │ │ └── complete.json │ ├── .github │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ └── ISSUE_TEMPLATE.md │ ├── webpack.config.js │ ├── bower.json │ ├── dist │ │ └── js │ │ │ └── plugins │ │ │ ├── foundation.util.timerAndImageLoader.min.js │ │ │ ├── foundation.util.imageLoader.min.js │ │ │ ├── foundation.util.timer.min.js │ │ │ ├── foundation.util.nest.min.js │ │ │ └── foundation.util.motion.min.js │ ├── browserstack.json │ ├── .bower.json │ ├── LICENSE │ └── .eslintrc ├── jquery │ ├── src │ │ ├── var │ │ │ ├── arr.js │ │ │ ├── document.js │ │ │ ├── getProto.js │ │ │ ├── push.js │ │ │ ├── slice.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── indexOf.js │ │ │ ├── pnum.js │ │ │ ├── fnToString.js │ │ │ ├── toString.js │ │ │ ├── documentElement.js │ │ │ ├── hasOwn.js │ │ │ ├── support.js │ │ │ ├── ObjectFunctionString.js │ │ │ ├── isWindow.js │ │ │ ├── rcssNum.js │ │ │ ├── rnothtmlwhite.js │ │ │ └── isFunction.js │ │ ├── selector.js │ │ ├── .eslintrc.json │ │ ├── ajax │ │ │ ├── var │ │ │ │ ├── nonce.js │ │ │ │ ├── rquery.js │ │ │ │ └── location.js │ │ │ ├── parseXML.js │ │ │ └── script.js │ │ ├── css │ │ │ ├── var │ │ │ │ ├── cssExpand.js │ │ │ │ ├── rboxStyle.js │ │ │ │ ├── rnumnonpx.js │ │ │ │ ├── getStyles.js │ │ │ │ ├── swap.js │ │ │ │ └── isHiddenWithinTree.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── addGetHookIf.js │ │ │ └── curCSS.js │ │ ├── data │ │ │ └── var │ │ │ │ ├── dataPriv.js │ │ │ │ ├── dataUser.js │ │ │ │ └── acceptData.js │ │ ├── manipulation │ │ │ ├── var │ │ │ │ ├── rcheckableType.js │ │ │ │ ├── rtagName.js │ │ │ │ └── rscriptType.js │ │ │ ├── _evalUrl.js │ │ │ ├── setGlobalEval.js │ │ │ ├── getAll.js │ │ │ ├── wrapMap.js │ │ │ └── support.js │ │ ├── core │ │ │ ├── var │ │ │ │ └── rsingleTag.js │ │ │ ├── nodeName.js │ │ │ ├── readyException.js │ │ │ ├── stripAndCollapse.js │ │ │ ├── toType.js │ │ │ ├── camelCase.js │ │ │ ├── DOMEval.js │ │ │ ├── support.js │ │ │ ├── access.js │ │ │ └── parseHTML.js │ │ ├── traversing │ │ │ └── var │ │ │ │ ├── rneedsContext.js │ │ │ │ ├── siblings.js │ │ │ │ └── dir.js │ │ ├── event │ │ │ ├── support.js │ │ │ ├── ajax.js │ │ │ ├── alias.js │ │ │ └── focusin.js │ │ ├── attributes.js │ │ ├── effects │ │ │ └── animatedSelector.js │ │ ├── selector-sizzle.js │ │ ├── deferred │ │ │ └── exceptionHook.js │ │ ├── queue │ │ │ └── delay.js │ │ ├── exports │ │ │ ├── global.js │ │ │ └── amd.js │ │ ├── jquery.js │ │ ├── attributes │ │ │ └── support.js │ │ ├── wrap.js │ │ └── dimensions.js │ ├── bower.json │ ├── .bower.json │ ├── LICENSE.txt │ └── external │ │ └── sizzle │ │ └── LICENSE.txt ├── motion-ui │ ├── motion-ui.scss │ ├── lib │ │ └── handlebars.js │ ├── src │ │ ├── util │ │ │ ├── _unit.scss │ │ │ ├── _animation.scss │ │ │ ├── _args.scss │ │ │ ├── _selector.scss │ │ │ ├── _transition.scss │ │ │ └── _series.scss │ │ ├── effects │ │ │ ├── _zoom.scss │ │ │ ├── _wiggle.scss │ │ │ ├── _shake.scss │ │ │ ├── _fade.scss │ │ │ ├── _spin.scss │ │ │ └── _slide.scss │ │ ├── motion-ui.scss │ │ └── transitions │ │ │ ├── _fade.scss │ │ │ ├── _zoom.scss │ │ │ ├── _spin.scss │ │ │ ├── _slide.scss │ │ │ └── _hinge.scss │ ├── bower.json │ ├── composer.json │ ├── docs │ │ ├── readme.md │ │ ├── javascript.md │ │ ├── wow.md │ │ ├── configuration.md │ │ ├── installation.md │ │ └── classes.md │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── package.js │ ├── meteor-README.md │ └── dist │ │ └── motion-ui.min.js └── what-input │ ├── bower.json │ ├── .bower.json │ ├── LICENSE │ └── package.json ├── img ├── FPO.png ├── user.png ├── yeti.png ├── jekyll.png ├── cfp_schema.png ├── fpo-hollow.png └── user-hollow.png ├── _data └── _data.xlsx ├── .gitignore ├── _layouts ├── page.html ├── post.html └── default.html ├── js └── app.js ├── directory.md ├── bower.json ├── feed.md ├── _includes ├── head.html ├── content-list.html └── global-nav.html ├── catalogue.md ├── package.json ├── _config.yml ├── scss ├── app.scss └── custom-styles.scss └── gulpfile.js /bower_components/foundation-sites/scss/components/_flex-video.scss: -------------------------------------------------------------------------------- 1 | @import 'responsive-embed'; 2 | -------------------------------------------------------------------------------- /img/FPO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/FPO.png -------------------------------------------------------------------------------- /img/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/user.png -------------------------------------------------------------------------------- /img/yeti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/yeti.png -------------------------------------------------------------------------------- /img/jekyll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/jekyll.png -------------------------------------------------------------------------------- /_data/_data.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/_data/_data.xlsx -------------------------------------------------------------------------------- /img/cfp_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/cfp_schema.png -------------------------------------------------------------------------------- /img/fpo-hollow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/fpo-hollow.png -------------------------------------------------------------------------------- /bower_components/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return []; 5 | } ); 6 | -------------------------------------------------------------------------------- /img/user-hollow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/content-first-prototyping/HEAD/img/user-hollow.png -------------------------------------------------------------------------------- /bower_components/foundation-sites/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "modules": false 4 | } 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define( [ "./selector-sizzle" ], function() { 2 | "use strict"; 3 | } ); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "../.eslintrc-browser.json" 5 | } 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return Date.now(); 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /\?/ ); 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/assets/foundation.scss: -------------------------------------------------------------------------------- 1 | @import '../scss/foundation'; 2 | 3 | @include foundation-everything; 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/document.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return window.document; 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/location.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return window.location; 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/getProto.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return Object.getPrototypeOf; 5 | } ); 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .sass-cache 3 | .jekyll-metadata 4 | node_modules 5 | _site 6 | _data/*.json 7 | _data/~$_data.xlsx 8 | 9 | 10 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.push; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.slice; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/motion-ui/motion-ui.scss: -------------------------------------------------------------------------------- 1 | @import "src/motion-ui"; 2 | 3 | @include motion-ui-transitions; 4 | @include motion-ui-animations; 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // [[Class]] -> type pairs 5 | return {}; 6 | } ); 7 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.concat; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.indexOf; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return [ "Top", "Right", "Bottom", "Left" ]; 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/assets/foundation-prototype.scss: -------------------------------------------------------------------------------- 1 | @import '../scss/foundation'; 2 | 3 | @include foundation-everything($prototype: true); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/dataPriv.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | "use strict"; 5 | 6 | return new Data(); 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/dataUser.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | "use strict"; 5 | 6 | return new Data(); 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^(?:checkbox|radio)$/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/var/rtagName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/fnToString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./hasOwn" 3 | ], function( hasOwn ) { 4 | "use strict"; 5 | 6 | return hasOwn.toString; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/assets/foundation-rtl.scss: -------------------------------------------------------------------------------- 1 | $global-text-direction: rtl; 2 | 3 | @import '../scss/foundation'; 4 | 5 | @include foundation-everything; 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/var/rscriptType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^$|^module$|\/(?:java|ecma)script/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | "use strict"; 5 | 6 | return class2type.toString; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/documentElement.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./document" 3 | ], function( document ) { 4 | "use strict"; 5 | 6 | return document.documentElement; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | "use strict"; 5 | 6 | return class2type.hasOwnProperty; 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // All support tests are defined in their respective modules. 5 | return {}; 6 | } ); 7 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/assets/foundation-float.scss: -------------------------------------------------------------------------------- 1 | $global-flexbox: false; 2 | 3 | @import '../scss/foundation'; 4 | 5 | @include foundation-everything($flex: false); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/ObjectFunctionString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./fnToString" 3 | ], function( fnToString ) { 4 | "use strict"; 5 | 6 | return fnToString.call( Object ); 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/normalize-scss/sass/_normalize.scss: -------------------------------------------------------------------------------- 1 | @import 'normalize/variables'; 2 | @import 'normalize/vertical-rhythm'; 3 | @import 'normalize/normalize-mixin'; 4 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/docslink.sh: -------------------------------------------------------------------------------- 1 | # Clones the foundation-docs repo and links it to NPM locally 2 | git clone https://github.com/zurb/foundation-docs 3 | npm link ./foundation-docs 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/rboxStyle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./cssExpand" 3 | ], function( cssExpand ) { 4 | "use strict"; 5 | 6 | return new RegExp( cssExpand.join( "|" ), "i" ); 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/isWindow.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function isWindow( obj ) { 5 | return obj != null && obj === obj.window; 6 | }; 7 | 8 | } ); 9 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | "use strict"; 5 | 6 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 7 | } ); 8 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.box.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | import { Box } from '../../foundation.util.box'; 3 | 4 | Foundation.Box = Box; 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.abide.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Abide } from '../../foundation.abide'; 4 | Foundation.plugin(Abide, 'Abide'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.tabs.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Tabs } from '../../foundation.tabs'; 4 | Foundation.plugin(Tabs, 'Tabs'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.nest.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Nest } from '../../foundation.util.nest'; 4 | 5 | Foundation.Nest = Nest; 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // Match a standalone tag 5 | return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 6 | } ); 7 | -------------------------------------------------------------------------------- /bower_components/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | "use strict"; 6 | 7 | return jQuery.expr.match.needsContext; 8 | } ); 9 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.orbit.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Orbit } from '../../foundation.orbit'; 4 | Foundation.plugin(Orbit, 'Orbit'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.reveal.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Reveal } from '../../foundation.reveal'; 4 | Foundation.plugin(Reveal, 'Reveal'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.timer.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Timer } from '../../foundation.util.timer'; 4 | 5 | Foundation.Timer = Timer; 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/rcssNum.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/pnum" 3 | ], function( pnum ) { 4 | 5 | "use strict"; 6 | 7 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 8 | 9 | } ); 10 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.slider.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Slider } from '../../foundation.slider'; 4 | Foundation.plugin(Slider, 'Slider'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.sticky.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Sticky } from '../../foundation.sticky'; 4 | Foundation.plugin(Sticky, 'Sticky'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.tooltip.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Tooltip } from '../../foundation.tooltip'; 4 | Foundation.plugin(Tooltip, 'Tooltip'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.touch.js: -------------------------------------------------------------------------------- 1 | import $ from 'jquery'; 2 | 3 | import { Touch } from '../../foundation.util.touch'; 4 | 5 | Touch.init($); 6 | 7 | window.Foundation.Touch = Touch; 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | "use strict"; 6 | 7 | support.focusin = "onfocusin" in window; 8 | 9 | return support; 10 | 11 | } ); 12 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.magellan.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Magellan } from '../../foundation.magellan'; 4 | Foundation.plugin(Magellan, 'Magellan'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.toggler.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Toggler } from '../../foundation.toggler'; 4 | Foundation.plugin(Toggler, 'Toggler'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.keyboard.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | import { Keyboard } from '../../foundation.util.keyboard'; 3 | 4 | Foundation.Keyboard = Keyboard; 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.accordion.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Accordion } from '../../foundation.accordion'; 4 | Foundation.plugin(Accordion, 'Accordion'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.drilldown.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Drilldown } from '../../foundation.drilldown'; 4 | Foundation.plugin(Drilldown, 'Drilldown'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.dropdown.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Dropdown } from '../../foundation.dropdown'; 4 | Foundation.plugin(Dropdown, 'Dropdown'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.equalizer.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Equalizer } from '../../foundation.equalizer'; 4 | Foundation.plugin(Equalizer, 'Equalizer'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.offcanvas.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { OffCanvas } from '../../foundation.offcanvas'; 4 | Foundation.plugin(OffCanvas, 'OffCanvas'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "6" 4 | install: 5 | - npm install -g bower browserstack-runner 6 | - npm install 7 | script: npm run test:ci 8 | notifications: 9 | email: false 10 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.interchange.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { Interchange } from '../../foundation.interchange'; 4 | Foundation.plugin(Interchange, 'Interchange'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.dropdownMenu.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { DropdownMenu } from '../../foundation.dropdownMenu'; 4 | Foundation.plugin(DropdownMenu, 'DropdownMenu'); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.smoothScroll.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { SmoothScroll } from '../../foundation.smoothScroll'; 4 | Foundation.plugin(SmoothScroll, 'SmoothScroll'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.motion.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | import { Motion, Move } from '../../foundation.util.motion'; 3 | 4 | Foundation.Motion = Motion; 5 | Foundation.Move = Move; 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.triggers.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | import $ from 'jquery'; 3 | 4 | import { Triggers } from '../../foundation.util.triggers'; 5 | Triggers.init($, Foundation); 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.accordionMenu.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { AccordionMenu } from '../../foundation.accordionMenu'; 4 | Foundation.plugin(AccordionMenu, 'AccordionMenu'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.imageLoader.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { onImagesLoaded } from '../../foundation.util.imageLoader'; 4 | 5 | Foundation.onImagesLoaded = onImagesLoaded; 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/customizer/essential.json: -------------------------------------------------------------------------------- 1 | { 2 | "modules": [ 3 | "typography", 4 | "xy_grid", 5 | "flex_classes", 6 | "forms", 7 | "button", 8 | "callout", 9 | "reveal" 10 | ], 11 | "variables": {} 12 | } 13 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.responsiveMenu.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { ResponsiveMenu } from '../../foundation.responsiveMenu'; 4 | Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.responsiveToggle.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { ResponsiveToggle } from '../../foundation.responsiveToggle'; 4 | Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.util.mediaQuery.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | import { MediaQuery } from '../../foundation.util.mediaQuery'; 3 | 4 | Foundation.MediaQuery = MediaQuery; 5 | Foundation.MediaQuery._init(); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/rnothtmlwhite.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // Only count HTML whitespace 5 | // Other whitespace should count in values 6 | // https://infra.spec.whatwg.org/#ascii-whitespace 7 | return ( /[^\x20\t\r\n\f]+/g ); 8 | } ); 9 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/nodeName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | function nodeName( elem, name ) { 6 | 7 | return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 8 | 9 | }; 10 | 11 | return nodeName; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/readyException.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery.readyException = function( error ) { 8 | window.setTimeout( function() { 9 | throw error; 10 | } ); 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ] 14 | } -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 | 6 |
7 |

{{ page.title }}

8 |
9 | 10 |
11 | {{ content }} 12 |
13 | 14 |
15 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_menu-icon.scss: -------------------------------------------------------------------------------- 1 | @mixin foundation-menu-icon { 2 | .menu-icon { 3 | @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover); 4 | } 5 | 6 | .menu-icon.dark { 7 | @include hamburger; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/motion-ui/lib/handlebars.js: -------------------------------------------------------------------------------- 1 | var handlebars = require('handlebars'); 2 | 3 | handlebars.registerHelper('private', function(item, content) { 4 | if (item.access === 'public') return content.fn(this); 5 | else return content.inverse(this); 6 | }); 7 | 8 | module.exports = handlebars; 9 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.responsiveAccordionTabs.js: -------------------------------------------------------------------------------- 1 | import { Foundation } from './foundation.core'; 2 | 3 | import { ResponsiveAccordionTabs } from '../../foundation.responsiveAccordionTabs'; 4 | Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs'); 5 | 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | "use strict"; 10 | 11 | // Return jQuery for attributes-only inclusion 12 | return jQuery; 13 | } ); 14 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/util/_unit.scss: -------------------------------------------------------------------------------- 1 | /// Removes the unit (e.g. px, em, rem) from a value, returning the number only. 2 | /// @param {Number} $num - Number to strip unit from. 3 | /// @return {Number} The same number, sans unit. 4 | /// @access private 5 | @function strip-unit($num) { 6 | @return $num / ($num * 0 + 1); 7 | } 8 | -------------------------------------------------------------------------------- /bower_components/jquery/src/traversing/var/siblings.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | return function( n, elem ) { 6 | var matched = []; 7 | 8 | for ( ; n; n = n.nextSibling ) { 9 | if ( n.nodeType === 1 && n !== elem ) { 10 | matched.push( n ); 11 | } 12 | } 13 | 14 | return matched; 15 | }; 16 | 17 | } ); 18 | -------------------------------------------------------------------------------- /bower_components/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | "use strict"; 8 | 9 | jQuery.expr.pseudos.animated = function( elem ) { 10 | return jQuery.grep( jQuery.timers, function( fn ) { 11 | return elem === fn.elem; 12 | } ).length; 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/util/_util.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | @import 'math'; 6 | @import 'unit'; 7 | @import 'value'; 8 | @import 'direction'; 9 | @import 'color'; 10 | @import 'selector'; 11 | @import 'flex'; 12 | @import 'breakpoint'; 13 | @import 'mixins'; 14 | @import 'typography'; 15 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_import-now.scss: -------------------------------------------------------------------------------- 1 | // Import Now 2 | // 3 | // If you import this module directly, it will immediately output all the CSS 4 | // needed to normalize default HTML elements across all browsers. 5 | // 6 | // ``` 7 | // @import "normalize/import-now"; 8 | // ``` 9 | 10 | @import '../normalize'; 11 | @include normalize(); 12 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_true.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Returns truthiness of `$value`. 3 | /// 4 | /// @access private 5 | /// 6 | /// @param {*} $value - value to check 7 | /// 8 | /// @return {Bool} 9 | /// 10 | 11 | @function sl-is-true($value) { 12 | @return if($value == null, false, $value and $value != null and $value != '' and $value != ()); 13 | } 14 | -------------------------------------------------------------------------------- /js/app.js: -------------------------------------------------------------------------------- 1 | $(document).foundation(); 2 | 3 | $(window).bind("load", function () { 4 | var footer = $("#footer"); 5 | var pos = footer.position(); 6 | var height = $(window).height(); 7 | height = height - pos.top; 8 | height = height - footer.height(); 9 | if (height > 0) { 10 | footer.css({ 11 | 'margin-top': height + 'px' 12 | }); 13 | } 14 | }); -------------------------------------------------------------------------------- /bower_components/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | jQuery.expr.pseudos.hidden = function( elem ) { 9 | return !jQuery.expr.pseudos.visible( elem ); 10 | }; 11 | jQuery.expr.pseudos.visible = function( elem ) { 12 | return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/acceptData.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | return function( owner ) { 9 | 10 | // Accepts only: 11 | // - Node 12 | // - Node.ELEMENT_NODE 13 | // - Node.DOCUMENT_NODE 14 | // - Object 15 | // - Any 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/util/_animation.scss: -------------------------------------------------------------------------------- 1 | /// Creates a keyframe from one or more effect functions and assigns it to the element by adding the `animation-name` property. 2 | /// @param {Function} $effects... - One or more effect functions to build the keyframe with. 3 | @mixin mui-animation($args...) { 4 | $name: map-get(-mui-process-args($args...), name); 5 | @include mui-keyframes($name, $args...); 6 | animation-name: unquote($name); 7 | } 8 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/util/_args.scss: -------------------------------------------------------------------------------- 1 | /// Processes a series of keyframe function arguments. 2 | /// @access private 3 | @function -mui-process-args($args...) { 4 | @if length($args) == 1 { 5 | $arg: nth($args, 1); 6 | 7 | @if type-of($arg) == 'string' { 8 | @return call($arg); 9 | } @else if type-of($arg) == 'map' { 10 | @return $arg; 11 | } 12 | } 13 | 14 | @return -mui-keyframe-combine($args...); 15 | } 16 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/stripAndCollapse.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/rnothtmlwhite" 3 | ], function( rnothtmlwhite ) { 4 | "use strict"; 5 | 6 | // Strip and collapse whitespace according to HTML spec 7 | // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 8 | function stripAndCollapse( value ) { 9 | var tokens = value.match( rnothtmlwhite ) || []; 10 | return tokens.join( " " ); 11 | } 12 | 13 | return stripAndCollapse; 14 | } ); 15 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | // Attach a bunch of functions for handling common AJAX events 9 | jQuery.each( [ 10 | "ajaxStart", 11 | "ajaxStop", 12 | "ajaxComplete", 13 | "ajaxError", 14 | "ajaxSuccess", 15 | "ajaxSend" 16 | ], function( i, type ) { 17 | jQuery.fn[ type ] = function( fn ) { 18 | return this.on( type, fn ); 19 | }; 20 | } ); 21 | 22 | } ); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/toType.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/class2type", 3 | "../var/toString" 4 | ], function( class2type, toString ) { 5 | 6 | "use strict"; 7 | 8 | function toType( obj ) { 9 | if ( obj == null ) { 10 | return obj + ""; 11 | } 12 | 13 | // Support: Android <=2.3 only (functionish RegExp) 14 | return typeof obj === "object" || typeof obj === "function" ? 15 | class2type[ toString.call( obj ) ] || "object" : 16 | typeof obj; 17 | } 18 | 19 | return toType; 20 | } ); 21 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery._evalUrl = function( url ) { 8 | return jQuery.ajax( { 9 | url: url, 10 | 11 | // Make this explicit, since user can override this through ajaxSetup (#11264) 12 | type: "GET", 13 | dataType: "script", 14 | cache: true, 15 | async: false, 16 | global: false, 17 | "throws": true 18 | } ); 19 | }; 20 | 21 | return jQuery._evalUrl; 22 | 23 | } ); 24 | -------------------------------------------------------------------------------- /bower_components/jquery/src/traversing/var/dir.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | return function( elem, dir, until ) { 8 | var matched = [], 9 | truncate = until !== undefined; 10 | 11 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 12 | if ( elem.nodeType === 1 ) { 13 | if ( truncate && jQuery( elem ).is( until ) ) { 14 | break; 15 | } 16 | matched.push( elem ); 17 | } 18 | } 19 | return matched; 20 | }; 21 | 22 | } ); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function( elem ) { 5 | 6 | // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 7 | // IE throws on elements created in popups 8 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 9 | var view = elem.ownerDocument.defaultView; 10 | 11 | if ( !view || !view.opener ) { 12 | view = window; 13 | } 14 | 15 | return view.getComputedStyle( elem ); 16 | }; 17 | } ); 18 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/isFunction.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function isFunction( obj ) { 5 | 6 | // Support: Chrome <=57, Firefox <=52 7 | // In some browsers, typeof returns "function" for HTML elements 8 | // (i.e., `typeof document.createElement( "object" ) === "function"`). 9 | // We don't want to classify *any* DOM node as a function. 10 | return typeof obj === "function" && typeof obj.nodeType !== "number"; 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/setGlobalEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../data/var/dataPriv" 3 | ], function( dataPriv ) { 4 | 5 | "use strict"; 6 | 7 | // Mark scripts as having already been evaluated 8 | function setGlobalEval( elems, refElements ) { 9 | var i = 0, 10 | l = elems.length; 11 | 12 | for ( ; i < l; i++ ) { 13 | dataPriv.set( 14 | elems[ i ], 15 | "globalEval", 16 | !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 17 | ); 18 | } 19 | } 20 | 21 | return setGlobalEval; 22 | } ); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "../external/sizzle/dist/sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | "use strict"; 7 | 8 | jQuery.find = Sizzle; 9 | jQuery.expr = Sizzle.selectors; 10 | 11 | // Deprecated 12 | jQuery.expr[ ":" ] = jQuery.expr.pseudos; 13 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 14 | jQuery.text = Sizzle.getText; 15 | jQuery.isXMLDoc = Sizzle.isXML; 16 | jQuery.contains = Sizzle.contains; 17 | jQuery.escapeSelector = Sizzle.escape; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_float.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group float 7 | //// 8 | 9 | @mixin foundation-float-classes { 10 | .float-left { 11 | float: left !important; 12 | } 13 | 14 | .float-right { 15 | float: right !important; 16 | } 17 | 18 | .float-center { 19 | display: block; 20 | margin-right: auto; 21 | margin-left: auto; 22 | } 23 | 24 | .clearfix { 25 | @include clearfix; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /directory.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: category 3 | data: directory 4 | --- 5 | ### Directory 6 | Here's a landing page for the directory pages. As with the Catalogue page, this page is pulling data from the _data spreadsheet (in the _data file). There is a starter set of attributes associated with the directory content type, but you should feel free to add any that are useful for your users – for example, maybe the people you represent here have specialty, or their certifications are important. Just add a column in the spreadsheet, populate it, then call the data in your template. Voilá! -------------------------------------------------------------------------------- /bower_components/motion-ui/src/effects/_zoom.scss: -------------------------------------------------------------------------------- 1 | /// Creates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller. 2 | /// @param {Number} $from [1.5] - Size to start at. 3 | /// @param {Number} $to [1] - Size to end at. 4 | @function zoom( 5 | $from: 0, 6 | $to: 1 7 | ) { 8 | $keyframes: ( 9 | name: 'scale-#{$to}-to-#{$from}', 10 | 0: (transform: scale($from)), 11 | 100: (transform: scale($to)), 12 | ); 13 | 14 | @return $keyframes; 15 | } 16 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/effects/_wiggle.scss: -------------------------------------------------------------------------------- 1 | /// Creates a wiggling animation. 2 | /// @param {Number} $intensity [7deg] - Intensity of the wiggle. Can be any CSS angle unit. 3 | /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin. 4 | @function wiggle($intensity: 7deg) { 5 | $keyframes: ( 6 | name: 'wiggle-#{$intensity}', 7 | (40, 50, 60): (transform: rotate($intensity)), 8 | (35, 45, 55, 65): (transform: rotate(-$intensity)), 9 | (0, 30, 70, 100): (transform: rotate(0)), 10 | ); 11 | 12 | @return $keyframes; 13 | } 14 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foundation-sites-template", 3 | "version": "1.0.0", 4 | "authors": [ 5 | "ZURB " 6 | ], 7 | "description": "Basic template for a new Foundation for Sites project.", 8 | "main": "index.html", 9 | "license": "MIT", 10 | "homepage": "http://foundation.zurb.com", 11 | "dependencies": { 12 | "foundation-sites": "~6.4.0", 13 | "motion-ui": "~1.2.3" 14 | }, 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ], 22 | "private": true 23 | } 24 | -------------------------------------------------------------------------------- /bower_components/motion-ui/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "motion-ui", 3 | "version": "1.2.3", 4 | "authors": [ 5 | "ZURB " 6 | ], 7 | "description": "Sass library for creating transitions and animations.", 8 | "main": [ 9 | "dist/motion-ui.css", 10 | "dist/motion-ui.js" 11 | ], 12 | "keywords": [ 13 | "Sass", 14 | "motion" 15 | ], 16 | "license": "MIT", 17 | "ignore": [ 18 | "**/.*", 19 | "_build", 20 | "node_modules", 21 | "bower_components", 22 | "docs/src", 23 | "test" 24 | ], 25 | "dependencies": { 26 | "jquery": ">=2.2.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/effects/_shake.scss: -------------------------------------------------------------------------------- 1 | /// Creates a shaking animation. 2 | /// @param {Percentage} $intensity [7%] - Intensity of the shake, as a percentage value. 3 | /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin. 4 | @function shake($intensity: 7%) { 5 | $right: (0, 10, 20, 30, 40, 50, 60, 70, 80, 90); 6 | $left: (5, 15, 25, 35, 45, 55, 65, 75, 85, 95); 7 | 8 | $keyframes: ( 9 | name: 'shake-#{($intensity / 1%)}', 10 | $right: (transform: translateX($intensity)), 11 | $left: (transform: translateX(-$intensity)), 12 | ); 13 | 14 | @return $keyframes; 15 | } 16 | -------------------------------------------------------------------------------- /feed.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: category 3 | data: feed 4 | --- 5 | ### Events 6 | This is the events feed page. For the moment, this is all the detail we have about our events, so there are no further detail pages about these events. 7 | 8 | If we get more details – or lots more events that we want to break up differently, all we have to do is the events data, name, and template information into _config.yaml and we'll get a full set of pages that we can use and link to just like the Catalogue Items and People pages. 9 | 10 | Worth noting: even though we haven't created pages, the data from our spreadsheet entries is still available via the site.data.feed array. -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/typography/_alignment.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | @mixin foundation-text-alignment { 6 | @each $size in $breakpoint-classes { 7 | @include breakpoint($size) { 8 | @each $align in (left, right, center, justify) { 9 | @if $size != $-zf-zero-breakpoint { 10 | .#{$size}-text-#{$align} { 11 | text-align: $align; 12 | } 13 | } 14 | @else { 15 | .text-#{$align} { 16 | text-align: $align; 17 | } 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Before submitting a pull request, make sure it's targeting the right branch: 2 | 3 | - For documentation fixes, use `master`. 4 | - For bug fixes or new features compatible with the next version, use `develop`. 5 | - For bug fixes incompatible with `develop`, use the support branch of the latest compatible version, which will be formatted `support/6.x`. 6 | 7 | If you're fixing a JavaScript issue, it would help to create a new test case under the folder `test/visual/` that recreates the issue and show's that it's been fixed. Run `npm test` to compile the testing folder. 8 | 9 | Happy coding! :) 10 | -------------------------------------------------------------------------------- /bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "3.3.1", 16 | "_release": "3.3.1", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "3.3.1", 20 | "commit": "9e8ec3d10fad04748176144f108d7355662ae75e" 21 | }, 22 | "_source": "https://github.com/jquery/jquery-dist.git", 23 | "_target": ">= 3.0.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/swap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | // A method for quickly swapping in/out CSS properties to get correct calculations. 6 | return function( elem, options, callback, args ) { 7 | var ret, name, 8 | old = {}; 9 | 10 | // Remember the old values, and insert the new ones 11 | for ( name in options ) { 12 | old[ name ] = elem.style[ name ]; 13 | elem.style[ name ] = options[ name ]; 14 | } 15 | 16 | ret = callback.apply( elem, args || [] ); 17 | 18 | // Revert the old values 19 | for ( name in options ) { 20 | elem.style[ name ] = old[ name ]; 21 | } 22 | 23 | return ret; 24 | }; 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/camelCase.js: -------------------------------------------------------------------------------- 1 | define( [], function() { 2 | 3 | "use strict"; 4 | 5 | // Matches dashed string for camelizing 6 | var rmsPrefix = /^-ms-/, 7 | rdashAlpha = /-([a-z])/g; 8 | 9 | // Used by camelCase as callback to replace() 10 | function fcamelCase( all, letter ) { 11 | return letter.toUpperCase(); 12 | } 13 | 14 | // Convert dashed to camelCase; used by the css and data modules 15 | // Support: IE <=9 - 11, Edge 12 - 15 16 | // Microsoft forgot to hump their vendor prefix (#9572) 17 | function camelCase( string ) { 18 | return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 19 | } 20 | 21 | return camelCase; 22 | 23 | } ); 24 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | function addGetHookIf( conditionFn, hookFn ) { 6 | 7 | // Define the hook, we'll check on the first run if it's really needed. 8 | return { 9 | get: function() { 10 | if ( conditionFn() ) { 11 | 12 | // Hook not needed (or it's not possible to use it due 13 | // to missing dependency), remove it. 14 | delete this.get; 15 | return; 16 | } 17 | 18 | // Hook needed; redefine it so that the support test is not executed again. 19 | return ( this.get = hookFn ).apply( this, arguments ); 20 | } 21 | }; 22 | } 23 | 24 | return addGetHookIf; 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 | 6 |
7 |

{{ page.title }}

8 | 9 |
10 | 11 |
12 | {{ content }} 13 |
14 | 15 |
16 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/typography/_typography.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group typography 7 | //// 8 | 9 | // Base typography styles (tags only) 10 | @import 'base'; 11 | 12 | // Typography helper classes (classes only) 13 | @import 'helpers'; 14 | 15 | // Text alignment classes 16 | @import 'alignment'; 17 | 18 | // Print styles 19 | @import 'print'; 20 | 21 | @mixin foundation-typography { 22 | @include foundation-typography-base; 23 | @include foundation-typography-helpers; 24 | @include foundation-text-alignment; 25 | @include foundation-print-styles; 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/DOMEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document" 3 | ], function( document ) { 4 | "use strict"; 5 | 6 | var preservedScriptAttributes = { 7 | type: true, 8 | src: true, 9 | noModule: true 10 | }; 11 | 12 | function DOMEval( code, doc, node ) { 13 | doc = doc || document; 14 | 15 | var i, 16 | script = doc.createElement( "script" ); 17 | 18 | script.text = code; 19 | if ( node ) { 20 | for ( i in preservedScriptAttributes ) { 21 | if ( node[ i ] ) { 22 | script[ i ] = node[ i ]; 23 | } 24 | } 25 | } 26 | doc.head.appendChild( script ).parentNode.removeChild( script ); 27 | } 28 | 29 | return DOMEval; 30 | } ); 31 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: './js/entries/all.js', 3 | output: { 4 | path: './_build/assets/js/', 5 | filename: 'foundation.js' 6 | }, 7 | externals: { 8 | jquery: 'jQuery' 9 | }, 10 | module: { 11 | loaders: [ 12 | ], 13 | rules: [ 14 | // JS LOADER 15 | // Reference: https://github.com/babel/babel-loader 16 | // Transpile .js files using babel-loader 17 | // Compiles ES6 and ES7 into ES5 code 18 | { 19 | test: /\.js$/, 20 | use: [ 21 | { 22 | loader: 'babel-loader', 23 | } 24 | ], 25 | } 26 | ] 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /bower_components/motion-ui/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zurb/motion-ui", 3 | "description": "Sass library for creating transitions and animations.", 4 | "version": "1.2.2", 5 | "keywords": [ 6 | "css", 7 | "sass", 8 | "motion", 9 | "animation" 10 | ], 11 | "homepage": "http://foundation.zurb.com", 12 | "authors": [ 13 | { 14 | "name": "ZURB, Inc.", 15 | "homepage": "http://zurb.com", 16 | "email": "foundation@zurb.com" 17 | } 18 | ], 19 | "support": { 20 | "email": "foundation@zurb.com", 21 | "issues": "https://github.com/zurb/motion-ui/issues", 22 | "forum": "http://foundation.zurb.com/forum" 23 | }, 24 | "license": "MIT" 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/motion-ui/docs/readme.md: -------------------------------------------------------------------------------- 1 | # Motion UI Documentation 2 | 3 | ### [Installation](installation.md) 4 | 5 | Installing Motion UI. 6 | 7 | ### [Transitions](transitions.md) 8 | 9 | Using CSS transitions to show and hide components. 10 | 11 | ### [Animations](animations.md) 12 | 13 | Using CSS animations to add effects. 14 | 15 | ### [CSS Classes](classes.md) 16 | 17 | Using the library's pre-made CSS classes. 18 | 19 | ### [JavaScript](javascript.md) 20 | 21 | Using the JavaScript plugin to transition elements in and out. 22 | 23 | ### [Configuration](configuration.md) 24 | 25 | Customizing Motion UI. 26 | 27 | ### [WOW.js](wow.md) 28 | 29 | Using Motion UI with WOW.js. 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_box.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-box 7 | //// 8 | 9 | /// Box Mixin: Easily create a square, rectangle or a circle 10 | /// @param {Number} $width[] Width of the box 11 | /// @param {Number} $height[$width] Height of the box, defaults to `$width` to easily make a square 12 | /// @param {Boolean} $circle[false] Makes the box a circle, by default `false`. 13 | @mixin box( 14 | $width, 15 | $height: $width, 16 | $circle: false 17 | ) { 18 | width: $width; 19 | height: $height; 20 | @if $circle { 21 | border-radius: 50% !important; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | // Cross-browser xml parsing 8 | jQuery.parseXML = function( data ) { 9 | var xml; 10 | if ( !data || typeof data !== "string" ) { 11 | return null; 12 | } 13 | 14 | // Support: IE 9 - 11 only 15 | // IE throws on parseFromString with invalid input. 16 | try { 17 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 18 | } catch ( e ) { 19 | xml = undefined; 20 | } 21 | 22 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 23 | jQuery.error( "Invalid XML: " + data ); 24 | } 25 | return xml; 26 | }; 27 | 28 | return jQuery.parseXML; 29 | 30 | } ); 31 | -------------------------------------------------------------------------------- /bower_components/what-input/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "what-input", 3 | "version": "4.1.6", 4 | "homepage": "https://github.com/ten1seven/what-input", 5 | "repository": { 6 | "url": "https://github.com/ten1seven/what-input.git", 7 | "type": "git" 8 | }, 9 | "author": "Jeremy Fields ", 10 | "description": "A global utility for tracking the current input method (mouse, keyboard or touch).", 11 | "main": "dist/what-input.js", 12 | "keywords": [ 13 | "accessibility", 14 | "a11y", 15 | "input", 16 | "javascript" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "tests" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/grid/_size.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group grid 7 | //// 8 | 9 | /// Set the width of a grid column. 10 | /// 11 | /// @param {Number|List} $width [$grid-column-count] - Width to make the column. You can pass in any value accepted by the `grid-column()` function, such as `6`, `50%`, or `1 of 2`. 12 | @mixin grid-column-size( 13 | $columns: $grid-column-count 14 | ) { 15 | width: grid-column($columns); 16 | } 17 | 18 | /// Shorthand for `grid-column-size()`. 19 | /// @alias grid-column-size 20 | @mixin grid-col-size( 21 | $columns: $grid-column-count 22 | ) { 23 | @include grid-column-size($columns); 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | // Support: Safari 8 only 9 | // In Safari 8 documents created via document.implementation.createHTMLDocument 10 | // collapse sibling forms: the second one becomes a child of the first one. 11 | // Because of that, this security measure has to be disabled in Safari 8. 12 | // https://bugs.webkit.org/show_bug.cgi?id=137337 13 | support.createHTMLDocument = ( function() { 14 | var body = document.implementation.createHTMLDocument( "" ).body; 15 | body.innerHTML = "
"; 16 | return body.childNodes.length === 2; 17 | } )(); 18 | 19 | return support; 20 | } ); 21 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foundation-sites", 3 | "version": "6.4.3", 4 | "license": "MIT", 5 | "main": [ 6 | "scss/foundation.scss", 7 | "dist/js/foundation.js" 8 | ], 9 | "ignore": [ 10 | "config", 11 | "docs", 12 | "gulp", 13 | "lib", 14 | "test", 15 | "composer.json", 16 | "CONTRIBUTING.md", 17 | "gulpfile.js", 18 | "meteor-README.md", 19 | "package.js", 20 | "package.json", 21 | "sache.json", 22 | ".editorconfig", 23 | ".npm", 24 | ".gitignore", 25 | ".npmignore", 26 | ".versions", 27 | ".babelrc", 28 | "yarn.lock" 29 | ], 30 | "dependencies": { 31 | "jquery": ">= 3.0.0", 32 | "what-input": "~4.1.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_to-list.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Casts `$value` into a list. 3 | /// 4 | /// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-to-list 5 | /// 6 | /// @param {*} $value - value to cast to list 7 | /// @param {String} $separator [space] - separator to use 8 | /// 9 | /// @example 10 | /// sl-to-list(a b c, comma) 11 | /// // a, b, c 12 | /// 13 | /// @return {List} 14 | /// 15 | 16 | @function sl-to-list($value, $separator: list-separator($value)) { 17 | @return join((), $value, $separator); 18 | } 19 | 20 | /// 21 | /// @requires sl-to-list 22 | /// @alias sl-to-list 23 | /// 24 | 25 | @function sl-listify($value) { 26 | @return sl-to-list($value); 27 | } 28 | -------------------------------------------------------------------------------- /bower_components/jquery/src/deferred/exceptionHook.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../deferred" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | // These usually indicate a programmer mistake during development, 9 | // warn about them ASAP rather than swallowing them by default. 10 | var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 11 | 12 | jQuery.Deferred.exceptionHook = function( error, stack ) { 13 | 14 | // Support: IE 8 - 9 only 15 | // Console exists when dev tools are open, which can happen at any time 16 | if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 17 | window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 18 | } 19 | }; 20 | 21 | } ); 22 | -------------------------------------------------------------------------------- /bower_components/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | "use strict"; 8 | 9 | // Based off of the plugin by Clint Helfers, with permission. 10 | // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 11 | jQuery.fn.delay = function( time, type ) { 12 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 13 | type = type || "fx"; 14 | 15 | return this.queue( type, function( next, hooks ) { 16 | var timeout = window.setTimeout( next, time ); 17 | hooks.stop = function() { 18 | window.clearTimeout( timeout ); 19 | }; 20 | } ); 21 | }; 22 | 23 | return jQuery.fn.delay; 24 | } ); 25 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/motion-ui.scss: -------------------------------------------------------------------------------- 1 | // Motion UI by ZURB 2 | // foundation.zurb.com/motion-ui 3 | // Licensed under MIT Open Source 4 | 5 | @import 'settings'; 6 | 7 | @import 'util/animation'; 8 | @import 'util/args'; 9 | @import 'util/keyframe'; 10 | @import 'util/selector'; 11 | @import 'util/series'; 12 | @import 'util/transition'; 13 | @import 'util/unit'; 14 | 15 | @import 'effects/fade'; 16 | @import 'effects/hinge'; 17 | @import 'effects/spin'; 18 | @import 'effects/zoom'; 19 | @import 'effects/shake'; 20 | @import 'effects/slide'; 21 | @import 'effects/wiggle'; 22 | 23 | @import 'transitions/fade'; 24 | @import 'transitions/hinge'; 25 | @import 'transitions/zoom'; 26 | @import 'transitions/slide'; 27 | @import 'transitions/spin'; 28 | 29 | @import 'classes'; 30 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_sticky.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | @mixin foundation-sticky { 6 | .sticky-container { 7 | position: relative; 8 | } 9 | 10 | .sticky { 11 | position: relative; 12 | z-index: 0; 13 | transform: translate3d(0, 0, 0); 14 | } 15 | 16 | .sticky.is-stuck { 17 | position: fixed; 18 | z-index: 5; 19 | width: 100%; 20 | 21 | &.is-at-top { 22 | top: 0; 23 | } 24 | 25 | &.is-at-bottom { 26 | bottom: 0; 27 | } 28 | } 29 | 30 | .sticky.is-anchored { 31 | position: relative; 32 | right: auto; 33 | left: auto; 34 | 35 | &.is-at-bottom { 36 | bottom: 0; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery, noGlobal ) { 4 | 5 | "use strict"; 6 | 7 | var 8 | 9 | // Map over jQuery in case of overwrite 10 | _jQuery = window.jQuery, 11 | 12 | // Map over the $ in case of overwrite 13 | _$ = window.$; 14 | 15 | jQuery.noConflict = function( deep ) { 16 | if ( window.$ === jQuery ) { 17 | window.$ = _$; 18 | } 19 | 20 | if ( deep && window.jQuery === jQuery ) { 21 | window.jQuery = _jQuery; 22 | } 23 | 24 | return jQuery; 25 | }; 26 | 27 | // Expose jQuery and $ identifiers, even in AMD 28 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 29 | // and CommonJS for browser emulators (#13566) 30 | if ( !noGlobal ) { 31 | window.jQuery = window.$ = jQuery; 32 | } 33 | 34 | } ); 35 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | 4 | "../event", 5 | "./trigger" 6 | ], function( jQuery ) { 7 | 8 | "use strict"; 9 | 10 | jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + 11 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 12 | "change select submit keydown keypress keyup contextmenu" ).split( " " ), 13 | function( i, name ) { 14 | 15 | // Handle event binding 16 | jQuery.fn[ name ] = function( data, fn ) { 17 | return arguments.length > 0 ? 18 | this.on( name, null, data, fn ) : 19 | this.trigger( name ); 20 | }; 21 | } ); 22 | 23 | jQuery.fn.extend( { 24 | hover: function( fnOver, fnOut ) { 25 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 26 | } 27 | } ); 28 | 29 | } ); 30 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/forms/_help-text.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group forms 7 | //// 8 | 9 | /// Default color for help text. 10 | /// @type Color 11 | $helptext-color: $black !default; 12 | 13 | /// Default font size for help text. 14 | /// @type Number 15 | $helptext-font-size: rem-calc(13) !default; 16 | 17 | /// Default font style for help text. 18 | /// @type Keyword 19 | $helptext-font-style: italic !default; 20 | 21 | @mixin foundation-form-helptext { 22 | .help-text { 23 | $margin-top: ($form-spacing * 0.5) * -1; 24 | 25 | margin-top: $margin-top; 26 | font-size: $helptext-font-size; 27 | font-style: $helptext-font-style; 28 | color: $helptext-color; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_contain.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Returns whether `$list` contains `$value`. 3 | /// 4 | /// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-contain 5 | /// 6 | /// @param {List} $list - list to check 7 | /// @param {*} $value - value to look for 8 | /// 9 | /// @example 10 | /// sl-contain(a b c, a) 11 | /// // true 12 | /// 13 | /// @example 14 | /// sl-contain(a b c, z) 15 | /// // false 16 | /// 17 | /// @return {Bool} 18 | /// 19 | 20 | @function sl-contain($list, $value) { 21 | @return not not index($list, $value); 22 | } 23 | 24 | /// 25 | /// @requires sl-contain 26 | /// @alias sl-contain 27 | /// 28 | 29 | @function sl-include($list, $value) { 30 | @return sl-contain($list, $value); 31 | } 32 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/plugins/foundation.core.js: -------------------------------------------------------------------------------- 1 | import $ from 'jquery'; 2 | 3 | import { Foundation } from '../../foundation.core'; 4 | Foundation.addToJquery($); 5 | 6 | // These are now separated out, but historically were a part of this module, 7 | // and since this is here for backwards compatibility we include them in 8 | // this entry. 9 | import {rtl, GetYoDigits, transitionend} from '../../foundation.util.core'; 10 | Foundation.rtl = rtl; 11 | Foundation.GetYoDigits = GetYoDigits; 12 | Foundation.transitionend = transitionend; 13 | 14 | // Every plugin depends on plugin now, we can include that on the core for the 15 | // script inclusion path. 16 | 17 | import { Plugin } from '../../foundation.plugin'; 18 | Foundation.Plugin = Plugin; 19 | 20 | 21 | window.Foundation = Foundation; 22 | -------------------------------------------------------------------------------- /catalogue.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: category 3 | data: catalogue 4 | --- 5 | ### Catalogue 6 | This is the catalogue landing page. This might be a description of the kinds of items or services your project offers. Maybe you'll want to toss a picture in there. I've just put a placeholder in for this starter kit, but when building out an actual conent first prototype, you'd want to be sure that the images you use are the ones that will actually accompany the rest of your content (because images are content!). 7 | 8 | Just down below, you see the full list of catalogue items as we've established in the _data spreadsheet. The representation is different from what you saw on the home page, but remember: all of the data is coming from the same place. Update a label, or some text, or an image here, and it will update everywhere else that it is shows. -------------------------------------------------------------------------------- /bower_components/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./deferred/exceptionHook", 8 | "./core/ready", 9 | "./data", 10 | "./queue", 11 | "./queue/delay", 12 | "./attributes", 13 | "./event", 14 | "./event/focusin", 15 | "./manipulation", 16 | "./manipulation/_evalUrl", 17 | "./wrap", 18 | "./css", 19 | "./css/hiddenVisibleSelectors", 20 | "./serialize", 21 | "./ajax", 22 | "./ajax/xhr", 23 | "./ajax/script", 24 | "./ajax/jsonp", 25 | "./ajax/load", 26 | "./event/ajax", 27 | "./effects", 28 | "./effects/animatedSelector", 29 | "./offset", 30 | "./dimensions", 31 | "./deprecated", 32 | "./exports/amd", 33 | "./exports/global" 34 | ], function( jQuery ) { 35 | 36 | "use strict"; 37 | 38 | return jQuery; 39 | 40 | } ); 41 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/getAll.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../core/nodeName" 4 | ], function( jQuery, nodeName ) { 5 | 6 | "use strict"; 7 | 8 | function getAll( context, tag ) { 9 | 10 | // Support: IE <=9 - 11 only 11 | // Use typeof to avoid zero-argument method invocation on host objects (#15151) 12 | var ret; 13 | 14 | if ( typeof context.getElementsByTagName !== "undefined" ) { 15 | ret = context.getElementsByTagName( tag || "*" ); 16 | 17 | } else if ( typeof context.querySelectorAll !== "undefined" ) { 18 | ret = context.querySelectorAll( tag || "*" ); 19 | 20 | } else { 21 | ret = []; 22 | } 23 | 24 | if ( tag === undefined || tag && nodeName( context, tag ) ) { 25 | return jQuery.merge( [ context ], ret ); 26 | } 27 | 28 | return ret; 29 | } 30 | 31 | return getAll; 32 | } ); 33 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/effects/_fade.scss: -------------------------------------------------------------------------------- 1 | /// Creates a fading animation. 2 | /// @param {Number} $from [0] - Opacity to start at. 3 | /// @param {Number} $to [1] - Opacity to end at. 4 | /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin. 5 | @function fade( 6 | $from: 0, 7 | $to: 1 8 | ) { 9 | $type: type-of($from); 10 | $keyframes: (); 11 | 12 | @if $type == 'string' { 13 | @if $from == in { 14 | $from: 0; 15 | $to: 1; 16 | } @else if $from == out { 17 | $from: 1; 18 | $to: 0; 19 | } 20 | } 21 | 22 | $fromName: $from * 100; 23 | $toName: $to * 100; 24 | 25 | $keyframes: ( 26 | name: 'fade-#{$fromName}-to-#{$toName}', 27 | 0: (opacity: $from), 28 | 100: (opacity: $to), 29 | ); 30 | 31 | @return $keyframes; 32 | } 33 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_remove.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Removes value(s) `$value` from `$list`. 3 | /// 4 | /// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-remove 5 | /// 6 | /// @requires sl-replace 7 | /// 8 | /// @param {List} $list - list to update 9 | /// @param {*} $value - value to remove 10 | /// 11 | /// @example 12 | /// sl-remove(a b c, a) 13 | /// // b c 14 | /// 15 | /// @return {List} 16 | /// 17 | 18 | @function sl-remove($list, $value) { 19 | $_: sl-missing-dependencies('sl-replace'); 20 | 21 | @return sl-replace($list, $value, null); 22 | } 23 | 24 | /// 25 | /// @requires sl-remove 26 | /// @alias sl-remove 27 | /// 28 | 29 | @function sl-without($list, $value) { 30 | @return sl-remove($list, $value); 31 | } 32 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "content-first-prototyping", 3 | "version": "1.0.0", 4 | "description": "Basic framework for a Content First Prototyping project", 5 | "main": "gulpfile.js", 6 | "devDependencies": { 7 | "browser-sync": "^2.11.1", 8 | "gulp": "^3.9.0", 9 | "gulp-sass": "^2.2.0", 10 | "gulp-sequence": "^0.4.4", 11 | "gulp-sheets2json": "^1.0.1", 12 | "gulp-sourcemaps": "^1.6.0" 13 | }, 14 | "scripts": { 15 | "start": "gulp" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "git://github.com/andybywire/content-first-prototyping.git" 20 | }, 21 | "keywords": [ 22 | "prototyping", 23 | "prototype", 24 | "content-first" 25 | ], 26 | "author": "Andy Fitzgerald ", 27 | "license": "ISC", 28 | "private": true 29 | } 30 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Checks whether `$functions` exist in global scope. 3 | /// 4 | /// @access private 5 | /// 6 | /// @param {ArgList} $functions - list of functions to check for 7 | /// 8 | /// @return {Bool} Whether or not there are missing dependencies 9 | /// 10 | 11 | @function sl-missing-dependencies($functions...) { 12 | $missing-dependencies: (); 13 | 14 | @each $function in $functions { 15 | @if not function-exists($function) { 16 | $missing-dependencies: append($missing-dependencies, $function, comma); 17 | } 18 | } 19 | 20 | @if length($missing-dependencies) > 0 { 21 | @error 'Unmet dependencies! The following functions are required: #{$missing-dependencies}.'; 22 | } 23 | 24 | @return length($missing-dependencies) > 0; 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/effects/_spin.scss: -------------------------------------------------------------------------------- 1 | /// Creates a spinning animation. 2 | /// @param {Keyword} $direction [cw] - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise). 3 | /// @param {Number} $amount [360deg] - Amount to spin. Can be any CSS angle unit. 4 | /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin. 5 | @function spin( 6 | $state: in, 7 | $direction: cw, 8 | $amount: 1turn 9 | ) { 10 | $start: 0; 11 | $end: 0; 12 | 13 | @if $state == in { 14 | $start: if($direction == ccw, $amount, $amount * -1); 15 | $end: 0; 16 | } @else { 17 | $start: 0; 18 | $end: if($direction == ccw, $amount * -1, $amount); 19 | } 20 | 21 | $keyframes: ( 22 | name: 'spin-#{$direction}-#{$amount}', 23 | 0: (transform: rotate($start)), 24 | 100: (transform: rotate($end)), 25 | ); 26 | 27 | @return $keyframes; 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/forms/_forms.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group forms 7 | //// 8 | 9 | /// Global spacing for form elements. 10 | /// @type Number 11 | $form-spacing: rem-calc(16) !default; 12 | 13 | @import 'text'; 14 | @import 'checkbox'; 15 | @import 'label'; 16 | @import 'help-text'; 17 | @import 'input-group'; 18 | @import 'fieldset'; 19 | @import 'select'; 20 | @import 'range'; 21 | @import 'progress'; 22 | @import 'meter'; 23 | @import 'error'; 24 | 25 | @mixin foundation-forms { 26 | @include foundation-form-text; 27 | @include foundation-form-checkbox; 28 | @include foundation-form-label; 29 | @include foundation-form-helptext; 30 | @include foundation-form-prepostfix; 31 | @include foundation-form-fieldset; 32 | @include foundation-form-select; 33 | @include foundation-form-error; 34 | } 35 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.min.js: -------------------------------------------------------------------------------- 1 | "use strict";!function(t){function e(t,e,i){var a,s,n=this,r=e.duration,o=Object.keys(t.data())[0]||"timer",u=-1;this.isPaused=!1,this.restart=function(){u=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),u=u<=0?r:u,t.data("paused",!1),a=Date.now(),s=setTimeout(function(){e.infinite&&n.restart(),i&&"function"==typeof i&&i()},u),t.trigger("timerstart.zf."+o)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();u-=e-a,t.trigger("timerpaused.zf."+o)}}function i(e,i){function a(){s--,0===s&&i()}var s=e.length;0===s&&i(),e.each(function(){if(this.complete||4===this.readyState||"complete"===this.readyState)a();else{var e=t(this).attr("src");t(this).attr("src",e+(e.indexOf("?")>=0?"&":"?")+(new Date).getTime()),t(this).one("load",function(){a()})}})}Foundation.Timer=e,Foundation.onImagesLoaded=i}(jQuery); -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_purge.scss: -------------------------------------------------------------------------------- 1 | /// Removes all false and null values from `$list`. 2 | /// 3 | /// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-purge 4 | /// 5 | /// @requires sl-is-true 6 | /// @requires sl-to-list 7 | /// 8 | /// @param {List} $list - list to purge 9 | /// 10 | /// @example 11 | /// sl-purge(null a false b) 12 | /// // a b 13 | /// 14 | /// @return {List} 15 | /// 16 | 17 | @function sl-purge($list) { 18 | $_: sl-missing-dependencies('sl-is-true', 'sl-to-list'); 19 | 20 | $result: (); 21 | 22 | @each $item in $list { 23 | @if sl-is-true($item) { 24 | $result: append($result, $item, list-separator($list)); 25 | } 26 | } 27 | 28 | @return sl-to-list($result); 29 | } 30 | 31 | /// 32 | /// @requires sl-purge 33 | /// @alias sl-purge 34 | /// 35 | 36 | @function sl-clean($list) { 37 | @return sl-purge($list); 38 | } 39 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_arrow.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-arrow 7 | //// 8 | 9 | /// Map containing all the `arrow` direction 10 | /// @type Map 11 | $prototype-arrow-directions: ( 12 | down, 13 | up, 14 | right, 15 | left 16 | ) !default; 17 | 18 | /// Width of the Arrow, `0.4375rem` by default. 19 | /// @type Number 20 | $prototype-arrow-size: 0.4375rem; 21 | 22 | /// Color of the Arrow, `$black` by default. 23 | /// @type Color 24 | $prototype-arrow-color: $black; 25 | 26 | @mixin foundation-prototype-arrow { 27 | @each $prototype-arrow-direction in $prototype-arrow-directions { 28 | .arrow-#{$prototype-arrow-direction} { 29 | @include css-triangle( 30 | $prototype-arrow-size, 31 | $prototype-arrow-color, 32 | $prototype-arrow-direction 33 | ); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_border-box.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-border-box 7 | //// 8 | 9 | /// Responsive breakpoints for border box. 10 | /// @type Boolean 11 | $prototype-border-box-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Border box utility 14 | @mixin border-box { 15 | box-sizing: border-box !important; 16 | } 17 | 18 | @mixin foundation-prototype-border-box { 19 | .border-box { 20 | @include border-box; 21 | } 22 | 23 | @if ($prototype-border-box-breakpoints) { 24 | // Loop through Responsive Breakpoints 25 | @each $size in $breakpoint-classes { 26 | @include breakpoint($size) { 27 | @if $size != $-zf-zero-breakpoint { 28 | .#{$size}-border-box { 29 | @include border-box; 30 | } 31 | } 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_border-none.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-border-none 7 | //// 8 | 9 | /// Responsive breakpoints for border none. 10 | /// @type Boolean 11 | $prototype-border-none-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Border none utility 14 | @mixin border-none { 15 | border: none !important; 16 | } 17 | 18 | @mixin foundation-prototype-border-none { 19 | .border-none { 20 | @include border-none; 21 | } 22 | 23 | @if ($prototype-border-none-breakpoints) { 24 | // Loop through Responsive Breakpoints 25 | @each $size in $breakpoint-classes { 26 | @include breakpoint($size) { 27 | @if $size != $-zf-zero-breakpoint { 28 | .#{$size}-border-none { 29 | @include border-none; 30 | } 31 | } 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_rotate.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-rotate 7 | //// 8 | 9 | /// Rotate Mixin: Rotate an element to a certain deg 10 | /// @param {Number} $deg[] Degree of rotation 11 | @mixin rotate($deg) { 12 | transform:rotate($deg + deg); 13 | } 14 | 15 | /// RotateX Mixin: Rotate an element to a certain deg on X-Axis 16 | /// @param {Number} $deg[] Degree of rotation 17 | @mixin rotateX($deg) { 18 | transform:rotateX($deg + deg); 19 | } 20 | 21 | /// RotateY Mixin: Rotate an element to a certain deg on Y-Axis 22 | /// @param {Number} $deg[] Degree of rotation 23 | @mixin rotateY($deg) { 24 | transform:rotateY($deg + deg); 25 | } 26 | 27 | /// RotateZ Mixin: Rotate an element to a certain deg on Z-Axis 28 | /// @param {Number} $deg[] Degree of rotation 29 | @mixin rotateZ($deg) { 30 | transform:rotateZ($deg + deg); 31 | } -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/wrapMap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | // We have to close these tags to support XHTML (#13200) 6 | var wrapMap = { 7 | 8 | // Support: IE <=9 only 9 | option: [ 1, "" ], 10 | 11 | // XHTML parsers do not magically insert elements in the 12 | // same way that tag soup parsers do. So we cannot shorten 13 | // this by omitting or other required elements. 14 | thead: [ 1, "", "
" ], 15 | col: [ 2, "", "
" ], 16 | tr: [ 2, "", "
" ], 17 | td: [ 3, "", "
" ], 18 | 19 | _default: [ 0, "", "" ] 20 | }; 21 | 22 | // Support: IE <=9 only 23 | wrapMap.optgroup = wrapMap.option; 24 | 25 | wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 26 | wrapMap.th = wrapMap.td; 27 | 28 | return wrapMap; 29 | } ); 30 | -------------------------------------------------------------------------------- /bower_components/jquery/src/attributes/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | ( function() { 9 | var input = document.createElement( "input" ), 10 | select = document.createElement( "select" ), 11 | opt = select.appendChild( document.createElement( "option" ) ); 12 | 13 | input.type = "checkbox"; 14 | 15 | // Support: Android <=4.3 only 16 | // Default value for a checkbox should be "on" 17 | support.checkOn = input.value !== ""; 18 | 19 | // Support: IE <=11 only 20 | // Must access selectedIndex to make default options select 21 | support.optSelected = opt.selected; 22 | 23 | // Support: IE <=11 only 24 | // An input loses its value after becoming a radio 25 | input = document.createElement( "input" ); 26 | input.value = "t"; 27 | input.type = "radio"; 28 | support.radioValue = input.value === "t"; 29 | } )(); 30 | 31 | return support; 32 | 33 | } ); 34 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/browserstack.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "rafibenkual1", 3 | "key": "t42z8wSsqUfpumsyRcyV", 4 | "test_path": "test/javascript/index.html", 5 | "test_framework": "mocha", 6 | "browsers": [ 7 | { 8 | "browser": "chrome", 9 | "browser_version": "latest", 10 | "os": "OS X", 11 | "os_version": "Sierra" 12 | }, 13 | { 14 | "browser": "firefox", 15 | "browser_version": "latest", 16 | "os": "Windows", 17 | "os_version": "7" 18 | }, 19 | { 20 | "browser": "ie", 21 | "browser_version": "latest", 22 | "os": "Windows", 23 | "os_version": "10" 24 | }, 25 | { 26 | "browser": "safari", 27 | "browser_version": "latest", 28 | "os": "OS X", 29 | "os_version": "Yosemite" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/util/_direction.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group functions 7 | //// 8 | 9 | /// Returns the opposite direction of $dir 10 | /// 11 | /// @param {Keyword} $dir - Used direction between "top", "right", "bottom" and "left". 12 | /// @return {Keyword} Opposite direction of $dir 13 | @function direction-opposite( 14 | $dir 15 | ) { 16 | $dirs: (top, right, bottom, left); 17 | $place: index($dirs, $dir); 18 | 19 | @if $place == null { 20 | @error 'direction-opposite: Invalid $dir parameter, expected a value from "#{$dirs}", found "#{$dir}".'; 21 | @return null; 22 | } 23 | 24 | // Calcul the opposite place in a circle, with a starting index of 1 25 | $length: length($dirs); 26 | $demi: $length / 2; 27 | $opposite-place: (($place + $demi - 1) % $length) + 1; 28 | 29 | @return nth($dirs, $opposite-place); 30 | } 31 | 32 | -------------------------------------------------------------------------------- /bower_components/motion-ui/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "motion-ui", 3 | "version": "1.2.3", 4 | "authors": [ 5 | "ZURB " 6 | ], 7 | "description": "Sass library for creating transitions and animations.", 8 | "main": [ 9 | "dist/motion-ui.css", 10 | "dist/motion-ui.js" 11 | ], 12 | "keywords": [ 13 | "Sass", 14 | "motion" 15 | ], 16 | "license": "MIT", 17 | "ignore": [ 18 | "**/.*", 19 | "_build", 20 | "node_modules", 21 | "bower_components", 22 | "docs/src", 23 | "test" 24 | ], 25 | "dependencies": { 26 | "jquery": ">=2.2.0" 27 | }, 28 | "homepage": "https://github.com/zurb/motion-ui", 29 | "_release": "1.2.3", 30 | "_resolution": { 31 | "type": "version", 32 | "tag": "v1.2.3", 33 | "commit": "24e169ca46a3585503fa3ec4ace8821e910c9460" 34 | }, 35 | "_source": "https://github.com/zurb/motion-ui.git", 36 | "_target": "~1.2.3", 37 | "_originalSource": "motion-ui" 38 | } -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/forms/_checkbox.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group forms 7 | //// 8 | 9 | @mixin foundation-form-checkbox { 10 | [type='file'], 11 | [type='checkbox'], 12 | [type='radio'] { 13 | margin: 0 0 $form-spacing; 14 | } 15 | 16 | // Styles for input/label siblings 17 | [type='checkbox'] + label, 18 | [type='radio'] + label { 19 | display: inline-block; 20 | vertical-align: baseline; 21 | 22 | margin-#{$global-left}: $form-spacing * 0.5; 23 | margin-#{$global-right}: $form-spacing; 24 | margin-bottom: 0; 25 | 26 | &[for] { 27 | cursor: pointer; 28 | } 29 | } 30 | 31 | // Styles for inputs inside labels 32 | label > [type='checkbox'], 33 | label > [type='radio'] { 34 | margin-#{$global-right}: $form-spacing * 0.5; 35 | } 36 | 37 | // Normalize file input width 38 | [type='file'] { 39 | width: 100%; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/util/_selector.scss: -------------------------------------------------------------------------------- 1 | /// Builds a selector for a motion class, using the settings defined in the `$motion-ui-classes` and `$motion-ui-states` maps. 2 | /// @param {String|List} $states - One or more strings that correlate to a state. 3 | /// @param {Boolean} $active - Defines if the selector is for the setup or active class. 4 | /// @return {String} A selector that can be interpolated into your Sass code. 5 | /// @access private 6 | @function -mui-build-selector($states, $active: false) { 7 | $return: ''; 8 | $chain: map-get($motion-ui-classes, chain); 9 | $prefix: map-get($motion-ui-classes, prefix); 10 | $suffix: map-get($motion-ui-classes, active); 11 | 12 | @each $sel in $states { 13 | $return: $return + if($chain, '&.', '#{&}-') + $prefix + $sel; 14 | 15 | @if $active { 16 | $return: $return + if($chain, '.', '#{&}-') + $prefix + $sel + $suffix; 17 | } 18 | 19 | $return: $return + ', '; 20 | } 21 | 22 | @return str-slice($return, 1, -3); 23 | } 24 | -------------------------------------------------------------------------------- /bower_components/what-input/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "what-input", 3 | "version": "4.1.6", 4 | "homepage": "https://github.com/ten1seven/what-input", 5 | "repository": { 6 | "url": "https://github.com/ten1seven/what-input.git", 7 | "type": "git" 8 | }, 9 | "author": "Jeremy Fields ", 10 | "description": "A global utility for tracking the current input method (mouse, keyboard or touch).", 11 | "main": "dist/what-input.js", 12 | "keywords": [ 13 | "accessibility", 14 | "a11y", 15 | "input", 16 | "javascript" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "tests" 25 | ], 26 | "_release": "4.1.6", 27 | "_resolution": { 28 | "type": "version", 29 | "tag": "v4.1.6", 30 | "commit": "dab188a752f9b0b847b050d7cb4e837e0d1bdcea" 31 | }, 32 | "_source": "https://github.com/ten1seven/what-input.git", 33 | "_target": "~4.1.3", 34 | "_originalSource": "what-input" 35 | } -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/xy-grid/_position.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group xy-grid 7 | //// 8 | 9 | /// Offsets a column to the right/bottom by `$n` columns. 10 | /// 11 | /// @param {Number|List} $n - Size to offset by. You can pass in any value accepted by the `zf-cell()` mixin, such as `6`, `50%`, or `1 of 2`. 12 | /// @param {Boolean} $vertical [false] Sets the direction of the offset. If set to true will apply margin-top instead. 13 | @mixin xy-cell-offset( 14 | $n, 15 | $gutters: $grid-margin-gutters, 16 | $gutter-type: margin, 17 | $breakpoint: $-zf-zero-breakpoint, 18 | $vertical: false 19 | ) { 20 | $direction: if($vertical, 'top', $global-left); 21 | 22 | @include -zf-breakpoint-value($breakpoint, $gutters) { 23 | $gutter: rem-calc($-zf-bp-value) / 2; 24 | $size: if($gutter-type == 'margin', calc(#{xy-cell-size($n)} + #{$gutter}), #{xy-cell-size($n)}); 25 | 26 | margin-#{$direction}: #{$size}; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/customizer/complete.json: -------------------------------------------------------------------------------- 1 | { 2 | "modules": [ 3 | "xy_grid", 4 | "flex_classes", 5 | "typography", 6 | "button", 7 | "forms", 8 | "abide", 9 | "accordion", 10 | "accordion_menu", 11 | "badge", 12 | "breadcrumbs", 13 | "button_group", 14 | "card", 15 | "callout", 16 | "close_button", 17 | "menu", 18 | "menu_icon", 19 | "drilldown_menu", 20 | "dropdown", 21 | "dropdown_menu", 22 | "equalizer", 23 | "responsive_embed", 24 | "interchange", 25 | "label", 26 | "magellan", 27 | "media_object", 28 | "off_canvas", 29 | "orbit", 30 | "pagination", 31 | "progress_bar", 32 | "responsive_menu", 33 | "responsive_toggle", 34 | "reveal", 35 | "slider", 36 | "sticky", 37 | "switch", 38 | "table", 39 | "tabs", 40 | "thumbnail", 41 | "title_bar", 42 | "toggler", 43 | "tooltip", 44 | "top_bar", 45 | "visibility", 46 | "responsive_accordion_tabs", 47 | "float" 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/transitions/_fade.scss: -------------------------------------------------------------------------------- 1 | /// Creates a fade transition by adjusting the opacity of the element. 2 | /// @param {Keyword} $state [in] - State to transition to. 3 | /// @param {Number} $from [0] - Opacity to start at. Must be a number between 0 and 1. 4 | /// @param {Number} $to [1] - Opacity to end on. 5 | /// @param {Keyword} $duration [null] - Length (speed) of the transition. 6 | /// @param {Keyword|Function} $timing [null] - Easing of the transition. 7 | /// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts. 8 | @mixin mui-fade( 9 | $state: in, 10 | $from: 0, 11 | $to: 1, 12 | $duration: null, 13 | $timing: null, 14 | $delay: null 15 | ) { 16 | $fade: fade($from, $to); 17 | 18 | @include transition-start($state) { 19 | @include transition-basics($duration, $timing, $delay); 20 | @include -mui-keyframe-get($fade, 0); 21 | 22 | transition-property: opacity; 23 | } 24 | 25 | @include transition-end($state) { 26 | @include -mui-keyframe-get($fade, 100); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/xy-grid/_grid.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group xy-grid 7 | //// 8 | 9 | /// Creates a max width container, designed to house your grid content. 10 | /// 11 | /// @param {Number} $width [$grid-container] - a width to limit the container to. 12 | @mixin xy-grid-container( 13 | $width: $grid-container, 14 | $padding: $grid-container-padding 15 | ) { 16 | @include xy-gutters($gutters: $padding, $gutter-type: padding); 17 | 18 | max-width: $width; 19 | margin: 0 auto; 20 | } 21 | 22 | /// Creates a container for your flex cells. 23 | /// 24 | /// @param {Keyword} $direction [horizontal] - Either horizontal or vertical direction of cells within. 25 | /// @param {Boolean} $wrap [true] - If the cells within should wrap or not. 26 | @mixin xy-grid( 27 | $direction: horizontal, 28 | $wrap: true 29 | ) { 30 | $direction: if($direction == 'horizontal', row, column); 31 | $wrap: if($wrap, wrap, nowrap); 32 | 33 | display: flex; 34 | flex-flow: $direction $wrap; 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foundation-sites", 3 | "version": "6.4.3", 4 | "license": "MIT", 5 | "main": [ 6 | "scss/foundation.scss", 7 | "dist/js/foundation.js" 8 | ], 9 | "ignore": [ 10 | "config", 11 | "docs", 12 | "gulp", 13 | "lib", 14 | "test", 15 | "composer.json", 16 | "CONTRIBUTING.md", 17 | "gulpfile.js", 18 | "meteor-README.md", 19 | "package.js", 20 | "package.json", 21 | "sache.json", 22 | ".editorconfig", 23 | ".npm", 24 | ".gitignore", 25 | ".npmignore", 26 | ".versions", 27 | ".babelrc", 28 | "yarn.lock" 29 | ], 30 | "dependencies": { 31 | "jquery": ">= 3.0.0", 32 | "what-input": "~4.1.3" 33 | }, 34 | "homepage": "https://github.com/zurb/foundation-sites", 35 | "_release": "6.4.3", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v6.4.3", 39 | "commit": "4e21634356da296edd2f1c3e65d91140f991008b" 40 | }, 41 | "_source": "https://github.com/zurb/foundation-sites.git", 42 | "_target": "~6.4.0", 43 | "_originalSource": "foundation-sites" 44 | } -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/util/_selector.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group functions 7 | //// 8 | 9 | /// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors. 10 | /// 11 | /// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them. 12 | /// @param {Keyword} $modifier [''] - A modifier to be applied to each text input type (e.g. a class or a pseudo-class). Leave blank to ignore. 13 | @function text-inputs($types: (), $modifier: '') { 14 | $return: (); 15 | 16 | $all-types: 17 | text 18 | password 19 | date 20 | datetime 21 | datetime-local 22 | month 23 | week 24 | email 25 | number 26 | search 27 | tel 28 | time 29 | url 30 | color; 31 | 32 | @if not has-value($types) { 33 | $types: $all-types; 34 | } 35 | 36 | @each $type in $types { 37 | $return: append($return, unquote('[type=\'#{$type}\']#{$modifier}'), comma); 38 | } 39 | 40 | @return $return; 41 | } 42 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports/amd.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | // Register as a named AMD module, since jQuery can be concatenated with other 8 | // files that may use define, but not via a proper concatenation script that 9 | // understands anonymous AMD modules. A named AMD is safest and most robust 10 | // way to register. Lowercase jquery is used because AMD module names are 11 | // derived from file names, and jQuery is normally delivered in a lowercase 12 | // file name. Do this after creating the global so that if an AMD module wants 13 | // to call noConflict to hide this version of jQuery, it will work. 14 | 15 | // Note that for maximum portability, libraries that are not jQuery should 16 | // declare themselves as anonymous modules, and avoid setting a global if an 17 | // AMD loader is present. jQuery is a special case. For more information, see 18 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 19 | 20 | if ( typeof define === "function" && define.amd ) { 21 | define( "jquery", [], function() { 22 | return jQuery; 23 | } ); 24 | } 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/dist/js/plugins/foundation.util.imageLoader.min.js: -------------------------------------------------------------------------------- 1 | !function(n){function t(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return n[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var e={};t.m=n,t.c=e,t.i=function(n){return n},t.d=function(n,e,o){t.o(n,e)||Object.defineProperty(n,e,{configurable:!1,enumerable:!0,get:o})},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=101)}({0:function(n,t){n.exports=jQuery},1:function(n,t){n.exports={Foundation:window.Foundation}},101:function(n,t,e){n.exports=e(35)},35:function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=e(1),r=(e.n(o),e(65));o.Foundation.onImagesLoaded=r.a},65:function(n,t,e){"use strict";function o(n,t){function e(){0===--o&&t()}var o=n.length;0===o&&t(),n.each(function(){if(this.complete&&void 0!==this.naturalWidth)e();else{var n=new Image,t="load.zf.images error.zf.images";i()(n).one(t,function n(o){i()(this).off(t,n),e()}),n.src=i()(this).attr("src")}})}e.d(t,"a",function(){return o});var r=e(0),i=e.n(r)}}); -------------------------------------------------------------------------------- /bower_components/motion-ui/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2017 ZURB, inc. 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /bower_components/motion-ui/README.md: -------------------------------------------------------------------------------- 1 | # Motion UI 2 | 3 | [![CDNJS](https://img.shields.io/cdnjs/v/motion-ui.svg)](https://cdnjs.com/libraries/motion-ui/) 4 | 5 | A Sass library for creating CSS transitions and animations from your friends at [ZURB](http://zurb.com). Originally integrated into [Foundation for Apps](http://foundation.zurb.com/apps), the code is now a standalone library, soon to be used by [Foundation for Sites](http://foundation.zurb.com/sites) and Foundation for Apps. 6 | 7 | ## Installation 8 | 9 | - On npm: `npm install motion-ui` 10 | - On Bower: `bower install motion-ui` 11 | 12 | ## Demos 13 | 14 | [View live demos on the ZURB Playground.](http://zurb.com/playground/motion-ui) 15 | 16 | ## Documentation 17 | 18 | [View the documentation here.](docs) 19 | 20 | ## Develop Locally 21 | 22 | ``` 23 | git clone https://github.com/zurb/motion-ui 24 | cd motion-ui 25 | npm install 26 | ``` 27 | 28 | - Run `npm start` to compile test Sass/JS files, and to build the documentation. 29 | - **To make changes to the documentation, edit the files under `docs/src`. 30 | - Run `npm test` to run the unit tests. 31 | - Run `npm start dist` to compile distribution files. 32 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/util/_typography.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group functions 7 | //// 8 | 9 | $-zf-font-stack: ( 10 | 'georgia': (Georgia, "URW Bookman L", serif), 11 | 'helvetica': (Helvetica, Arial, "Nimbus Sans L", sans-serif), 12 | 'lucida-grande': ("Lucida Grande", "Lucida Sans Unicode", "Bitstream Vera Sans", sans-serif), 13 | 'monospace': ("Courier New", Courier, "Nimbus Sans L", monospace), 14 | 'system': (-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif), 15 | 'verdana': (Verdana, Geneva, "DejaVu Sans", sans-serif), 16 | ); 17 | 18 | /// Return a font stack list from a map. Equivalent to `map-safe-get($name, $-zf-font-stack)`. 19 | /// 20 | /// @param {String} $stack - Name of the font stack. 21 | /// @param {Map} $map [$-zf-font-stack] - Map of font stacks to retrieve a list from. 22 | /// 23 | /// @returns {List} Found font stack. 24 | @function font-stack($stack, $map: $-zf-font-stack) { 25 | @return map-safe-get($map, $stack); 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/what-input/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jeremy Fields 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2017 ZURB, inc. 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_replace.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Replaces `$old` by `$new` in `$list`. 3 | /// 4 | /// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-replace 5 | /// 6 | /// @requires sl-is-true 7 | /// @requires sl-purge 8 | /// @requires sl-to-list 9 | /// 10 | /// @param {List} $list - list to update 11 | /// @param {*} $old - value to replace 12 | /// @param {*} $value - new value for $old 13 | /// 14 | /// @example 15 | /// sl-replace(a b c, b, z) 16 | /// // a z c 17 | /// 18 | /// @example 19 | /// sl-replace(a b c, y, z) 20 | /// // a b c 21 | /// 22 | /// @return {List} 23 | /// 24 | 25 | @function sl-replace($list, $old, $value) { 26 | $_: sl-missing-dependencies('sl-is-true', 'sl-purge', 'sl-to-list'); 27 | 28 | $running: true; 29 | 30 | @while $running { 31 | $index: index($list, $old); 32 | 33 | @if not $index { 34 | $running: false; 35 | } 36 | 37 | @else { 38 | $list: set-nth($list, $index, $value); 39 | } 40 | 41 | } 42 | 43 | $list: if(sl-is-true($value), $list, sl-purge($list)); 44 | 45 | @return sl-to-list($list); 46 | } 47 | -------------------------------------------------------------------------------- /_includes/content-list.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Catalogue Items

4 | {% for item in site.data.catalogue | limit:"3" %} 5 | 10 | {% endfor %} 11 |
12 | 13 |
14 |

Directory

15 | {% for person in site.data.directory %} 16 | 21 | {% endfor %} 22 |
23 | 24 |
25 |

Events Feed

26 | {% for event in site.data.feed %} 27 |
    28 |
  • {{ event.event-name }} ({{ event.event-type }})
  • 29 |
30 | {% endfor %} 31 |
32 |
-------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | ( function() { 9 | var fragment = document.createDocumentFragment(), 10 | div = fragment.appendChild( document.createElement( "div" ) ), 11 | input = document.createElement( "input" ); 12 | 13 | // Support: Android 4.0 - 4.3 only 14 | // Check state lost if the name is set (#11217) 15 | // Support: Windows Web Apps (WWA) 16 | // `name` and `type` must use .setAttribute for WWA (#14901) 17 | input.setAttribute( "type", "radio" ); 18 | input.setAttribute( "checked", "checked" ); 19 | input.setAttribute( "name", "t" ); 20 | 21 | div.appendChild( input ); 22 | 23 | // Support: Android <=4.1 only 24 | // Older WebKit doesn't clone checked state correctly in fragments 25 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 26 | 27 | // Support: IE <=11 only 28 | // Make sure textarea (and checkbox) defaultValue is properly cloned 29 | div.innerHTML = ""; 30 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 31 | } )(); 32 | 33 | return support; 34 | 35 | } ); 36 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/effects/_slide.scss: -------------------------------------------------------------------------------- 1 | /// Creates a sliding animation. 2 | /// @param {Keyword} $state [in] - Whether to move to (`in`) or from (`out`) the element's default position. 3 | /// @param {Keyword} $direction [up] - Direction to move. Can be `up`, `down`, `left`, or `right`. 4 | /// @param {Number} $amount [100%] - Distance to move. Can be any CSS length unit. 5 | /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin. 6 | @function slide( 7 | $state: in, 8 | $direction: up, 9 | $amount: 100% 10 | ) { 11 | $from: $amount; 12 | $to: 0; 13 | $func: 'translateY'; 14 | 15 | @if $direction == left or $direction == right { 16 | $func: 'translateX'; 17 | } 18 | 19 | @if $state == out { 20 | $from: 0; 21 | $to: $amount; 22 | } 23 | 24 | @if $direction == down or $direction == right { 25 | @if $state == in { 26 | $from: -$from; 27 | } 28 | } @else { 29 | @if $state == out { 30 | $to: -$to; 31 | } 32 | } 33 | 34 | $keyframes: ( 35 | name: 'slide-#{$state}-#{$direction}-#{strip-unit($amount)}', 36 | 0: (transform: '#{$func}(#{$from})'), 37 | 100: (transform: '#{$func}(#{$to})'), 38 | ); 39 | 40 | @return $keyframes; 41 | } 42 | -------------------------------------------------------------------------------- /bower_components/motion-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "motion-ui", 3 | "version": "1.2.3", 4 | "description": "Sass library for creating transitions and animations.", 5 | "main": "dist/motion-ui.js", 6 | "scripts": { 7 | "start": "gulp", 8 | "test": "mocha" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/zurb/motion-ui.git" 13 | }, 14 | "keywords": [ 15 | "Sass", 16 | "motion" 17 | ], 18 | "author": "ZURB ", 19 | "license": "MIT", 20 | "bugs": { 21 | "url": "https://github.com/zurb/motion-ui/issues" 22 | }, 23 | "homepage": "http://zurb.com/playground/motion-ui", 24 | "devDependencies": { 25 | "gulp": "^3.9.0", 26 | "gulp-autoprefixer": "^3.0.2", 27 | "gulp-load-plugins": "^1.0.0-rc.1", 28 | "gulp-minify-css": "^1.2.1", 29 | "gulp-rename": "^1.2.2", 30 | "gulp-sass": "3.1.0", 31 | "gulp-scss-lint": "^0.3.6", 32 | "gulp-uglify": "^1.4.1", 33 | "gulp-umd": "^0.2.0", 34 | "handlebars": "^4.0.3", 35 | "mocha": "^2.3.3", 36 | "rimraf": "^2.4.3", 37 | "run-sequence": "^1.1.4", 38 | "sass-true": "^2.0.2", 39 | "supercollider": "^1.0.0" 40 | }, 41 | "dependencies": { 42 | "jquery": ">=2.2.0" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bower_components/what-input/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "what-input", 3 | "version": "4.1.6", 4 | "description": "A global utility for tracking the current input method (mouse, keyboard or touch).", 5 | "main": "dist/what-input.js", 6 | "repository": { 7 | "url": "https://github.com/ten1seven/what-input.git", 8 | "type": "git" 9 | }, 10 | "keywords": [ 11 | "accessibility", 12 | "a11y", 13 | "input", 14 | "javascript" 15 | ], 16 | "author": "Jeremy Fields ", 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/ten1seven/what-input/issues" 20 | }, 21 | "scripts": { 22 | "start": "gulp" 23 | }, 24 | "homepage": "https://github.com/ten1seven/what-input", 25 | "devDependencies": { 26 | "babel-core": "^6.23.1", 27 | "babel-loader": "^6.3.2", 28 | "babel-preset-es2015": "^6.22.0", 29 | "browser-sync": "2.11.1", 30 | "del": "2.2.0", 31 | "gulp": "3.9.1", 32 | "gulp-concat": "2.6.0", 33 | "gulp-header": "1.7.1", 34 | "gulp-notify": "2.2.0", 35 | "gulp-plumber": "1.1.0", 36 | "gulp-rename": "1.2.2", 37 | "gulp-standard": "^8.0.4", 38 | "gulp-uglify": "^2.0.0", 39 | "run-sequence": "1.1.5", 40 | "webpack-stream": "3.2.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_shadow.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-shadow 7 | //// 8 | 9 | /// Responsive breakpoints for shadow utility. 10 | /// @type Boolean 11 | $prototype-shadow-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Default value for `prototype-box-shadow` 14 | /// @type Number 15 | $prototype-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 16 | 0 2px 10px 0 rgba(0,0,0,.12) !default; 17 | 18 | /// Shadow Utility: Adds a light box shadow to an element by default. 19 | /// @param {Number} $shadow [$prototype-box-shadow] Box Shadow of a component 20 | @mixin shadow( 21 | $shadow: $prototype-box-shadow 22 | ) { 23 | box-shadow: $shadow; 24 | } 25 | 26 | @mixin foundation-prototype-shadow { 27 | .shadow { 28 | @include shadow; 29 | } 30 | 31 | @if ($prototype-shadow-breakpoints) { 32 | // Loop through Responsive Breakpoints 33 | @each $size in $breakpoint-classes { 34 | @include breakpoint($size) { 35 | @if $size != $-zf-zero-breakpoint { 36 | .#{$size}-shadow { 37 | @include shadow; 38 | } 39 | } 40 | } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/forms/_fieldset.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group forms 7 | //// 8 | 9 | /// Default border around custom fieldsets. 10 | /// @type Border 11 | $fieldset-border: 1px solid $medium-gray !default; 12 | 13 | /// Default padding inside custom fieldsets. 14 | /// @type Number 15 | $fieldset-padding: rem-calc(20) !default; 16 | 17 | /// Default margin around custom fieldsets. 18 | /// @type Number 19 | $fieldset-margin: rem-calc(18 0) !default; 20 | 21 | /// Default padding between the legend text and fieldset border. 22 | /// @type Number 23 | $legend-padding: rem-calc(0 3) !default; 24 | 25 | @mixin fieldset { 26 | margin: $fieldset-margin; 27 | padding: $fieldset-padding; 28 | border: $fieldset-border; 29 | 30 | legend { 31 | // Covers up the fieldset's border to create artificial padding 32 | margin: 0; 33 | margin-#{$global-left}: rem-calc(-3); 34 | padding: $legend-padding; 35 | } 36 | } 37 | 38 | @mixin foundation-form-fieldset { 39 | fieldset { 40 | margin: 0; 41 | padding: 0; 42 | border: 0; 43 | } 44 | 45 | legend { 46 | max-width: 100%; 47 | margin-bottom: $form-spacing * 0.5; 48 | } 49 | 50 | .fieldset { 51 | @include fieldset; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/forms/_label.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group forms 7 | //// 8 | 9 | /// Color for form labels. 10 | /// @type Color 11 | $form-label-color: $black !default; 12 | 13 | /// Font size for form labels. 14 | /// @type Number 15 | $form-label-font-size: rem-calc(14) !default; 16 | 17 | /// Font weight for form labels. 18 | /// @type Keyword 19 | $form-label-font-weight: $global-weight-normal !default; 20 | 21 | /// Line height for form labels. The higher the number, the more space between the label and its input field. 22 | /// @type Number 23 | $form-label-line-height: 1.8 !default; 24 | 25 | @mixin form-label { 26 | display: block; 27 | margin: 0; 28 | 29 | font-size: $form-label-font-size; 30 | font-weight: $form-label-font-weight; 31 | line-height: $form-label-line-height; 32 | color: $form-label-color; 33 | } 34 | 35 | @mixin form-label-middle { 36 | $input-border-width: get-border-value($input-border, width); 37 | 38 | margin: 0 0 $form-spacing; 39 | padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0; 40 | } 41 | 42 | @mixin foundation-form-label { 43 | label { 44 | @include form-label; 45 | 46 | &.middle { 47 | @include form-label-middle; 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bower_components/motion-ui/package.js: -------------------------------------------------------------------------------- 1 | Package.describe({ 2 | name: 'zurb:motion-ui', 3 | version: '1.2.2', 4 | summary: 'Sass library for creating transitions and animations', 5 | git: 'https://github.com/zurb/motion-ui.git', 6 | documentation: 'meteor-README.md' 7 | }); 8 | 9 | Package.onUse(function(api) { 10 | api.versionsFrom('1.2.1'); 11 | api.imply('fourseven:scss@3.4.1'); 12 | api.use(['ecmascript', 'jquery', 'fourseven:scss@3.4.1'], 'client'); 13 | api.addFiles('dist/motion-ui.js', 'client'); 14 | api.addFiles([ 15 | 'src/_settings.scss', 16 | 'src/util/_animation.scss', 17 | 'src/util/_args.scss', 18 | 'src/util/_keyframe.scss', 19 | 'src/util/_selector.scss', 20 | 'src/util/_series.scss', 21 | 'src/util/_transition.scss', 22 | 'src/util/_unit.scss', 23 | 'src/effects/_fade.scss', 24 | 'src/effects/_hinge.scss', 25 | 'src/effects/_spin.scss', 26 | 'src/effects/_zoom.scss', 27 | 'src/effects/_shake.scss', 28 | 'src/effects/_slide.scss', 29 | 'src/effects/_wiggle.scss', 30 | 'src/transitions/_fade.scss', 31 | 'src/transitions/_hinge.scss', 32 | 'src/transitions/_zoom.scss', 33 | 'src/transitions/_slide.scss', 34 | 'src/transitions/_spin.scss', 35 | 'src/_classes.scss', 36 | 'src/motion-ui.scss' 37 | ], 'client', {isImport: true}); 38 | }); 39 | -------------------------------------------------------------------------------- /bower_components/motion-ui/docs/javascript.md: -------------------------------------------------------------------------------- 1 | # JavaScript 2 | 3 | Motion UI includes a small JavaScript library that can play transitions, although this specific library is not required to take advantage of Motion UI's CSS. Animating in reveals a hidden element, while animating out hides a visible element. 4 | 5 | The library is available on `window.MotionUI`, or can imported with a module system. 6 | 7 | ## Usage 8 | 9 | The `MotionUI` object has two methods: `animateIn()` and `animateOut()`. Both functions take three parameters: 10 | 11 | - `element`: a DOM element to animate. 12 | - `animation`: a transition class to use. 13 | - `cb` (optional): a callback to run when the transition finishes. Within the callback, the value of `this` is the DOM element that was transitioned. 14 | 15 | Here's an example: 16 | 17 | ```js 18 | var $elem = $('[data-animate]'); 19 | 20 | MotionUI.animateIn($elem, 'slide-in', function() { 21 | console.log('Transition finished!'); 22 | }); 23 | ``` 24 | 25 | What about animations? Those can be triggered just by adding the animation class to an element. Here are examples with plain JavaScript and with jQuery: 26 | 27 | ```js 28 | // Plain JavaScript (IE10+) 29 | document.querySelector('.animating-thing').classList.add('wiggle'); 30 | 31 | // jQuery 32 | $('.animating-thing').addClass('wiggle'); 33 | ``` 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/dist/js/plugins/foundation.util.timer.min.js: -------------------------------------------------------------------------------- 1 | !function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=106)}({0:function(t,e){t.exports=jQuery},1:function(t,e){t.exports={Foundation:window.Foundation}},106:function(t,e,n){t.exports=n(40)},40:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),i=(n.n(r),n(70));r.Foundation.Timer=i.a},70:function(t,e,n){"use strict";function r(t,e,n){var r,i,o=this,u=e.duration,a=Object.keys(t.data())[0]||"timer",s=-1;this.isPaused=!1,this.restart=function(){s=-1,clearTimeout(i),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(i),s=s<=0?u:s,t.data("paused",!1),r=Date.now(),i=setTimeout(function(){e.infinite&&o.restart(),n&&"function"==typeof n&&n()},s),t.trigger("timerstart.zf."+a)},this.pause=function(){this.isPaused=!0,clearTimeout(i),t.data("paused",!0);var e=Date.now();s-=e-r,t.trigger("timerpaused.zf."+a)}}n.d(e,"a",function(){return r});var i=n(0);n.n(i)}}); -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_display.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-display 7 | //// 8 | 9 | /// Responsive breakpoints for display classes 10 | /// @type Boolean 11 | $prototype-display-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Map containing all the `display` classes 14 | /// @type Map 15 | $prototype-display: ( 16 | inline, 17 | inline-block, 18 | block, 19 | table, 20 | table-cell 21 | ) !default; 22 | 23 | /// Display classes, by default coming through a map `$prototype-display` 24 | /// @param {String} $display [] Display classes 25 | @mixin display($display) { 26 | display: $display !important; 27 | } 28 | 29 | @mixin foundation-prototype-display { 30 | @each $display in $prototype-display { 31 | .display-#{$display} { 32 | @include display($display); 33 | } 34 | } 35 | 36 | @if ($prototype-display-breakpoints) { 37 | // Loop through Responsive Breakpoints 38 | @each $size in $breakpoint-classes { 39 | @include breakpoint($size) { 40 | @each $display in $prototype-display { 41 | @if $size != $-zf-zero-breakpoint { 42 | .#{$size}-display-#{$display} { 43 | @include display($display); 44 | } 45 | } 46 | } 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/foundation.util.imageLoader.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import $ from 'jquery'; 4 | 5 | /** 6 | * Runs a callback function when images are fully loaded. 7 | * @param {Object} images - Image(s) to check if loaded. 8 | * @param {Func} callback - Function to execute when image is fully loaded. 9 | */ 10 | function onImagesLoaded(images, callback){ 11 | var self = this, 12 | unloaded = images.length; 13 | 14 | if (unloaded === 0) { 15 | callback(); 16 | } 17 | 18 | images.each(function(){ 19 | // Check if image is loaded 20 | if (this.complete && this.naturalWidth !== undefined) { 21 | singleImageLoaded(); 22 | } 23 | else { 24 | // If the above check failed, simulate loading on detached element. 25 | var image = new Image(); 26 | // Still count image as loaded if it finalizes with an error. 27 | var events = "load.zf.images error.zf.images"; 28 | $(image).one(events, function me(event){ 29 | // Unbind the event listeners. We're using 'one' but only one of the two events will have fired. 30 | $(this).off(events, me); 31 | singleImageLoaded(); 32 | }); 33 | image.src = $(this).attr('src'); 34 | } 35 | }); 36 | 37 | function singleImageLoaded() { 38 | unloaded--; 39 | if (unloaded === 0) { 40 | callback(); 41 | } 42 | } 43 | } 44 | 45 | export { onImagesLoaded }; 46 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/xy-grid/_layout.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group xy-grid 7 | //// 8 | 9 | /// Sizes child elements so that `$n` number of items appear on each row. 10 | /// 11 | /// @param {Number} $n - Number of elements to display per row. 12 | /// @param {String} $selector ['.cell'] - Selector(s) to use for child elements. 13 | /// @param {Boolean} $gutter-output [true] - Whether or not to output gutters 14 | /// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters. 15 | /// @param {Keyword} $gutter-type [margin] - Type of gutter to output. Accepts `margin` or `padding`. 16 | /// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination. 17 | /// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths. 18 | @mixin xy-grid-layout( 19 | $n, 20 | $selector: '.cell', 21 | $gutter-output: true, 22 | $gutters: $grid-margin-gutters, 23 | $gutter-type: margin, 24 | $gutter-position: right left, 25 | $breakpoint: $-zf-zero-breakpoint, 26 | $vertical: false 27 | ) { 28 | $size: percentage(1/$n); 29 | 30 | & > #{$selector} { 31 | @include xy-cell($size, $gutter-output, $gutters, $gutter-type, $gutter-position, $breakpoint, $vertical); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/isHiddenWithinTree.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | 5 | // css is assumed 6 | ], function( jQuery ) { 7 | "use strict"; 8 | 9 | // isHiddenWithinTree reports if an element has a non-"none" display style (inline and/or 10 | // through the CSS cascade), which is useful in deciding whether or not to make it visible. 11 | // It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways: 12 | // * A hidden ancestor does not force an element to be classified as hidden. 13 | // * Being disconnected from the document does not force an element to be classified as hidden. 14 | // These differences improve the behavior of .toggle() et al. when applied to elements that are 15 | // detached or contained within hidden ancestors (gh-2404, gh-2863). 16 | return function( elem, el ) { 17 | 18 | // isHiddenWithinTree might be called from jQuery#filter function; 19 | // in that case, element will be second argument 20 | elem = el || elem; 21 | 22 | // Inline style trumps all 23 | return elem.style.display === "none" || 24 | elem.style.display === "" && 25 | 26 | // Otherwise, check computed style 27 | // Support: Firefox <=43 - 45 28 | // Disconnected elements can have computed display: none, so first confirm that elem is 29 | // in the document. 30 | jQuery.contains( elem.ownerDocument, elem ) && 31 | 32 | jQuery.css( elem, "display" ) === "none"; 33 | }; 34 | } ); 35 | -------------------------------------------------------------------------------- /bower_components/motion-ui/docs/wow.md: -------------------------------------------------------------------------------- 1 | # WOW.js Integration 2 | 3 | Motion UI can be paired with [WOW.js](http://mynameismatthieu.com/WOW/) to trigger animations as elements scroll into view. **[Here's a CodePen that illustrates the concepts below](http://codepen.io/gakimball/pen/WrKRRy)**. 4 | 5 | To start, load the JavaScript for WOW.js. The quickest way to do this is by loading from a CDN: 6 | 7 | ```html 8 | 9 | ``` 10 | 11 | Next, in your main JavaScript file, initialize WOW: 12 | 13 | ```js 14 | var wow = new WOW(); 15 | wow.init(); 16 | ``` 17 | 18 | Lastly, we need animation classes to add to elements. Because Motion UI is a transition-focused library, there aren't many animation classes that come out of the box. The built-in animation classes are `.wiggle`, `.shake`, `.spin-cw`, and `.spin-ccw`. However, creating out own animation class using any of the transition effects is easy, using Motion UI's Sass mixins. 19 | 20 | Here's a basic fade class. Refer to the [documentation on animations](animations.md) to learn more about how animations are built. 21 | 22 | ```scss 23 | .animate-fade-in { 24 | @include mui-animation(fade); 25 | } 26 | ``` 27 | 28 | Now we can apply this class to any element. We also add the class `.wow`, so WOW knows which elements to target as the page scrolls. 29 | 30 | ```html 31 | 32 | ``` 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_text-decoration.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-text-decoration 7 | //// 8 | 9 | /// Responsive breakpoints for text decoration classes 10 | /// @type Boolean 11 | $prototype-decoration-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Map containing all the `text-decoration` classes 14 | /// @type Map 15 | $prototype-text-decoration: ( 16 | overline, 17 | underline, 18 | line-through, 19 | ) !default; 20 | 21 | /// Text Decoration, by default coming through a map `$prototype-text-decoration` 22 | /// @param {String} $decoration [] Text Decoration 23 | @mixin text-decoration($decoration) { 24 | text-decoration: $decoration !important; 25 | } 26 | 27 | @mixin foundation-prototype-text-decoration { 28 | @each $decoration in $prototype-text-decoration { 29 | .text-#{$decoration} { 30 | @include text-decoration($decoration); 31 | } 32 | } 33 | 34 | @if ($prototype-decoration-breakpoints) { 35 | // Loop through Responsive Breakpoints 36 | @each $size in $breakpoint-classes { 37 | @include breakpoint($size) { 38 | @each $decoration in $prototype-text-decoration { 39 | @if $size != $-zf-zero-breakpoint { 40 | .#{$size}-text-#{$decoration} { 41 | @include text-decoration($decoration); 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bower_components/motion-ui/meteor-README.md: -------------------------------------------------------------------------------- 1 | ## Motion-UI for Meteor 2 | 3 | You can use only Sass version with this package. If you need compiled .css version just copy .css and .js files from `dist` folder and add them to your Meteor project. 4 | 5 | ### Installation 6 | 7 | ```bash 8 | $ meteor add zurb:motion-ui 9 | ``` 10 | 11 | ### Sass Usage 12 | 13 | In your main .scss file in the Meteor project `@import` the library: 14 | 15 | ```css 16 | @import '{zurb:motion-ui}/src/motion-ui'; 17 | ``` 18 | 19 | Autoprefixer is required to use this library. The library uses unprefixed transition and animation properties, which are then prefixed by Autoprefixer. You can use one of two packages (they will be no autoincluded): 20 | 21 | - [juliancwirko:postcss](https://atmospherejs.com/juliancwirko/postcss) (Autoprefixer is just a PostCSS plugin) 22 | - [seba:minifiers-autoprefixer](https://atmospherejs.com/seba/minifiers-autoprefixer) 23 | 24 | The library includes two mixins which export all of the default CSS for the framework. This includes: 25 | 26 | - Transitions for slide, fade, hinge, scale, and spin 27 | - Animation classes for spinning, shaking, and wiggling 28 | - Modifier classes for transition/animation speed, timing, and delay 29 | 30 | ```css 31 | @include motion-ui-transitions; 32 | @include motion-ui-animations; 33 | ``` 34 | 35 | You can also use special mixins. You'll find more documentation here: [Motion-UI docs](https://github.com/zurb/motion-ui/tree/master/docs) All besides installation details should work the same. -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/entries/foundation-plugins.js: -------------------------------------------------------------------------------- 1 | import { Abide } from '../foundation.abide'; 2 | import { Accordion } from '../foundation.accordion'; 3 | import { AccordionMenu } from '../foundation.accordionMenu'; 4 | import { Drilldown } from '../foundation.drilldown'; 5 | import { Dropdown } from '../foundation.dropdown'; 6 | import { DropdownMenu } from '../foundation.dropdownMenu'; 7 | import { Equalizer } from '../foundation.equalizer'; 8 | import { Interchange } from '../foundation.interchange'; 9 | import { Magellan } from '../foundation.magellan'; 10 | import { OffCanvas } from '../foundation.offcanvas'; 11 | import { Orbit } from '../foundation.orbit'; 12 | import { ResponsiveMenu } from '../foundation.responsiveMenu'; 13 | import { ResponsiveToggle } from '../foundation.responsiveToggle'; 14 | import { Reveal } from '../foundation.reveal'; 15 | import { Slider } from '../foundation.slider'; 16 | import { SmoothScroll } from '../foundation.smoothScroll'; 17 | import { Sticky } from '../foundation.sticky'; 18 | import { Tabs } from '../foundation.tabs'; 19 | import { Toggler } from '../foundation.toggler'; 20 | import { Tooltip } from '../foundation.tooltip'; 21 | import { ResponsiveAccordionTabs } from '../foundation.responsiveAccordionTabs'; 22 | 23 | export { 24 | Abide, Accordion, AccordionMenu, Drilldown, Dropdown, DropdownMenu, Equalizer, Interchange, Magellan, OffCanvas, Orbit, ResponsiveMenu, ResponsiveToggle, Reveal, Slider, SmoothScroll, Sticky, Tabs, Toggler, Tooltip, ResponsiveAccordionTabs 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_variables.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Variables 3 | // 4 | // You can override the default values by setting the variables in your Sass 5 | // before importing the normalize-scss library. 6 | 7 | // The font size set on the root html element. 8 | $base-font-size: 16px !default; 9 | 10 | // The base line height determines the basic unit of vertical rhythm. 11 | $base-line-height: 24px !default; 12 | 13 | // The length unit in which to output vertical rhythm values. 14 | // Supported values: px, em, rem. 15 | $base-unit: 'em' !default; 16 | 17 | // The default font family. 18 | $base-font-family: sans-serif !default; 19 | 20 | // The font sizes for h1-h6. 21 | $h1-font-size: 2 * $base-font-size !default; 22 | $h2-font-size: 1.5 * $base-font-size !default; 23 | $h3-font-size: 1.17 * $base-font-size !default; 24 | $h4-font-size: 1 * $base-font-size !default; 25 | $h5-font-size: 0.83 * $base-font-size !default; 26 | $h6-font-size: 0.67 * $base-font-size !default; 27 | 28 | // The amount lists and blockquotes are indented. 29 | $indent-amount: 40px !default; 30 | 31 | // The following variable controls whether normalize-scss will output 32 | // font-sizes, line-heights and block-level top/bottom margins that form a basic 33 | // vertical rhythm on the page, which differs from the original Normalize.css. 34 | // However, changing any of the variables above will cause 35 | // $normalize-vertical-rhythm to be automatically set to true. 36 | $normalize-vertical-rhythm: false !default; 37 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole blog, values 4 | # which you are expected to set up once and rarely need to edit after that. 5 | # For technical reasons, this file is *NOT* reloaded automatically when you use 6 | # 'jekyll serve'. If you change this file, please restart the server process. 7 | 8 | # Site settings 9 | title: Content First Prototyping 10 | email: your-email@domain.com 11 | description: > # this means to ignore newlines until "baseurl:" 12 | Write an awesome description for your new site here. You can edit this 13 | line in _config.yml. It will appear in your document head meta (for 14 | Google search results) and in your feed.xml site description. 15 | baseurl: "/" # the subpath of your site, e.g. /blog 16 | url: "/" # the base hostname & protocol for your site 17 | twitter_username: your-twitter-username 18 | github_username: your-github-username 19 | 20 | exclude: 21 | - node_modules 22 | - bower_components 23 | - package.json 24 | - bower.json 25 | - scss 26 | - gulpfile.js 27 | 28 | keep_files: [css/app.css] # keeps the _site css from being blown away on build (it is being generated by gulp-sass) 29 | 30 | # Build settings 31 | markdown: kramdown 32 | 33 | # Page Generator settings 34 | page_gen: 35 | - data: 'catalogue' 36 | name: 'name' 37 | template: 'detail' 38 | - data: 'directory' 39 | name: 'last-name' 40 | template: 'detail' 41 | - data: 'feed' 42 | name: 'event-name' 43 | template: 'detail' -------------------------------------------------------------------------------- /_includes/global-nav.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
Menu
5 |
6 | 7 | 8 |
9 |
10 |
11 | 14 |
15 |
16 | 38 |
39 | 40 |
41 |
-------------------------------------------------------------------------------- /bower_components/motion-ui/src/transitions/_zoom.scss: -------------------------------------------------------------------------------- 1 | /// Creates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller. 2 | /// @param {Keyword} $state [in] - State to transition to. 3 | /// @param {Number} $from [1.5] - Size to start at. 4 | /// @param {Number} $from [1] - Size to end at. 5 | /// @param {Boolean} $fade [true] - Set to `true` to fade the element in or out simultaneously. 6 | /// @param {Duration} $duration [null] - Length (speed) of the transition. 7 | /// @param {Keyword|Function} $timing [null] - Easing of the transition. 8 | /// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts. 9 | @mixin mui-zoom( 10 | $state: in, 11 | $from: 1.5, 12 | $to: 1, 13 | $fade: map-get($motion-ui-settings, scale-and-fade), 14 | $duration: null, 15 | $timing: null, 16 | $delay: null 17 | ) { 18 | $scale: zoom($from, $to); 19 | 20 | @include transition-start($state) { 21 | @include transition-basics($duration, $timing, $delay); 22 | @include -mui-keyframe-get($scale, 0); 23 | 24 | @if $fade { 25 | transition-property: transform, opacity; 26 | opacity: if($state == in, 0, 1); 27 | } @else { 28 | transition-property: transform, opacity; 29 | } 30 | } 31 | 32 | @include transition-end($state) { 33 | @include -mui-keyframe-get($scale, 100); 34 | 35 | @if $fade { 36 | opacity: if($state == in, 1, 0); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/foundation.util.timer.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import $ from 'jquery'; 4 | 5 | function Timer(elem, options, cb) { 6 | var _this = this, 7 | duration = options.duration,//options is an object for easily adding features later. 8 | nameSpace = Object.keys(elem.data())[0] || 'timer', 9 | remain = -1, 10 | start, 11 | timer; 12 | 13 | this.isPaused = false; 14 | 15 | this.restart = function() { 16 | remain = -1; 17 | clearTimeout(timer); 18 | this.start(); 19 | } 20 | 21 | this.start = function() { 22 | this.isPaused = false; 23 | // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. 24 | clearTimeout(timer); 25 | remain = remain <= 0 ? duration : remain; 26 | elem.data('paused', false); 27 | start = Date.now(); 28 | timer = setTimeout(function(){ 29 | if(options.infinite){ 30 | _this.restart();//rerun the timer. 31 | } 32 | if (cb && typeof cb === 'function') { cb(); } 33 | }, remain); 34 | elem.trigger(`timerstart.zf.${nameSpace}`); 35 | } 36 | 37 | this.pause = function() { 38 | this.isPaused = true; 39 | //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. 40 | clearTimeout(timer); 41 | elem.data('paused', true); 42 | var end = Date.now(); 43 | remain = remain - (end - start); 44 | elem.trigger(`timerpaused.zf.${nameSpace}`); 45 | } 46 | } 47 | 48 | export {Timer}; 49 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | #### How to reproduce this bug: 4 | 5 | 1. Step one 6 | 2. Step two 7 | 3. Step three 8 | 9 | #### What should happen: 10 | 11 | #### What happened instead: 12 | 13 | #### Browser(s) and Device(s) tested on: 14 | 15 | #### Foundation Version(s) you are using: 16 | 17 | #### Test case link: 18 | 19 | 20 | 21 | - [CodePen with Foundation 6.3.1, Float Grid and MotionUI](http://codepen.io/IamManchanda/pen/LWGZxR) 22 | - [CodePen with Foundation 6.3.1, Float Grid with RTL Direction and MotionUI](http://codepen.io/IamManchanda/pen/bRYOMv) 23 | - [CodePen with Foundation 6.3.1, Flexbox grid and MotionUI](http://codepen.io/IamManchanda/pen/zZrBEv) 24 | 25 | - [CodePen with Foundation 6.4.1, XY Flexbox grid and MotionUI](http://codepen.io/IamManchanda/pen/EXbGKJ) 26 | - [CodePen with Foundation 6.4.1, XY Flexbox grid with RTL Direction and MotionUI](http://codepen.io/IamManchanda/pen/qjVLoO) 27 | - [CodePen with Foundation 6.4.1, XY Flexbox grid with Prototype Mode and MotionUI](http://codepen.io/IamManchanda/pen/XgzopG) 28 | - [CodePen with Foundation 6.4.1, Float Grid and MotionUI](http://codepen.io/IamManchanda/pen/qjVLrB) 29 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/grid/_grid.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group grid 7 | //// 8 | 9 | /// The maximum width of a row. 10 | /// @type Number 11 | $grid-row-width: $global-width !default; 12 | 13 | /// The default column count of a grid. Changing this value affects the logic of the grid mixins, and the number of CSS classes output. 14 | /// @type Number 15 | $grid-column-count: 12 !default; 16 | 17 | /// The amount of space between columns at different screen sizes. To use just one size, set the variable to a number instead of a map. 18 | /// @type Map | Length 19 | /// @since 6.1.0 20 | $grid-column-gutter: ( 21 | small: 20px, 22 | medium: 30px, 23 | ) !default; 24 | 25 | /// If `true`, the last column in a row will align to the opposite edge of the row. 26 | /// @type Boolean 27 | $grid-column-align-edge: true !default; 28 | 29 | /// Selector used for an alias of column (with @extend). If `false`, no alias is created. 30 | /// @type String 31 | $grid-column-alias: 'columns' !default; 32 | 33 | /// The highest number of `.x-up` classes available when using the block grid CSS. 34 | /// @type Number 35 | $block-grid-max: 8 !default; 36 | 37 | // Internal value to store the end column float direction 38 | $-zf-end-float: if($grid-column-align-edge, $global-right, $global-left); 39 | 40 | @import 'row'; 41 | @import 'column'; 42 | @import 'size'; 43 | @import 'position'; 44 | @import 'gutter'; 45 | @import 'classes'; 46 | @import 'layout'; 47 | 48 | @import 'flex-grid'; 49 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_text-transformation.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-text-transformation 7 | //// 8 | 9 | /// Responsive breakpoints for text transformation classes 10 | /// @type Boolean 11 | $prototype-transformation-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Map containing all the `text-transformation` classes 14 | /// @type Map 15 | $prototype-text-transformation: ( 16 | lowercase, 17 | uppercase, 18 | capitalize 19 | ) !default; 20 | 21 | /// Text Transformation, by default coming through a map `$prototype-text-transformation` 22 | /// @param {String} $transformation [] Text Transformation 23 | @mixin text-transform($transformation) { 24 | text-transform: $transformation !important; 25 | } 26 | 27 | @mixin foundation-prototype-text-transformation { 28 | @each $transformation in $prototype-text-transformation { 29 | .text-#{$transformation} { 30 | @include text-transform($transformation); 31 | } 32 | } 33 | 34 | @if ($prototype-transformation-breakpoints) { 35 | // Loop through Responsive Breakpoints 36 | @each $size in $breakpoint-classes { 37 | @include breakpoint($size) { 38 | @each $transformation in $prototype-text-transformation { 39 | @if $size != $-zf-zero-breakpoint { 40 | .#{$size}-text-#{$transformation} { 41 | @include text-transform($transformation); 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "ecmaVersion": 6, 3 | "env": { 4 | "browser": true, 5 | "builtin": true, 6 | "es6": true, 7 | "jasmine": true, 8 | "jquery": true, 9 | "mocha": true, 10 | "node": true 11 | }, 12 | "globals": { 13 | "Foundation": true 14 | }, 15 | "parserOptions": { 16 | "ecmaFeatures": { 17 | "impliedStrict": true, 18 | "jsx": false 19 | }, 20 | "ecmaVersion": 6, 21 | "sourceType": "module" 22 | }, 23 | "rules": { 24 | "block-scoped-var": 2, 25 | "camelcase": 2, 26 | "comma-style": [2, "last"], 27 | "curly": [0, "all"], 28 | "dot-notation": [ 29 | 2, 30 | { 31 | "allowKeywords": true 32 | } 33 | ], 34 | "eqeqeq": [2, "allow-null"], 35 | "guard-for-in": 2, 36 | "new-cap": 2, 37 | "no-bitwise": 2, 38 | "no-caller": 2, 39 | "no-cond-assign": [2, "except-parens"], 40 | "no-debugger": 2, 41 | "no-empty": 2, 42 | "no-eval": 2, 43 | "no-extend-native": 2, 44 | "no-extra-parens": 1, 45 | "no-irregular-whitespace": 2, 46 | "no-iterator": 2, 47 | "no-loop-func": 2, 48 | "no-multi-str": 2, 49 | "no-new": 2, 50 | "no-plusplus": 0, 51 | "no-proto": 2, 52 | "no-script-url": 2, 53 | "no-sequences": 2, 54 | "no-shadow": 1, 55 | "no-undef": 2, 56 | "no-unused-vars": 1, 57 | "no-with": 2, 58 | "quotes": 0, 59 | "radix" : 2, 60 | "semi": [0, "never"], 61 | "strict": [1, "global"], 62 | "valid-typeof": 2, 63 | "wrap-iife": [2, "inside"] 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/transitions/_spin.scss: -------------------------------------------------------------------------------- 1 | /// Creates a spinning transition by rotating the element. The `turn` unit is used to specify how far to rotate. `1turn` is equal to a 360-degree spin. 2 | /// @param {Keyword} $state [in] - State to transition to. 3 | /// @param {Boolean} $direction [cw] - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise). 4 | /// @param {Number} $amount [0.75turn] - Amount to element the element. 5 | /// @param {Boolean} $fade [false] - Set to `true` to fade the element in or out simultaneously. 6 | /// @param {Duration} $duration [null] - Length (speed) of the transition. 7 | /// @param {Keyword|Function} $timing [null] - Easing of the transition. 8 | /// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts. 9 | @mixin mui-spin( 10 | $state: in, 11 | $direction: cw, 12 | $amount: 0.75turn, 13 | $fade: map-get($motion-ui-settings, spin-and-fade), 14 | $duration: null, 15 | $timing: null, 16 | $delay: null 17 | ) { 18 | $spin: spin($state, $direction, $amount); 19 | 20 | @include transition-start($state) { 21 | @include transition-basics($duration, $timing, $delay); 22 | @include -mui-keyframe-get($spin, 0); 23 | 24 | @if $fade { 25 | transition-property: transform, opacity; 26 | opacity: if($state == in, 0, 1); 27 | } @else { 28 | transition-property: transform, opacity; 29 | } 30 | } 31 | 32 | @include transition-end($state) { 33 | @include -mui-keyframe-get($spin, 100); 34 | 35 | @if $fade { 36 | opacity: if($state == in, 1, 0); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/transitions/_slide.scss: -------------------------------------------------------------------------------- 1 | /// Creates a sliding transition by translating the element horizontally or vertically. 2 | /// @param {Keyword} $state [in] - State to transition to. 3 | /// @param {Keyword} $direction [left] - Direction to slide to. Can be `up`, `right`, `down`, or `left`. 4 | /// @param {Length} $amount [100%] - Length of the slide as a percentage value. 5 | /// @param {Boolean} $fade [false] - Set to `true` to fade the element in or out simultaneously. 6 | /// @param {Duration} $duration [null] - Length (speed) of the transition. 7 | /// @param {Keyword|Function} $timing [null] - Easing of the transition. 8 | /// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts. 9 | @mixin mui-slide ( 10 | $state: in, 11 | $direction: left, 12 | $amount: 100%, 13 | $fade: map-get($motion-ui-settings, slide-and-fade), 14 | $duration: null, 15 | $timing: null, 16 | $delay: null 17 | ) { 18 | $slide: slide($state, $direction, $amount); 19 | 20 | // CSS Output 21 | @include transition-start($state) { 22 | @include transition-basics($duration, $timing, $delay); 23 | @include -mui-keyframe-get($slide, 0); 24 | 25 | @if $fade { 26 | transition-property: transform, opacity; 27 | opacity: if($state == in, 0, 1); 28 | } @else { 29 | transition-property: transform, opacity; 30 | } 31 | 32 | backface-visibility: hidden; 33 | } 34 | 35 | @include transition-end($state) { 36 | @include -mui-keyframe-get($slide, 100); 37 | 38 | @if $fade { 39 | opacity: if($state == in, 1, 0); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_progress-bar.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | /// Adds styles for a progress bar container. 6 | @mixin progress-container { 7 | height: $progress-height; 8 | margin-bottom: $progress-margin-bottom; 9 | border-radius: $progress-radius; 10 | background-color: $progress-background; 11 | } 12 | 13 | /// Adds styles for the inner meter of a progress bar. 14 | @mixin progress-meter { 15 | position: relative; 16 | display: block; 17 | width: 0%; 18 | height: 100%; 19 | background-color: $progress-meter-background; 20 | 21 | @if has-value($progress-radius) { 22 | border-radius: $global-radius; 23 | } 24 | } 25 | 26 | /// Adds styles for text in the progress meter. 27 | @mixin progress-meter-text { 28 | @include absolute-center; 29 | position: absolute; 30 | margin: 0; 31 | font-size: 0.75rem; 32 | font-weight: bold; 33 | color: $white; 34 | white-space: nowrap; 35 | 36 | @if has-value($progress-radius) { 37 | border-radius: $progress-radius; 38 | } 39 | } 40 | 41 | @mixin foundation-progress-bar { 42 | // Progress bar 43 | .progress { 44 | @include progress-container; 45 | 46 | @each $name, $color in $foundation-palette { 47 | &.#{$name} { 48 | .progress-meter { 49 | background-color: $color; 50 | } 51 | } 52 | } 53 | } 54 | 55 | // Inner meter 56 | .progress-meter { 57 | @include progress-meter; 58 | } 59 | 60 | // Inner meter text 61 | .progress-meter-text { 62 | @include progress-meter-text; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_rounded.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-rounded 7 | //// 8 | 9 | /// Responsive breakpoints for rounded utility. 10 | /// @type Boolean 11 | $prototype-rounded-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Default value for `prototype-border-radius` 14 | /// @type Number 15 | $prototype-border-radius: rem-calc(3) !default; 16 | 17 | /// Rounded utility (all corners): Adds radius corners (all corners) to an element by default. 18 | /// @param {Number} $radius [$prototype-border-radius] Border radius (all corners) 19 | @mixin border-radius( 20 | $radius: $prototype-border-radius 21 | ) { 22 | border-radius: $radius; 23 | } 24 | 25 | /// Rounded square utility or rectangle utility (all corners): Rounds all corners to an element by default to make a pill shape. 26 | @mixin border-rounded { 27 | border-radius: 5000px !important; 28 | } 29 | 30 | @mixin foundation-prototype-rounded { 31 | .rounded { 32 | @include border-rounded; 33 | } 34 | 35 | .radius { 36 | @include border-radius; 37 | } 38 | 39 | @if ($prototype-rounded-breakpoints) { 40 | // Loop through Responsive Breakpoints 41 | @each $size in $breakpoint-classes { 42 | @include breakpoint($size) { 43 | @if $size != $-zf-zero-breakpoint { 44 | .#{$size}-rounded { 45 | @include border-rounded; 46 | } 47 | .#{$size}-radius { 48 | @include border-radius; 49 | } 50 | } 51 | } 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/xy-grid/_xy-grid.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group xy-grid 7 | //// 8 | 9 | /// Enables the XY grid. 10 | /// @type Boolean 11 | $xy-grid: true !default; 12 | 13 | /// The maximum width of a grid container. 14 | /// @type Number 15 | $grid-container: $global-width !default; 16 | 17 | /// The number of columns used in the grid. 18 | /// @type Number 19 | $grid-columns: 12 !default; 20 | 21 | /// The amount of margin between cells at different screen sizes when using the margin grid. To use just one size, set the variable to a number instead of a map. 22 | /// @type Map | Length 23 | $grid-margin-gutters: ( 24 | small: 20px, 25 | medium: 30px 26 | ) !default; 27 | 28 | /// The amount of padding in cells at different screen sizes when using the padding grid. To use just one size, set the variable to a number instead of a map. 29 | /// @type Map | Length 30 | $grid-padding-gutters: $grid-margin-gutters !default; 31 | 32 | /// The amount of padding to use when padding the grid-container. 33 | /// @type Map | Length 34 | $grid-container-padding: $grid-padding-gutters !default; 35 | 36 | /// The maximum width to apply to a grid container 37 | /// @type Number 38 | $grid-container-max: $global-width !default; 39 | 40 | /// The maximum number of cells in an XY block grid. 41 | /// @type Number 42 | $xy-block-grid-max: 8 !default; 43 | 44 | @import 'gutters'; 45 | @import 'grid'; 46 | @import 'cell'; 47 | @import 'frame'; 48 | @import 'position'; 49 | @import 'layout'; 50 | @import 'collapse'; 51 | @import 'classes'; 52 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/util/_transition.scss: -------------------------------------------------------------------------------- 1 | /// Applies basic transition settings to an element. 2 | /// @param {Duration} $duration [null] - Length (speed) of the transition. 3 | /// @param {Keyword|Function} $timing [null] - Easing of the transition. 4 | /// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts. 5 | @mixin transition-basics( 6 | $duration: null, 7 | $timing: null, 8 | $delay: null 9 | ) { 10 | @include -motion-ui-defaults; 11 | transition-duration: $duration; 12 | transition-timing-function: $timing; 13 | transition-delay: $delay; 14 | } 15 | 16 | /// Wraps the content in the setup class for a transition. 17 | /// @param {Keyword} $dir - State to setup for transition. 18 | @mixin transition-start($dir) { 19 | $selector: -mui-build-selector(map-get($motion-ui-states, $dir)); 20 | 21 | @at-root { 22 | #{$selector} { 23 | @content; 24 | } 25 | } 26 | } 27 | 28 | /// Wraps the content in the active class for a transition. 29 | /// @param {Keyword} $dir - State to activate a transition on. 30 | @mixin transition-end($dir) { 31 | $selector: -mui-build-selector(map-get($motion-ui-states, $dir), true); 32 | 33 | @at-root { 34 | #{$selector} { 35 | @content; 36 | } 37 | } 38 | } 39 | 40 | /// Adds styles for a stagger animation, which can be used with Angular's `ng-repeat`. 41 | /// @param {Duration} $delay-amount - Amount of time in seconds or milliseconds to add between each item's animation. 42 | @mixin stagger($delay-amount) { 43 | transition-delay: $delay-amount; 44 | transition-duration: 0; // Prevent accidental CSS inheritance 45 | } 46 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_badge.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group badge 7 | //// 8 | 9 | /// Default background color for badges. 10 | /// @type Color 11 | $badge-background: $primary-color !default; 12 | 13 | /// Default text color for badges. 14 | /// @type Color 15 | $badge-color: $white !default; 16 | 17 | /// Alternate text color for badges. 18 | /// @type Color 19 | $badge-color-alt: $black !default; 20 | 21 | /// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on. 22 | /// @type Map 23 | $badge-palette: $foundation-palette !default; 24 | 25 | /// Default padding inside badges. 26 | /// @type Number 27 | $badge-padding: 0.3em !default; 28 | 29 | /// Minimum width of a badge. 30 | /// @type Number 31 | $badge-minwidth: 2.1em !default; 32 | 33 | /// Default font size for badges. 34 | /// @type Number 35 | $badge-font-size: 0.6rem !default; 36 | 37 | /// Generates the base styles for a badge. 38 | @mixin badge { 39 | display: inline-block; 40 | min-width: $badge-minwidth; 41 | padding: $badge-padding; 42 | 43 | border-radius: 50%; 44 | 45 | font-size: $badge-font-size; 46 | text-align: center; 47 | } 48 | 49 | @mixin foundation-badge { 50 | .badge { 51 | @include badge; 52 | 53 | background: $badge-background; 54 | color: $badge-color; 55 | 56 | @each $name, $color in $badge-palette { 57 | &.#{$name} { 58 | background: $color; 59 | color: color-pick-contrast($color, ($badge-color, $badge-color-alt)); 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/access.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../core/toType", 4 | "../var/isFunction" 5 | ], function( jQuery, toType, isFunction ) { 6 | 7 | "use strict"; 8 | 9 | // Multifunctional method to get and set values of a collection 10 | // The value/s can optionally be executed if it's a function 11 | var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 12 | var i = 0, 13 | len = elems.length, 14 | bulk = key == null; 15 | 16 | // Sets many values 17 | if ( toType( key ) === "object" ) { 18 | chainable = true; 19 | for ( i in key ) { 20 | access( elems, fn, i, key[ i ], true, emptyGet, raw ); 21 | } 22 | 23 | // Sets one value 24 | } else if ( value !== undefined ) { 25 | chainable = true; 26 | 27 | if ( !isFunction( value ) ) { 28 | raw = true; 29 | } 30 | 31 | if ( bulk ) { 32 | 33 | // Bulk operations run against the entire set 34 | if ( raw ) { 35 | fn.call( elems, value ); 36 | fn = null; 37 | 38 | // ...except when executing function values 39 | } else { 40 | bulk = fn; 41 | fn = function( elem, key, value ) { 42 | return bulk.call( jQuery( elem ), value ); 43 | }; 44 | } 45 | } 46 | 47 | if ( fn ) { 48 | for ( ; i < len; i++ ) { 49 | fn( 50 | elems[ i ], key, raw ? 51 | value : 52 | value.call( elems[ i ], i, fn( elems[ i ], key ) ) 53 | ); 54 | } 55 | } 56 | } 57 | 58 | if ( chainable ) { 59 | return elems; 60 | } 61 | 62 | // Gets 63 | if ( bulk ) { 64 | return fn.call( elems ); 65 | } 66 | 67 | return len ? fn( elems[ 0 ], key ) : emptyGet; 68 | }; 69 | 70 | return access; 71 | 72 | } ); 73 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/foundation.util.core.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | import $ from 'jquery'; 4 | 5 | // Core Foundation Utilities, utilized in a number of places. 6 | 7 | /** 8 | * Returns a boolean for RTL support 9 | */ 10 | function rtl() { 11 | return $('html').attr('dir') === 'rtl'; 12 | } 13 | 14 | /** 15 | * returns a random base-36 uid with namespacing 16 | * @function 17 | * @param {Number} length - number of random base-36 digits desired. Increase for more random strings. 18 | * @param {String} namespace - name of plugin to be incorporated in uid, optional. 19 | * @default {String} '' - if no plugin name is provided, nothing is appended to the uid. 20 | * @returns {String} - unique id 21 | */ 22 | function GetYoDigits(length, namespace){ 23 | length = length || 6; 24 | return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1) + (namespace ? `-${namespace}` : ''); 25 | } 26 | 27 | function transitionend($elem){ 28 | var transitions = { 29 | 'transition': 'transitionend', 30 | 'WebkitTransition': 'webkitTransitionEnd', 31 | 'MozTransition': 'transitionend', 32 | 'OTransition': 'otransitionend' 33 | }; 34 | var elem = document.createElement('div'), 35 | end; 36 | 37 | for (var t in transitions){ 38 | if (typeof elem.style[t] !== 'undefined'){ 39 | end = transitions[t]; 40 | } 41 | } 42 | if(end){ 43 | return end; 44 | }else{ 45 | end = setTimeout(function(){ 46 | $elem.triggerHandler('transitionend', [$elem]); 47 | }, 1); 48 | return 'transitionend'; 49 | } 50 | } 51 | 52 | export {rtl, GetYoDigits, transitionend}; 53 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_label.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group label 7 | //// 8 | 9 | /// Default background color for labels. 10 | /// @type Color 11 | $label-background: $primary-color !default; 12 | 13 | /// Default text color for labels. 14 | /// @type Color 15 | $label-color: $white !default; 16 | 17 | /// Alternate text color for labels. 18 | /// @type Color 19 | $label-color-alt: $black !default; 20 | 21 | /// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on. 22 | /// @type Map 23 | $label-palette: $foundation-palette !default; 24 | 25 | /// Default font size for labels. 26 | /// @type Number 27 | $label-font-size: 0.8rem !default; 28 | 29 | /// Default padding inside labels. 30 | /// @type Number 31 | $label-padding: 0.33333rem 0.5rem !default; 32 | 33 | /// Default radius of labels. 34 | /// @type Number 35 | $label-radius: $global-radius !default; 36 | 37 | /// Generates base styles for a label. 38 | @mixin label { 39 | display: inline-block; 40 | padding: $label-padding; 41 | 42 | border-radius: $label-radius; 43 | 44 | font-size: $label-font-size; 45 | line-height: 1; 46 | white-space: nowrap; 47 | cursor: default; 48 | } 49 | 50 | @mixin foundation-label { 51 | .label { 52 | @include label; 53 | 54 | background: $label-background; 55 | color: $label-color; 56 | 57 | @each $name, $color in $label-palette { 58 | &.#{$name} { 59 | background: $color; 60 | color: color-pick-contrast($color, ($label-color, $label-color-alt)); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /bower_components/motion-ui/dist/motion-ui.min.js: -------------------------------------------------------------------------------- 1 | !function(n,e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):n.MotionUI=e(n.jQuery)}(this,function(n){"use strict";function e(e,a,r,u){function s(){e||a.hide(),m(),u&&u.apply(a)}function m(){a[0].style.transitionDuration=0,a.removeClass(d+" "+c+" "+r)}if(a=n(a).eq(0),a.length){if(null===o)return e?a.show():a.hide(),void u();var d=e?i[0]:i[1],c=e?t[0]:t[1];m(),a.addClass(r),a.css("transition","none"),requestAnimationFrame(function(){a.addClass(d),e&&a.show()}),requestAnimationFrame(function(){a[0].offsetWidth,a.css("transition",""),a.addClass(c)}),a.one("transitionend",s)}}!function(){Date.now||(Date.now=function(){return(new Date).getTime()});for(var n=["webkit","moz"],e=0;e1&&void 0!==arguments[1]?arguments[1]:"zf";n.attr("role","menubar");var t=n.find("li").attr({role:"menuitem"}),r="is-"+e+"-submenu",a=r+"-item",i="is-"+e+"-submenu-parent",o="accordion"!==e;t.each(function(){var n=u()(this),t=n.children("ul");t.length&&(n.addClass(i),t.addClass("submenu "+r).attr({"data-submenu":""}),o&&(n.attr({"aria-haspopup":!0,"aria-label":n.children("a:first").text()}),"drilldown"===e&&n.attr({"aria-expanded":!1})),t.addClass("submenu "+r).attr({"data-submenu":"",role:"menu"}),"drilldown"===e&&t.attr({"aria-hidden":!0})),n.parent("[data-submenu]").length&&n.addClass("is-submenu-item "+a)})},Burn:function(n,e){var t="is-"+e+"-submenu",r=t+"-item",u="is-"+e+"-submenu-parent";n.find(">li, .menu, .menu > li").removeClass(t+" "+r+" "+u+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}}}}); -------------------------------------------------------------------------------- /bower_components/jquery/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright JS Foundation and other contributors, https://js.foundation/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/jquery 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/focusin.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../data/var/dataPriv", 4 | "./support", 5 | 6 | "../event", 7 | "./trigger" 8 | ], function( jQuery, dataPriv, support ) { 9 | 10 | "use strict"; 11 | 12 | // Support: Firefox <=44 13 | // Firefox doesn't have focus(in | out) events 14 | // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 15 | // 16 | // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 17 | // focus(in | out) events fire after focus & blur events, 18 | // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order 19 | // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 20 | if ( !support.focusin ) { 21 | jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { 22 | 23 | // Attach a single capturing handler on the document while someone wants focusin/focusout 24 | var handler = function( event ) { 25 | jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); 26 | }; 27 | 28 | jQuery.event.special[ fix ] = { 29 | setup: function() { 30 | var doc = this.ownerDocument || this, 31 | attaches = dataPriv.access( doc, fix ); 32 | 33 | if ( !attaches ) { 34 | doc.addEventListener( orig, handler, true ); 35 | } 36 | dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); 37 | }, 38 | teardown: function() { 39 | var doc = this.ownerDocument || this, 40 | attaches = dataPriv.access( doc, fix ) - 1; 41 | 42 | if ( !attaches ) { 43 | doc.removeEventListener( orig, handler, true ); 44 | dataPriv.remove( doc, fix ); 45 | 46 | } else { 47 | dataPriv.access( doc, fix, attaches ); 48 | } 49 | } 50 | }; 51 | } ); 52 | } 53 | 54 | return jQuery; 55 | } ); 56 | -------------------------------------------------------------------------------- /bower_components/jquery/external/sizzle/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/sizzle 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /scss/app.scss: -------------------------------------------------------------------------------- 1 | @charset 'utf-8'; 2 | 3 | @import 'settings'; 4 | @import 'foundation'; 5 | @import 'motion-ui'; 6 | 7 | @include foundation-global-styles; 8 | @include foundation-grid; 9 | @include foundation-flex-grid; 10 | @include foundation-xy-grid-classes; 11 | @include foundation-typography; 12 | @include foundation-button; 13 | @include foundation-forms; 14 | @include foundation-range-input; 15 | @include foundation-accordion; 16 | @include foundation-accordion-menu; 17 | @include foundation-badge; 18 | @include foundation-breadcrumbs; 19 | @include foundation-button-group; 20 | @include foundation-callout; 21 | @include foundation-card; 22 | @include foundation-close-button; 23 | @include foundation-menu; 24 | @include foundation-menu-icon; 25 | @include foundation-drilldown-menu; 26 | @include foundation-dropdown; 27 | @include foundation-dropdown-menu; 28 | @include foundation-responsive-embed; 29 | @include foundation-label; 30 | @include foundation-media-object; 31 | @include foundation-off-canvas; 32 | @include foundation-orbit; 33 | @include foundation-pagination; 34 | @include foundation-progress-bar; 35 | @include foundation-progress-element; 36 | @include foundation-progress-element; 37 | @include foundation-meter-element; 38 | @include foundation-slider; 39 | @include foundation-sticky; 40 | @include foundation-reveal; 41 | @include foundation-switch; 42 | @include foundation-table; 43 | @include foundation-tabs; 44 | @include foundation-thumbnail; 45 | @include foundation-title-bar; 46 | @include foundation-tooltip; 47 | @include foundation-top-bar; 48 | @include foundation-visibility-classes; 49 | @include foundation-float-classes; 50 | @include foundation-flex-classes; 51 | 52 | @include foundation-prototype-classes; 53 | 54 | @include motion-ui-transitions; 55 | @include motion-ui-animations; 56 | 57 | @import 'custom-styles'; -------------------------------------------------------------------------------- /bower_components/jquery/src/wrap.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./var/isFunction", 4 | "./core/init", 5 | "./manipulation", // clone 6 | "./traversing" // parent, contents 7 | ], function( jQuery, isFunction ) { 8 | 9 | "use strict"; 10 | 11 | jQuery.fn.extend( { 12 | wrapAll: function( html ) { 13 | var wrap; 14 | 15 | if ( this[ 0 ] ) { 16 | if ( isFunction( html ) ) { 17 | html = html.call( this[ 0 ] ); 18 | } 19 | 20 | // The elements to wrap the target around 21 | wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 22 | 23 | if ( this[ 0 ].parentNode ) { 24 | wrap.insertBefore( this[ 0 ] ); 25 | } 26 | 27 | wrap.map( function() { 28 | var elem = this; 29 | 30 | while ( elem.firstElementChild ) { 31 | elem = elem.firstElementChild; 32 | } 33 | 34 | return elem; 35 | } ).append( this ); 36 | } 37 | 38 | return this; 39 | }, 40 | 41 | wrapInner: function( html ) { 42 | if ( isFunction( html ) ) { 43 | return this.each( function( i ) { 44 | jQuery( this ).wrapInner( html.call( this, i ) ); 45 | } ); 46 | } 47 | 48 | return this.each( function() { 49 | var self = jQuery( this ), 50 | contents = self.contents(); 51 | 52 | if ( contents.length ) { 53 | contents.wrapAll( html ); 54 | 55 | } else { 56 | self.append( html ); 57 | } 58 | } ); 59 | }, 60 | 61 | wrap: function( html ) { 62 | var htmlIsFunction = isFunction( html ); 63 | 64 | return this.each( function( i ) { 65 | jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 66 | } ); 67 | }, 68 | 69 | unwrap: function( selector ) { 70 | this.parent( selector ).not( "body" ).each( function() { 71 | jQuery( this ).replaceWith( this.childNodes ); 72 | } ); 73 | return this; 74 | } 75 | } ); 76 | 77 | return jQuery; 78 | } ); 79 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/js/foundation.plugin.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import $ from 'jquery'; 4 | import { GetYoDigits } from './foundation.util.core'; 5 | 6 | // Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST 7 | // {function} _setup (replaces previous constructor), 8 | // {function} _destroy (replaces previous destroy) 9 | class Plugin { 10 | 11 | constructor(element, options) { 12 | this._setup(element, options); 13 | var pluginName = getPluginName(this); 14 | this.uuid = GetYoDigits(6, pluginName); 15 | 16 | if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); } 17 | if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); } 18 | /** 19 | * Fires when the plugin has initialized. 20 | * @event Plugin#init 21 | */ 22 | this.$element.trigger(`init.zf.${pluginName}`); 23 | } 24 | 25 | destroy() { 26 | this._destroy(); 27 | var pluginName = getPluginName(this); 28 | this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin') 29 | /** 30 | * Fires when the plugin has been destroyed. 31 | * @event Plugin#destroyed 32 | */ 33 | .trigger(`destroyed.zf.${pluginName}`); 34 | for(var prop in this){ 35 | this[prop] = null;//clean up script to prep for garbage collection. 36 | } 37 | } 38 | } 39 | 40 | // Convert PascalCase to kebab-case 41 | // Thank you: http://stackoverflow.com/a/8955580 42 | function hyphenate(str) { 43 | return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); 44 | } 45 | 46 | function getPluginName(obj) { 47 | if(typeof(obj.constructor.name) !== 'undefined') { 48 | return hyphenate(obj.constructor.name); 49 | } else { 50 | return hyphenate(obj.className); 51 | } 52 | } 53 | 54 | export {Plugin}; 55 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% include head.html %} 4 | 5 | 6 | {% include global-nav.html %} 7 | 8 |
9 | {{ content }} 10 |
11 | 12 | 13 |
14 |
15 |
16 |

Content First Prototyping

17 |

Behold: the footer! And shameless plugging the the thing in which it apears! And why not? We do need some text here – and you'll surely replace this in your own projet. Thus: plugs shall plug.

18 |
19 |
20 |

Header Here!

21 |

Here's another header area. We could fill this with "Greeked" text (which is often how these sorts of areas appear), but we're not monsters, dammit. Also: real words are hot!

22 |
23 |
24 |

Links!

25 |
32 |
33 |

Socials!

34 |
41 |
42 |
43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /scss/custom-styles.scss: -------------------------------------------------------------------------------- 1 | // prevent FOUC on foundation responsive menu 2 | //------------------------------------------- 3 | .no-js { 4 | @include breakpoint(small only) { 5 | .top-bar { 6 | display: none; 7 | } 8 | } 9 | 10 | @include breakpoint(medium) { 11 | .title-bar { 12 | display: none; 13 | } 14 | } 15 | } 16 | 17 | // global styles 18 | // ------------- 19 | 20 | h2, h4, .callout { 21 | margin-top: 1rem; 22 | } 23 | 24 | h3:not(.foundation-default) { 25 | margin-top: 2rem; 26 | } 27 | 28 | #site-title { 29 | font-weight: bold; 30 | padding-left: 0; 31 | } 32 | 33 | img.small { 34 | height: 3rem; 35 | float: left; 36 | } 37 | 38 | .svg { 39 | position: relative; 40 | background-color: lightgray; 41 | padding: 0; 42 | height: 100%; 43 | line-height: 0; 44 | } 45 | 46 | svg { 47 | fill: none; 48 | stroke: gray; 49 | stroke-width: 1; 50 | } 51 | 52 | // category template 53 | // ----------------- 54 | 55 | li.row { 56 | list-style: none; 57 | margin: 3rem; 58 | } 59 | 60 | li.events { 61 | list-style: none; 62 | } 63 | 64 | // detail template 65 | // --------------- 66 | 67 | .pagination { 68 | margin-top: 10rem; 69 | } 70 | 71 | 72 | // footer styles 73 | // ------------- 74 | 75 | .full-width { 76 | max-width: $global-width; 77 | } 78 | 79 | .footer { 80 | background-color: $light-gray; 81 | margin-top: 3rem; 82 | padding: 2rem 0rem; 83 | } 84 | 85 | 86 | @include breakpoint(large) { 87 | .footer { 88 | .columns:nth-child(n+2) { 89 | border-left: 1px solid scale-color($secondary-color, $lightness: -30%); 90 | min-height: 240px; 91 | } 92 | } 93 | } 94 | 95 | .footer-links { 96 | list-style-type: none; 97 | li { 98 | margin-top: .5em; 99 | } 100 | } -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/prototype/_sizing.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group prototype-sizing 7 | //// 8 | 9 | /// Responsive breakpoints for spacing classes (margin and padding) 10 | /// @type Boolean 11 | $prototype-sizing-breakpoints: $global-prototype-breakpoints !default; 12 | 13 | /// Map containing all the `sizing` classes 14 | /// @type Map 15 | $prototype-sizing: ( 16 | width, 17 | height 18 | ) !default; 19 | 20 | /// Map containing all the sizes. 21 | /// @type Map 22 | $prototype-sizes: ( 23 | 25: 25%, 24 | 50: 50%, 25 | 75: 75%, 26 | 100: 100% 27 | ) !default; 28 | 29 | /// Max Width 100 utility. 30 | @mixin max-width-100 { 31 | max-width: 100% !important; 32 | } 33 | 34 | /// Max Height 100 utility. 35 | @mixin max-height-100 { 36 | max-height: 100% !important; 37 | } 38 | 39 | @mixin foundation-prototype-sizing { 40 | // Element Sizing 41 | @each $sizing in $prototype-sizing { 42 | @each $length, $percentage in $prototype-sizes { 43 | .#{$sizing}-#{$length} { 44 | #{$sizing}: $percentage !important; 45 | } 46 | } 47 | } 48 | 49 | // Max width & height 50 | .max-width-100 { 51 | @include max-width-100; 52 | } 53 | .max-height-100 { 54 | @include max-height-100; 55 | } 56 | 57 | @if ($prototype-sizing-breakpoints) { 58 | // Loop through Responsive Breakpoints 59 | @each $size in $breakpoint-classes { 60 | @include breakpoint($size) { 61 | @if $size != $-zf-zero-breakpoint { 62 | @each $sizing in $prototype-sizing { 63 | @each $length, $percentage in $prototype-sizes { 64 | .#{$size}-#{$sizing}-#{$length} { 65 | #{$sizing}: $percentage !important; 66 | } 67 | } 68 | } 69 | } 70 | } 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/parseHTML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../var/document", 4 | "./var/rsingleTag", 5 | "../manipulation/buildFragment", 6 | 7 | // This is the only module that needs core/support 8 | "./support" 9 | ], function( jQuery, document, rsingleTag, buildFragment, support ) { 10 | 11 | "use strict"; 12 | 13 | // Argument "data" should be string of html 14 | // context (optional): If specified, the fragment will be created in this context, 15 | // defaults to document 16 | // keepScripts (optional): If true, will include scripts passed in the html string 17 | jQuery.parseHTML = function( data, context, keepScripts ) { 18 | if ( typeof data !== "string" ) { 19 | return []; 20 | } 21 | if ( typeof context === "boolean" ) { 22 | keepScripts = context; 23 | context = false; 24 | } 25 | 26 | var base, parsed, scripts; 27 | 28 | if ( !context ) { 29 | 30 | // Stop scripts or inline event handlers from being executed immediately 31 | // by using document.implementation 32 | if ( support.createHTMLDocument ) { 33 | context = document.implementation.createHTMLDocument( "" ); 34 | 35 | // Set the base href for the created document 36 | // so any parsed elements with URLs 37 | // are based on the document's URL (gh-2965) 38 | base = context.createElement( "base" ); 39 | base.href = document.location.href; 40 | context.head.appendChild( base ); 41 | } else { 42 | context = document; 43 | } 44 | } 45 | 46 | parsed = rsingleTag.exec( data ); 47 | scripts = !keepScripts && []; 48 | 49 | // Single tag 50 | if ( parsed ) { 51 | return [ context.createElement( parsed[ 1 ] ) ]; 52 | } 53 | 54 | parsed = buildFragment( [ data ], context, scripts ); 55 | 56 | if ( scripts && scripts.length ) { 57 | jQuery( scripts ).remove(); 58 | } 59 | 60 | return jQuery.merge( [], parsed.childNodes ); 61 | }; 62 | 63 | return jQuery.parseHTML; 64 | 65 | } ); 66 | -------------------------------------------------------------------------------- /bower_components/motion-ui/docs/configuration.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | Motion UI has six variables which store all of the library's settings. Each is a map of keys and values. 4 | 5 | ## States 6 | 7 | ```scss 8 | $motion-ui-states: ( 9 | in: 'enter', 10 | out: 'leave', 11 | ); 12 | ``` 13 | 14 | Motion UI defines two motion states: `in` and `out`, which create classes with the words `enter` and `leave` respectively. 15 | 16 | ## Classes 17 | 18 | ```scss 19 | $motion-ui-classes: ( 20 | chain: true, 21 | prefix: 'mui-', 22 | active: '-active', 23 | ); 24 | ``` 25 | 26 | Different animation libraries have different ways of writing classes, but most libraries require a setup class, as well as an active class to trigger a transition or animation. 27 | 28 | The default configuration outputs classes like this: 29 | 30 | ```css 31 | .fade-in.mui-enter {} 32 | .fade-in.mui-enter.mui-enter-active {} 33 | ``` 34 | 35 | Set the `chain` property of `$motion-ui-classes` to `false` to create classes like this: 36 | 37 | ```css 38 | .fade-in-mui-enter {} 39 | .fade-in-mui-enter.fade-in-mui-enter-active {} 40 | ``` 41 | 42 | The class output can also be fine-tuned with the `prefix` and `active` properties. 43 | 44 | ## Animation Defaults 45 | 46 | The maps `$motion-ui-speeds`, `$motion-ui-delays`, and `$motion-ui-easings` define terms for animation speeds, delays, and timing functions. For example, the `default` speed of animations is 500ms, while `slow` is 750ms, and `fast` is 250ms. 47 | 48 | ## Other Settings 49 | 50 | Miscellaneous settings are in the `$motion-ui-settings` map. These settings define if animations include a fade, and what class to use for triggering an animation queue. 51 | 52 | ```scss 53 | $motion-ui-settings: ( 54 | slide-and-fade: false, 55 | hinge-and-fade: true, 56 | scale-and-fade: true, 57 | spin-and-fade: true, 58 | activate-queue-class: 'is-animating' 59 | ); 60 | ``` 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/transitions/_hinge.scss: -------------------------------------------------------------------------------- 1 | /// Creates a hinge transition by rotating the element. 2 | /// @param {Keyword} $state [in] - State to transition to. 3 | /// @param {Keyword} $from [left] - Edge of the element to rotate from. Can be `top`, `right`, `bottom`, or `left`. 4 | /// @param {Keyword} $axis [edge] - Axis of the element to rotate on. Can be `edge` or `center`. 5 | /// @param {Length} $perspective [2000px] - Perceived distance between the viewer and the element. A higher number will make the rotation effect more pronounced. 6 | /// @param {Keyword} $turn-origin [from-back] - Side of the element to start the rotation from. Can be `from-back` or `from-front`. 7 | /// @param {Boolean} $fade [true] - Set to `true` to fade the element in or out simultaneously. 8 | /// @param {Duration} $duration [null] - Length (speed) of the transition. 9 | /// @param {Keyword|Function} $timing [null] - Easing of the transition. 10 | /// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts. 11 | @mixin mui-hinge ( 12 | $state: in, 13 | $from: left, 14 | $axis: edge, 15 | $perspective: 2000px, 16 | $turn-origin: from-back, 17 | $fade: map-get($motion-ui-settings, hinge-and-fade), 18 | $duration: null, 19 | $timing: null, 20 | $delay: null 21 | ) { 22 | $hinge: hinge($state, $from, $axis, $perspective, $turn-origin); 23 | 24 | @include transition-start($state) { 25 | @include transition-basics($duration, $timing, $delay); 26 | @include -mui-keyframe-get($hinge, 0); 27 | 28 | @if $fade { 29 | transition-property: transform, opacity; 30 | opacity: if($state == in, 0, 1); 31 | } @else { 32 | transition-property: transform, opacity; 33 | } 34 | } 35 | 36 | @include transition-end($state) { 37 | @include -mui-keyframe-get($hinge, 100); 38 | 39 | @if $fade { 40 | opacity: if($state == in, 1, 0); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_dropdown.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group dropdown 7 | //// 8 | 9 | /// Padding for dropdown panes. 10 | /// @type List 11 | $dropdown-padding: 1rem !default; 12 | 13 | /// Background for dropdown panes. 14 | /// @type Color 15 | $dropdown-background: $body-background !default; 16 | 17 | /// Border for dropdown panes. 18 | /// @type List 19 | $dropdown-border: 1px solid $medium-gray !default; 20 | 21 | /// Font size for dropdown panes. 22 | /// @type List 23 | $dropdown-font-size: 1rem !default; 24 | 25 | /// Width for dropdown panes. 26 | /// @type Number 27 | $dropdown-width: 300px !default; 28 | 29 | /// Border radius dropdown panes. 30 | /// @type Number 31 | $dropdown-radius: $global-radius !default; 32 | 33 | /// Sizes for dropdown panes. Each size is a CSS class you can apply. 34 | /// @type Map 35 | $dropdown-sizes: ( 36 | tiny: 100px, 37 | small: 200px, 38 | large: 400px, 39 | ) !default; 40 | 41 | /// Applies styles for a basic dropdown. 42 | @mixin dropdown-container { 43 | position: absolute; 44 | z-index: 10; 45 | 46 | width: $dropdown-width; 47 | padding: $dropdown-padding; 48 | 49 | visibility: hidden; 50 | display: none; 51 | border: $dropdown-border; 52 | border-radius: $dropdown-radius; 53 | background-color: $dropdown-background; 54 | 55 | font-size: $dropdown-font-size; 56 | 57 | 58 | // Allow an intermittent state to do positioning before making visible. 59 | &.is-opening { 60 | display: block; 61 | } 62 | 63 | &.is-open { 64 | visibility: visible; 65 | display: block; 66 | } 67 | } 68 | 69 | @mixin foundation-dropdown { 70 | .dropdown-pane { 71 | @include dropdown-container; 72 | } 73 | 74 | @each $name, $size in $dropdown-sizes { 75 | .dropdown-pane.#{$name} { 76 | width: $size; 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../var/document", 4 | "../ajax" 5 | ], function( jQuery, document ) { 6 | 7 | "use strict"; 8 | 9 | // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 10 | jQuery.ajaxPrefilter( function( s ) { 11 | if ( s.crossDomain ) { 12 | s.contents.script = false; 13 | } 14 | } ); 15 | 16 | // Install script dataType 17 | jQuery.ajaxSetup( { 18 | accepts: { 19 | script: "text/javascript, application/javascript, " + 20 | "application/ecmascript, application/x-ecmascript" 21 | }, 22 | contents: { 23 | script: /\b(?:java|ecma)script\b/ 24 | }, 25 | converters: { 26 | "text script": function( text ) { 27 | jQuery.globalEval( text ); 28 | return text; 29 | } 30 | } 31 | } ); 32 | 33 | // Handle cache's special case and crossDomain 34 | jQuery.ajaxPrefilter( "script", function( s ) { 35 | if ( s.cache === undefined ) { 36 | s.cache = false; 37 | } 38 | if ( s.crossDomain ) { 39 | s.type = "GET"; 40 | } 41 | } ); 42 | 43 | // Bind script tag hack transport 44 | jQuery.ajaxTransport( "script", function( s ) { 45 | 46 | // This transport only deals with cross domain requests 47 | if ( s.crossDomain ) { 48 | var script, callback; 49 | return { 50 | send: function( _, complete ) { 51 | script = jQuery( "