├── js └── app.js ├── bower_components ├── jquery │ ├── src │ │ ├── outro.js │ │ ├── selector.js │ │ ├── var │ │ │ ├── arr.js │ │ │ ├── rnotwhite.js │ │ │ ├── strundefined.js │ │ │ ├── push.js │ │ │ ├── slice.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── indexOf.js │ │ │ ├── pnum.js │ │ │ ├── hasOwn.js │ │ │ ├── toString.js │ │ │ └── support.js │ │ ├── ajax │ │ │ ├── var │ │ │ │ ├── rquery.js │ │ │ │ └── nonce.js │ │ │ ├── parseJSON.js │ │ │ ├── parseXML.js │ │ │ ├── script.js │ │ │ ├── load.js │ │ │ └── jsonp.js │ │ ├── css │ │ │ ├── var │ │ │ │ ├── rmargin.js │ │ │ │ ├── cssExpand.js │ │ │ │ ├── rnumnonpx.js │ │ │ │ ├── isHidden.js │ │ │ │ └── getStyles.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── addGetHookIf.js │ │ │ ├── swap.js │ │ │ ├── curCSS.js │ │ │ └── defaultDisplay.js │ │ ├── manipulation │ │ │ ├── var │ │ │ │ └── rcheckableType.js │ │ │ ├── _evalUrl.js │ │ │ └── support.js │ │ ├── data │ │ │ ├── var │ │ │ │ ├── data_priv.js │ │ │ │ └── data_user.js │ │ │ └── accepts.js │ │ ├── core │ │ │ ├── var │ │ │ │ └── rsingleTag.js │ │ │ ├── parseHTML.js │ │ │ ├── access.js │ │ │ └── ready.js │ │ ├── traversing │ │ │ ├── var │ │ │ │ └── rneedsContext.js │ │ │ └── findFilter.js │ │ ├── event │ │ │ ├── support.js │ │ │ ├── ajax.js │ │ │ └── alias.js │ │ ├── attributes.js │ │ ├── deprecated.js │ │ ├── effects │ │ │ └── animatedSelector.js │ │ ├── selector-sizzle.js │ │ ├── queue │ │ │ └── delay.js │ │ ├── jquery.js │ │ ├── exports │ │ │ ├── global.js │ │ │ └── amd.js │ │ ├── attributes │ │ │ ├── support.js │ │ │ └── prop.js │ │ ├── intro.js │ │ ├── wrap.js │ │ └── dimensions.js │ ├── bower.json │ ├── .bower.json │ └── MIT-LICENSE.txt ├── foundation-sites │ ├── foundation-sites.scss │ ├── .npmignore │ ├── .editorconfig │ ├── scss │ │ ├── util │ │ │ ├── _util.scss │ │ │ ├── _selector.scss │ │ │ ├── _color.scss │ │ │ └── _unit.scss │ │ ├── components │ │ │ ├── _float.scss │ │ │ ├── _sticky.scss │ │ │ ├── _accordion-menu.scss │ │ │ ├── _title-bar.scss │ │ │ ├── _top-bar.scss │ │ │ ├── _badge.scss │ │ │ ├── _label.scss │ │ │ ├── _thumbnail.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _close-button.scss │ │ │ ├── _drilldown.scss │ │ │ ├── _flex-video.scss │ │ │ ├── _media-object.scss │ │ │ ├── _progress-bar.scss │ │ │ ├── _breadcrumbs.scss │ │ │ ├── _tooltip.scss │ │ │ └── _dropdown-menu.scss │ │ ├── typography │ │ │ ├── _alignment.scss │ │ │ ├── _typography.scss │ │ │ ├── _helpers.scss │ │ │ └── _print.scss │ │ ├── grid │ │ │ ├── _size.scss │ │ │ ├── _layout.scss │ │ │ ├── _gutter.scss │ │ │ ├── _grid.scss │ │ │ ├── _row.scss │ │ │ └── _position.scss │ │ ├── forms │ │ │ ├── _help-text.scss │ │ │ ├── _forms.scss │ │ │ ├── _checkbox.scss │ │ │ ├── _label.scss │ │ │ ├── _fieldset.scss │ │ │ ├── _input-group.scss │ │ │ ├── _select.scss │ │ │ └── _error.scss │ │ └── foundation.scss │ ├── bower.json │ ├── .gitignore │ ├── .bower.json │ ├── LICENSE │ ├── js │ │ ├── util-map.json │ │ ├── foundation.util.timerAndImageLoader.js │ │ ├── foundation.util.motion.js │ │ ├── foundation.util.nest.js │ │ └── foundation.responsiveToggle.js │ └── README.md ├── 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 │ │ │ └── _hinge.scss │ │ ├── motion-ui.scss │ │ ├── transitions │ │ │ ├── _fade.scss │ │ │ ├── _zoom.scss │ │ │ ├── _spin.scss │ │ │ ├── _slide.scss │ │ │ └── _hinge.scss │ │ └── _settings.scss │ ├── bower.json │ ├── docs │ │ ├── readme.md │ │ ├── javascript.md │ │ ├── configuration.md │ │ ├── installation.md │ │ └── classes.md │ ├── .bower.json │ ├── README.md │ ├── LICENSE │ ├── package.json │ ├── dist │ │ └── motion-ui.min.js │ └── gulpfile.js └── what-input │ ├── gulpfile.js │ ├── index.js │ └── tasks │ │ ├── clean.js │ │ ├── serve.js │ │ └── scripts.js │ ├── bower.json │ ├── lte-IE8.js │ ├── package.json │ ├── .bower.json │ ├── LICENSE │ ├── polyfills │ └── ie8 │ │ ├── addEventListener.js │ │ └── indexOf.js │ └── what-input.min.js ├── events.md ├── index.md ├── catalogue.md ├── directory.md ├── img ├── gcc.png ├── teen.png ├── tot.png ├── fitness.png ├── senior.png ├── tai-chi.png ├── youtube.png ├── athletics.png ├── arts-crafts.png ├── candy-hunt.png ├── floor-yoga.png ├── gcc_screens.png ├── hatha-yoga.png ├── hula-dance.png ├── pre-ballet.png ├── zumba-kids.png ├── zy-quigong.png ├── adult-pottery.png ├── creative-dance.png ├── senior-fitness.png ├── senior-pottery.png ├── social-flickr.png ├── social-twitter.png ├── social-youtube.png ├── youth-pottery.png ├── circuit-training.png ├── performing-arts.png ├── social-facebook.png ├── youth-table-tennis.png └── parent-child-pottery.png ├── _data └── _data.xlsx ├── .gitignore ├── _includes ├── class-list.html ├── class-tile.html ├── category-nav.html ├── head.html └── footer.html ├── _layouts ├── page.html ├── category.html ├── default.html └── classes.html ├── bower.json ├── package.json ├── LICENSE ├── scss └── app.scss ├── _config.yml ├── gulpfile.js └── _plugins └── data_page_generator.rb /js/app.js: -------------------------------------------------------------------------------- 1 | $(document).foundation(); -------------------------------------------------------------------------------- /bower_components/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | })); 2 | -------------------------------------------------------------------------------- /events.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: category 3 | --- 4 | #Events -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | img: gcc.png 4 | --- 5 | -------------------------------------------------------------------------------- /catalogue.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: category 3 | --- 4 | ###Catalogue -------------------------------------------------------------------------------- /directory.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: category 3 | --- 4 | #Directory -------------------------------------------------------------------------------- /bower_components/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define([ "./selector-sizzle" ]); 2 | -------------------------------------------------------------------------------- /img/gcc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/gcc.png -------------------------------------------------------------------------------- /img/teen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/teen.png -------------------------------------------------------------------------------- /img/tot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/tot.png -------------------------------------------------------------------------------- /bower_components/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return []; 3 | }); 4 | -------------------------------------------------------------------------------- /img/fitness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/fitness.png -------------------------------------------------------------------------------- /img/senior.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/senior.png -------------------------------------------------------------------------------- /img/tai-chi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/tai-chi.png -------------------------------------------------------------------------------- /img/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/youtube.png -------------------------------------------------------------------------------- /_data/_data.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/_data/_data.xlsx -------------------------------------------------------------------------------- /img/athletics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/athletics.png -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/\?/); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/rnotwhite.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/\S+/g); 3 | }); 4 | -------------------------------------------------------------------------------- /img/arts-crafts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/arts-crafts.png -------------------------------------------------------------------------------- /img/candy-hunt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/candy-hunt.png -------------------------------------------------------------------------------- /img/floor-yoga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/floor-yoga.png -------------------------------------------------------------------------------- /img/gcc_screens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/gcc_screens.png -------------------------------------------------------------------------------- /img/hatha-yoga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/hatha-yoga.png -------------------------------------------------------------------------------- /img/hula-dance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/hula-dance.png -------------------------------------------------------------------------------- /img/pre-ballet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/pre-ballet.png -------------------------------------------------------------------------------- /img/zumba-kids.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/zumba-kids.png -------------------------------------------------------------------------------- /img/zy-quigong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/zy-quigong.png -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/rmargin.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/^margin/); 3 | }); 4 | -------------------------------------------------------------------------------- /img/adult-pottery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/adult-pottery.png -------------------------------------------------------------------------------- /img/creative-dance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/creative-dance.png -------------------------------------------------------------------------------- /img/senior-fitness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/senior-fitness.png -------------------------------------------------------------------------------- /img/senior-pottery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/senior-pottery.png -------------------------------------------------------------------------------- /img/social-flickr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/social-flickr.png -------------------------------------------------------------------------------- /img/social-twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/social-twitter.png -------------------------------------------------------------------------------- /img/social-youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/social-youtube.png -------------------------------------------------------------------------------- /img/youth-pottery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/youth-pottery.png -------------------------------------------------------------------------------- /img/circuit-training.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/circuit-training.png -------------------------------------------------------------------------------- /img/performing-arts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/performing-arts.png -------------------------------------------------------------------------------- /img/social-facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/social-facebook.png -------------------------------------------------------------------------------- /bower_components/jquery/src/var/strundefined.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return typeof undefined; 3 | }); 4 | -------------------------------------------------------------------------------- /img/youth-table-tennis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/youth-table-tennis.png -------------------------------------------------------------------------------- /img/parent-child-pottery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andybywire/cfp-example/HEAD/img/parent-child-pottery.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .sass-cache 3 | .jekyll-metadata 4 | node_modules 5 | _site 6 | _data/*.json 7 | _data/~$_data.xlsx -------------------------------------------------------------------------------- /bower_components/foundation-sites/foundation-sites.scss: -------------------------------------------------------------------------------- 1 | @import 'foundation'; 2 | 3 | @include foundation-everything; 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.push; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.slice; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // [[Class]] -> type pairs 3 | return {}; 4 | }); 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.concat; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.indexOf; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return [ "Top", "Right", "Bottom", "Left" ]; 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/^(?:checkbox|radio)$/i); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core" 3 | ], function( jQuery ) { 4 | return jQuery.now(); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/data_priv.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/data_user.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | }); 6 | -------------------------------------------------------------------------------- /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/hasOwn.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.hasOwnProperty; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.toString; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // Match a standalone tag 3 | return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); 4 | }); 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // All support tests are defined in their respective modules. 3 | return {}; 4 | }); 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | return jQuery.expr.match.needsContext; 6 | }); 7 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | support.focusinBubbles = "onfocusin" in window; 6 | 7 | return support; 8 | 9 | }); 10 | -------------------------------------------------------------------------------- /bower_components/what-input/gulpfile.js/index.js: -------------------------------------------------------------------------------- 1 | var requireDir = require('require-dir'); 2 | 3 | // Require all tasks in gulpfile.js/tasks, including subfolders 4 | requireDir('./tasks', { recurse: true }); 5 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.npmignore: -------------------------------------------------------------------------------- 1 | .sass-cache 2 | _build 3 | bower_components 4 | config 5 | docs 6 | gulp 7 | lib 8 | spec 9 | bower.json 10 | composer.json 11 | CONTRIBUTING.md 12 | gulpfile.js 13 | meteor-README.md 14 | package.js 15 | sache.json 16 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_style = space 7 | indent_size = 2 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /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 | // Return jQuery for attributes-only inclusion 10 | return jQuery; 11 | }); 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /_includes/class-list.html: -------------------------------------------------------------------------------- 1 |
2 | {% for class in site.data.classes %} 3 | {% if page.category == class.category %} 4 | {% include class-tile.html %} 5 | {% elsif page.category == class.age-category %} 6 | {% include class-tile.html %} 7 | {% endif %} 8 | {% endfor %} 9 |
-------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./traversing" 4 | ], function( jQuery ) { 5 | 6 | // The number of elements contained in the matched element set 7 | jQuery.fn.size = function() { 8 | return this.length; 9 | }; 10 | 11 | jQuery.fn.andSelf = jQuery.fn.addBack; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 | {% if page.img %} 7 | 8 | {% endif %} 9 |

{{ page.class-name }}{{ page.first-name}} {{ page.last-name}}{{ page.event-name}}

10 |

{{ page.description }}{{ page.bio }}

11 |
12 | 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/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | jQuery.expr.filters.animated = function( elem ) { 8 | return jQuery.grep(jQuery.timers, function( fn ) { 9 | return elem === fn.elem; 10 | }).length; 11 | }; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /_layouts/category.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | {% if page.img %} 5 | 6 | {% endif %} 7 | 8 |
9 |

{{ page.category-label }}

10 | {% include class-list.html %} 11 | 12 |

All Programs

13 | {% include category-nav.html %} 14 | 15 |
-------------------------------------------------------------------------------- /_includes/class-tile.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |

{{ class.class-name }}

5 |

Age {{ class.age }}

6 |
7 |

{{class.description | truncatewords: 18}}

8 |
9 |
-------------------------------------------------------------------------------- /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 | // Utilities 6 | @import 'unit'; 7 | @import 'value'; 8 | @import 'color'; 9 | @import 'selector'; 10 | 11 | // Libraries 12 | @import 'breakpoint'; 13 | 14 | // Mixins 15 | @import 'mixins'; 16 | -------------------------------------------------------------------------------- /bower_components/what-input/gulpfile.js/tasks/clean.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var del = require('del'); 3 | 4 | 5 | gulp.task('clean', function () { 6 | return del([ 7 | './.DS_Store', 8 | './src/.DS_Store', 9 | './src/**/.DS_Store', 10 | './gulpfile.js/.DS_Store', 11 | './gulpfile.js/**/.DS_Store' 12 | ]); 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | jQuery._evalUrl = function( url ) { 6 | return jQuery.ajax({ 7 | url: url, 8 | type: "GET", 9 | dataType: "script", 10 | async: false, 11 | global: false, 12 | "throws": true 13 | }); 14 | }; 15 | 16 | return jQuery._evalUrl; 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /bower_components/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | jQuery.find = Sizzle; 7 | jQuery.expr = Sizzle.selectors; 8 | jQuery.expr[":"] = jQuery.expr.pseudos; 9 | jQuery.unique = Sizzle.uniqueSort; 10 | jQuery.text = Sizzle.getText; 11 | jQuery.isXMLDoc = Sizzle.isXML; 12 | jQuery.contains = Sizzle.contains; 13 | 14 | }); 15 | -------------------------------------------------------------------------------- /_includes/category-nav.html: -------------------------------------------------------------------------------- 1 |
2 | {% for category in site.data.categories %} 3 | {% if category.class == "main" %} 4 | 5 |

{{ category.category-label }}

6 |
7 | {% endif %} 8 | {% endfor %} 9 |
-------------------------------------------------------------------------------- /bower_components/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | // Attach a bunch of functions for handling common AJAX events 7 | jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { 8 | jQuery.fn[ type ] = function( fn ) { 9 | return this.on( type, fn ); 10 | }; 11 | }); 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/what-input/gulpfile.js/tasks/serve.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var server = require('gulp-server-livereload'); 3 | 4 | 5 | gulp.task('serve', ['clean', 'scripts'], function() { 6 | gulp.src('./') 7 | .pipe(server({ 8 | defaultFile: 'demo.html', 9 | livereload: true, 10 | open: true 11 | })); 12 | 13 | gulp.watch(['./what-input.js', './polyfills/*.js'], ['scripts']); 14 | }); 15 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/isHidden.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core", 3 | "../../selector" 4 | // css is assumed 5 | ], function( jQuery ) { 6 | 7 | return function( elem, el ) { 8 | // isHidden might be called from jQuery#filter function; 9 | // in that case, element will be second argument 10 | elem = el || elem; 11 | return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); 12 | }; 13 | }); 14 | -------------------------------------------------------------------------------- /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/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | jQuery.expr.filters.hidden = function( elem ) { 7 | // Support: Opera <= 12.12 8 | // Opera reports offsetWidths and offsetHeights less than zero on some elements 9 | return elem.offsetWidth <= 0 && elem.offsetHeight <= 0; 10 | }; 11 | jQuery.expr.filters.visible = function( elem ) { 12 | return !jQuery.expr.filters.hidden( elem ); 13 | }; 14 | 15 | }); 16 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return function( elem ) { 3 | // Support: IE<=11+, Firefox<=30+ (#15098, #14150) 4 | // IE throws on elements created in popups 5 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 6 | if ( elem.ownerDocument.defaultView.opener ) { 7 | return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); 8 | } 9 | 10 | return window.getComputedStyle( elem, null ); 11 | }; 12 | }); 13 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/accepts.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | jQuery.acceptData = function( owner ) { 9 | // Accepts only: 10 | // - Node 11 | // - Node.ELEMENT_NODE 12 | // - Node.DOCUMENT_NODE 13 | // - Object 14 | // - Any 15 | /* jshint -W018 */ 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | return jQuery.acceptData; 20 | }); 21 | -------------------------------------------------------------------------------- /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-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | .clearfix { 25 | @include clearfix; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foundation-sites", 3 | "version": "6.0.4", 4 | "main": [ 5 | "scss/foundation.scss", 6 | "js/foundation.js" 7 | ], 8 | "ignore": [ 9 | "config", 10 | "docs", 11 | "gulp", 12 | "lib", 13 | "test", 14 | "composer.json", 15 | "CONTRIBUTING.md", 16 | "gulpfile.js", 17 | "meteor-README.md", 18 | "package.js", 19 | "package.json", 20 | "sache.json" 21 | ], 22 | "dependencies": { 23 | "jquery": "~2.1.0", 24 | "what-input": "~1.1.2" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /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} $from [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.0.0", 13 | "motion-ui": "~1.1.0" 14 | }, 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ], 22 | "private": true 23 | } 24 | -------------------------------------------------------------------------------- /bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.4", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "dist/cdn", 10 | "speed", 11 | "test", 12 | "*.md", 13 | "AUTHORS.txt", 14 | "Gruntfile.js", 15 | "package.json" 16 | ], 17 | "devDependencies": { 18 | "sizzle": "2.1.1-jquery.2.1.2", 19 | "requirejs": "2.1.10", 20 | "qunit": "1.14.0", 21 | "sinon": "1.8.1" 22 | }, 23 | "keywords": [ 24 | "jquery", 25 | "javascript", 26 | "library" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/motion-ui/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "motion-ui", 3 | "version": "1.1.1", 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.1.4" 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 | -------------------------------------------------------------------------------- /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 | 28 | 29 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | 3 | function addGetHookIf( conditionFn, hookFn ) { 4 | // Define the hook, we'll check on the first run if it's really needed. 5 | return { 6 | get: function() { 7 | if ( conditionFn() ) { 8 | // Hook not needed (or it's not possible to use it due 9 | // to missing dependency), remove it. 10 | delete this.get; 11 | return; 12 | } 13 | 14 | // Hook needed; redefine it so that the support test is not executed again. 15 | return (this.get = hookFn).apply( this, arguments ); 16 | } 17 | }; 18 | } 19 | 20 | return addGetHookIf; 21 | 22 | }); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml, tmp; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | tmp = new DOMParser(); 15 | xml = tmp.parseFromString( data, "text/xml" ); 16 | } catch ( e ) { 17 | xml = undefined; 18 | } 19 | 20 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 21 | jQuery.error( "Invalid XML: " + data ); 22 | } 23 | return xml; 24 | }; 25 | 26 | return jQuery.parseXML; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /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 != 'small' { 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/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 | // Based off of the plugin by Clint Helfers, with permission. 8 | // http://blindsignals.com/index.php/2009/07/jquery-delay/ 9 | jQuery.fn.delay = function( time, type ) { 10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 11 | type = type || "fx"; 12 | 13 | return this.queue( type, function( next, hooks ) { 14 | var timeout = setTimeout( next, time ); 15 | hooks.stop = function() { 16 | clearTimeout( timeout ); 17 | }; 18 | }); 19 | }; 20 | 21 | return jQuery.fn.delay; 22 | }); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/swap.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // A method for quickly swapping in/out CSS properties to get correct calculations. 6 | jQuery.swap = 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 | return jQuery.swap; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /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 | // scss-lint:disable DeclarationOrder 10 | 11 | // Base typography styles (tags only) 12 | @import 'base'; 13 | 14 | // Typography helper classes (classes only) 15 | @import 'helpers'; 16 | 17 | // Text alignment classes 18 | @import 'alignment'; 19 | 20 | // Print styles 21 | @import 'print'; 22 | 23 | @mixin foundation-typography { 24 | @include foundation-typography-base; 25 | @include foundation-typography-helpers; 26 | @include foundation-text-alignment; 27 | @include foundation-print-styles; 28 | } 29 | -------------------------------------------------------------------------------- /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/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 | $keyframes: ( 23 | name: 'fade-#{$from}-to-#{$to}', 24 | 0: (opacity: $from), 25 | 100: (opacity: $to), 26 | ); 27 | 28 | @return $keyframes; 29 | } 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: absolute; 12 | z-index: 0; 13 | transform: translate3d(0,0,0); 14 | } 15 | 16 | .sticky.is-stuck { 17 | position: fixed; 18 | z-index: 5; 19 | 20 | &.is-at-top { 21 | top: 0; 22 | } 23 | 24 | &.is-at-bottom { 25 | bottom: 0; 26 | } 27 | } 28 | 29 | .sticky.is-anchored { 30 | position: absolute; 31 | left: auto; 32 | right: auto; 33 | 34 | &.is-at-bottom { 35 | bottom: 0; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /bower_components/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./core/ready", 8 | "./data", 9 | "./queue", 10 | "./queue/delay", 11 | "./attributes", 12 | "./event", 13 | "./event/alias", 14 | "./manipulation", 15 | "./manipulation/_evalUrl", 16 | "./wrap", 17 | "./css", 18 | "./css/hiddenVisibleSelectors", 19 | "./serialize", 20 | "./ajax", 21 | "./ajax/xhr", 22 | "./ajax/script", 23 | "./ajax/jsonp", 24 | "./ajax/load", 25 | "./event/ajax", 26 | "./effects", 27 | "./effects/animatedSelector", 28 | "./offset", 29 | "./dimensions", 30 | "./deprecated", 31 | "./exports/amd", 32 | "./exports/global" 33 | ], function( jQuery ) { 34 | 35 | return jQuery; 36 | 37 | }); 38 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /_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/foundation-sites/scss/components/_accordion-menu.scss: -------------------------------------------------------------------------------- 1 | //// 2 | /// @group accordion-menu 3 | //// 4 | 5 | /// Sets if accordion menus have the default arrow styles. 6 | /// @type Boolean 7 | $accordionmenu-arrows: true !default; 8 | 9 | @mixin foundation-accordion-menu { 10 | @if $accordionmenu-arrows { 11 | .is-accordion-submenu-parent > a { 12 | position: relative; 13 | 14 | &::after { 15 | @include css-triangle(6px, $primary-color, down); 16 | position: absolute; 17 | top: 50%; 18 | margin-top: -4px; 19 | right: 1rem; 20 | } 21 | } 22 | 23 | .is-accordion-submenu-parent[aria-expanded='true'] > a::after { 24 | transform-origin: 50% 50%; 25 | transform: scaleY(-1); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /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: #333 !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/what-input/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "what-input", 3 | "version": "1.1.2", 4 | "homepage": "https://github.com/ten1seven/what-input", 5 | "authors": [ 6 | "Jeremy Fields " 7 | ], 8 | "description": "A global utility for tracking the current input method (mouse, keyboard or touch).", 9 | "main": "what-input.js", 10 | "moduleType": [ 11 | "amd" 12 | ], 13 | "keywords": [ 14 | "accessibility", 15 | "a11y", 16 | "input", 17 | "javascript" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "node_modules", 23 | "bower_components", 24 | "test", 25 | "tests" 26 | ], 27 | "repository": { 28 | "type": "git", 29 | "url": "git://github.com/ten1seven/what-input.git" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/grid/_layout.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 | /// 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 ['.column'] - Selector(s) to use for child elements. 13 | @mixin grid-layout( 14 | $n, 15 | $selector: '.column' 16 | ) { 17 | #{$selector} { 18 | width: percentage(1/$n); 19 | float: $global-left; 20 | 21 | &:nth-of-type(1n) { 22 | clear: none; 23 | } 24 | 25 | &:nth-of-type(#{$n}n+1) { 26 | clear: both; 27 | } 28 | 29 | &:last-child { 30 | float: left; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../var/strundefined" 4 | ], function( jQuery, strundefined ) { 5 | 6 | var 7 | // Map over jQuery in case of overwrite 8 | _jQuery = window.jQuery, 9 | 10 | // Map over the $ in case of overwrite 11 | _$ = window.$; 12 | 13 | jQuery.noConflict = function( deep ) { 14 | if ( window.$ === jQuery ) { 15 | window.$ = _$; 16 | } 17 | 18 | if ( deep && window.jQuery === jQuery ) { 19 | window.jQuery = _jQuery; 20 | } 21 | 22 | return jQuery; 23 | }; 24 | 25 | // Expose jQuery and $ identifiers, even in AMD 26 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 27 | // and CommonJS for browser emulators (#13566) 28 | if ( typeof noGlobal === strundefined ) { 29 | window.jQuery = window.$ = jQuery; 30 | } 31 | 32 | }); 33 | -------------------------------------------------------------------------------- /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 14 | 'text', 15 | 'checkbox', 16 | 'label', 17 | 'help-text', 18 | 'input-group', 19 | 'fieldset', 20 | 'select', 21 | 'error'; 22 | 23 | @mixin foundation-forms { 24 | @include foundation-form-text; 25 | @include foundation-form-checkbox; 26 | @include foundation-form-label; 27 | @include foundation-form-helptext; 28 | @include foundation-form-prepostfix; 29 | @include foundation-form-fieldset; 30 | @include foundation-form-select; 31 | @include foundation-form-error; 32 | } 33 | -------------------------------------------------------------------------------- /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.1", 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/.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | *.gem 3 | *.orig 4 | *.rbc 5 | *.rbenv-version 6 | *.ruby-version 7 | *.scssc 8 | *.sublime-* 9 | *.swp 10 | *.swo 11 | .bundle 12 | .config 13 | .grunt 14 | .idea 15 | .sass-cache/* 16 | .yardoc 17 | _build 18 | 19 | bower_components 20 | bundle 21 | build/* 22 | /docs2/public/* 23 | _yardoc 24 | coverage 25 | docs/public/* 26 | InstalledFiles 27 | lib/bundler/man 28 | marketing/.sass-cache/* 29 | node_modules 30 | pkg 31 | rdoc 32 | spec/reports 33 | npm-debug.log 34 | _debug.json 35 | 36 | *.orig 37 | node_modules 38 | docs/public/* 39 | *.scssc 40 | *.rbenv-version 41 | *.ruby-version 42 | /docs2/public/* 43 | .settings 44 | .project 45 | test/scss/output-test 46 | test/tmp 47 | test/version_tmp 48 | tmp 49 | testing/_build 50 | 51 | pizza/ 52 | data.json 53 | npm-debug.log 54 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/grid/_gutter.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 | /// Collapse the gutters on a column by removing the padding. 10 | @mixin grid-column-collapse() { 11 | padding-left: 0; 12 | padding-right: 0; 13 | } 14 | 15 | /// Un-collapse the gutters on a column by re-adding the padding. 16 | @mixin grid-column-uncollapse() { 17 | padding-left: $grid-column-gutter; 18 | padding-right: $grid-column-gutter; 19 | } 20 | 21 | /// Shorthand for `grid-column-collapse()`. 22 | /// @alias grid-column-collapse 23 | @mixin grid-col-collapse() { 24 | @include grid-column-collapse; 25 | } 26 | 27 | /// Shorthand for `grid-column-uncollapse()`. 28 | /// @alias grid-column-uncollapse 29 | @mixin grid-col-uncollapse() { 30 | @include grid-column-uncollapse; 31 | } 32 | -------------------------------------------------------------------------------- /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/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foundation-sites", 3 | "version": "6.0.4", 4 | "main": [ 5 | "scss/foundation.scss", 6 | "js/foundation.js" 7 | ], 8 | "ignore": [ 9 | "config", 10 | "docs", 11 | "gulp", 12 | "lib", 13 | "test", 14 | "composer.json", 15 | "CONTRIBUTING.md", 16 | "gulpfile.js", 17 | "meteor-README.md", 18 | "package.js", 19 | "package.json", 20 | "sache.json" 21 | ], 22 | "dependencies": { 23 | "jquery": "~2.1.0", 24 | "what-input": "~1.1.2" 25 | }, 26 | "homepage": "https://github.com/zurb/foundation-sites", 27 | "_release": "6.0.4", 28 | "_resolution": { 29 | "type": "version", 30 | "tag": "v6.0.4", 31 | "commit": "8ff8ba68f1d1b0b4c6299e0e1e6fee2b5999fcbe" 32 | }, 33 | "_source": "git://github.com/zurb/foundation-sites.git", 34 | "_target": "~6.0.0", 35 | "_originalSource": "foundation-sites" 36 | } -------------------------------------------------------------------------------- /bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.4", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "dist/cdn", 10 | "speed", 11 | "test", 12 | "*.md", 13 | "AUTHORS.txt", 14 | "Gruntfile.js", 15 | "package.json" 16 | ], 17 | "devDependencies": { 18 | "sizzle": "2.1.1-jquery.2.1.2", 19 | "requirejs": "2.1.10", 20 | "qunit": "1.14.0", 21 | "sinon": "1.8.1" 22 | }, 23 | "keywords": [ 24 | "jquery", 25 | "javascript", 26 | "library" 27 | ], 28 | "homepage": "https://github.com/jquery/jquery", 29 | "_release": "2.1.4", 30 | "_resolution": { 31 | "type": "version", 32 | "tag": "2.1.4", 33 | "commit": "7751e69b615c6eca6f783a81e292a55725af6b85" 34 | }, 35 | "_source": "git://github.com/jquery/jquery.git", 36 | "_target": "~2.1.4", 37 | "_originalSource": "jquery" 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 | margin-#{$global-left}: $form-spacing * 0.5; 21 | margin-#{$global-right}: $form-spacing; 22 | margin-bottom: 0; 23 | vertical-align: baseline; 24 | } 25 | 26 | // Styles for inputs inside labels 27 | label > [type='checkbox'], 28 | label > [type='label'] { 29 | margin-#{$global-right}: $form-spacing * 0.5; 30 | } 31 | 32 | // Normalize file input width 33 | [type='file'] { 34 | width: 100%; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /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. 18 | /// @type Number 19 | $grid-column-gutter: 30px !default; 20 | 21 | /// The highest number of `.x-up` classes available when using the block grid CSS. 22 | /// @type Number 23 | $block-grid-max: 6 !default; 24 | 25 | @import 'row'; 26 | @import 'column'; 27 | @import 'size'; 28 | @import 'position'; 29 | @import 'gutter'; 30 | @import 'classes'; 31 | @import 'layout'; 32 | 33 | @import 'flex-grid'; 34 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_title-bar.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group title-bar 7 | //// 8 | 9 | @mixin foundation-title-bar { 10 | .title-bar { 11 | @include clearfix; 12 | background: $black; 13 | color: $white; 14 | padding: 0.5rem; 15 | 16 | .menu-icon { 17 | margin-#{$global-left}: 0.25rem; 18 | margin-#{$global-right}: 0.5rem; 19 | } 20 | } 21 | 22 | .title-bar-left { 23 | float: left; 24 | } 25 | 26 | .title-bar-right { 27 | float: right; 28 | text-align: right; 29 | } 30 | 31 | .title-bar-title { 32 | font-weight: bold; 33 | vertical-align: middle; 34 | display: inline-block; 35 | } 36 | 37 | .menu-icon { 38 | @include hamburger($color: white, $color-hover: $medium-gray); 39 | } 40 | 41 | .menu-icon.dark { 42 | @include hamburger; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bower_components/what-input/lte-IE8.js: -------------------------------------------------------------------------------- 1 | !function(t,e){function n(t){var n=e[t];e[t]=function(t){return a(n(t))}}function r(e,n,r){return(r=this).attachEvent("on"+e,function(e){var e=e||t.event;e.preventDefault=e.preventDefault||function(){e.returnValue=!1},e.stopPropagation=e.stopPropagation||function(){e.cancelBubble=!0},n.call(r,e)})}function a(t,e){if(e=t.length)for(;e--;)t[e].addEventListener=r;else t.addEventListener=r;return t}t.addEventListener||(a([e,t]),"Element"in t?t.Element.prototype.addEventListener=r:(e.attachEvent("onreadystatechange",function(){a(e.all)}),n("getElementsByTagName"),n("getElementById"),n("createElement"),a(e.all)))}(window,document),Array.prototype.indexOf||(Array.prototype.indexOf=function(t,e){var n;if(null==this)throw new TypeError('"this" is null or not defined');var r=Object(this),a=r.length>>>0;if(0===a)return-1;var i=+e||0;if(Math.abs(i)===1/0&&(i=0),i>=a)return-1;for(n=Math.max(i>=0?i:a-Math.abs(i),0);a>n;){if(n in r&&r[n]===t)return n;n++}return-1}); -------------------------------------------------------------------------------- /bower_components/motion-ui/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "motion-ui", 3 | "version": "1.1.1", 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.1.4" 27 | }, 28 | "homepage": "https://github.com/zurb/motion-ui", 29 | "_release": "1.1.1", 30 | "_resolution": { 31 | "type": "version", 32 | "tag": "v1.1.1", 33 | "commit": "380fbca4b0dbced0669020fd653ca0d17b945193" 34 | }, 35 | "_source": "git://github.com/zurb/motion-ui.git", 36 | "_target": "~1.1.0", 37 | "_originalSource": "motion-ui" 38 | } -------------------------------------------------------------------------------- /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 | @function text-inputs($types: ()) { 13 | $return: (); 14 | 15 | $all-types: 16 | text 17 | password 18 | date 19 | datetime 20 | datetime-local 21 | month 22 | week 23 | email 24 | number 25 | search 26 | tel 27 | time 28 | url 29 | color; 30 | 31 | @if not has-value($types) { 32 | $types: $all-types; 33 | } 34 | 35 | @each $type in $types { 36 | $return: append($return, unquote('[type=\'#{$type}\']'), comma); 37 | } 38 | 39 | @return $return; 40 | } 41 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "what-input", 3 | "version": "1.1.2", 4 | "description": "A global utility for tracking the current input method (mouse, keyboard or touch).", 5 | "main": "what-input.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/ten1seven/what-input.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 | "homepage": "https://github.com/ten1seven/what-input", 22 | "devDependencies": { 23 | "del": "^2.0.2", 24 | "gulp": "^3.9.0", 25 | "gulp-concat": "^2.6.0", 26 | "gulp-jshint": "^1.11.2", 27 | "gulp-notify": "^2.2.0", 28 | "gulp-plumber": "^1.0.1", 29 | "gulp-rename": "^1.2.2", 30 | "gulp-server-livereload": "^1.5.3", 31 | "gulp-uglify": "^1.4.1", 32 | "require-dir": "^0.3.0" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /bower_components/motion-ui/README.md: -------------------------------------------------------------------------------- 1 | # Motion UI 2 | 3 | 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. 4 | 5 | ## Installation 6 | 7 | - On npm: `npm install motion-ui` 8 | - On Bower: `bower install motion-ui` 9 | 10 | ## Demos 11 | 12 | [View live demos on the ZURB Playground.](http://zurb.com/playground/motion-ui) 13 | 14 | ## Documentation 15 | 16 | [View the documentation here.](docs) 17 | 18 | ## Develop Locally 19 | 20 | ``` 21 | git clone https://github.com/zurb/motion-ui 22 | cd motion-ui 23 | npm install 24 | ``` 25 | 26 | - Run `npm start` to compile test Sass/JS files, and to build the documentation. 27 | - **To make changes to the documentation, edit the files under `docs/src`. 28 | - Run `npm test` to run the unit tests. 29 | - Run `npm start dist` to compile distribution files. 30 | -------------------------------------------------------------------------------- /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/jquery/src/attributes/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | (function() { 6 | var input = document.createElement( "input" ), 7 | select = document.createElement( "select" ), 8 | opt = select.appendChild( document.createElement( "option" ) ); 9 | 10 | input.type = "checkbox"; 11 | 12 | // Support: iOS<=5.1, Android<=4.2+ 13 | // Default value for a checkbox should be "on" 14 | support.checkOn = input.value !== ""; 15 | 16 | // Support: IE<=11+ 17 | // Must access selectedIndex to make default options select 18 | support.optSelected = opt.selected; 19 | 20 | // Support: Android<=2.3 21 | // Options inside disabled selects are incorrectly marked as disabled 22 | select.disabled = true; 23 | support.optDisabled = !opt.disabled; 24 | 25 | // Support: IE<=11+ 26 | // An input loses its value after becoming a radio 27 | input = document.createElement( "input" ); 28 | input.value = "t"; 29 | input.type = "radio"; 30 | support.radioValue = input.value === "t"; 31 | })(); 32 | 33 | return support; 34 | 35 | }); 36 | -------------------------------------------------------------------------------- /bower_components/what-input/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "what-input", 3 | "version": "1.1.2", 4 | "homepage": "https://github.com/ten1seven/what-input", 5 | "authors": [ 6 | "Jeremy Fields " 7 | ], 8 | "description": "A global utility for tracking the current input method (mouse, keyboard or touch).", 9 | "main": "what-input.js", 10 | "moduleType": [ 11 | "amd" 12 | ], 13 | "keywords": [ 14 | "accessibility", 15 | "a11y", 16 | "input", 17 | "javascript" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "node_modules", 23 | "bower_components", 24 | "test", 25 | "tests" 26 | ], 27 | "repository": { 28 | "type": "git", 29 | "url": "git://github.com/ten1seven/what-input.git" 30 | }, 31 | "_release": "1.1.2", 32 | "_resolution": { 33 | "type": "version", 34 | "tag": "1.1.2", 35 | "commit": "9bca0991c2c3dbcac1d301b4fd1aa613839f3d12" 36 | }, 37 | "_source": "git://github.com/ten1seven/what-input.git", 38 | "_target": "~1.1.2", 39 | "_originalSource": "what-input" 40 | } -------------------------------------------------------------------------------- /bower_components/what-input/gulpfile.js/tasks/scripts.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var plumber = require('gulp-plumber'); 3 | var jshint = require('gulp-jshint'); 4 | var notify = require('gulp-notify'); 5 | var uglify = require('gulp-uglify'); 6 | var rename = require('gulp-rename'); 7 | var concat = require('gulp-concat'); 8 | 9 | 10 | gulp.task('scripts-uglify', function() { 11 | return gulp.src(['./what-input.js']) 12 | .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")})) 13 | .pipe(jshint()) 14 | .pipe(uglify()) 15 | .pipe(rename('what-input.min.js')) 16 | .pipe(gulp.dest('./')) 17 | .pipe(notify('Scripts uglify task complete')); 18 | }); 19 | 20 | 21 | gulp.task('scripts-ie8', function() { 22 | return gulp.src(['./src/polyfills/ie8/*.js']) 23 | .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")})) 24 | .pipe(concat('lte-IE8.js')) 25 | .pipe(uglify()) 26 | .pipe(gulp.dest('./')) 27 | .pipe(notify('IE8 scripts task complete')); 28 | }); 29 | 30 | 31 | gulp.task('scripts', ['scripts-uglify', 'scripts-ie8']); 32 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports/amd.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Register as a named AMD module, since jQuery can be concatenated with other 6 | // files that may use define, but not via a proper concatenation script that 7 | // understands anonymous AMD modules. A named AMD is safest and most robust 8 | // way to register. Lowercase jquery is used because AMD module names are 9 | // derived from file names, and jQuery is normally delivered in a lowercase 10 | // file name. Do this after creating the global so that if an AMD module wants 11 | // to call noConflict to hide this version of jQuery, it will work. 12 | 13 | // Note that for maximum portability, libraries that are not jQuery should 14 | // declare themselves as anonymous modules, and avoid setting a global if an 15 | // AMD loader is present. jQuery is a special case. For more information, see 16 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 17 | 18 | if ( typeof define === "function" && define.amd ) { 19 | define( "jquery", [], function() { 20 | return jQuery; 21 | }); 22 | } 23 | 24 | }); 25 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/parseHTML.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "./var/rsingleTag", 4 | "../manipulation" // buildFragment 5 | ], function( jQuery, rsingleTag ) { 6 | 7 | // data: string of html 8 | // context (optional): If specified, the fragment will be created in this context, defaults to document 9 | // keepScripts (optional): If true, will include scripts passed in the html string 10 | jQuery.parseHTML = function( data, context, keepScripts ) { 11 | if ( !data || typeof data !== "string" ) { 12 | return null; 13 | } 14 | if ( typeof context === "boolean" ) { 15 | keepScripts = context; 16 | context = false; 17 | } 18 | context = context || document; 19 | 20 | var parsed = rsingleTag.exec( data ), 21 | scripts = !keepScripts && []; 22 | 23 | // Single tag 24 | if ( parsed ) { 25 | return [ context.createElement( parsed[1] ) ]; 26 | } 27 | 28 | parsed = jQuery.buildFragment( [ data ], context, scripts ); 29 | 30 | if ( scripts && scripts.length ) { 31 | jQuery( scripts ).remove(); 32 | } 33 | 34 | return jQuery.merge( [], parsed.childNodes ); 35 | }; 36 | 37 | return jQuery.parseHTML; 38 | 39 | }); 40 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | (function() { 6 | var fragment = document.createDocumentFragment(), 7 | div = fragment.appendChild( document.createElement( "div" ) ), 8 | input = document.createElement( "input" ); 9 | 10 | // Support: Safari<=5.1 11 | // Check state lost if the name is set (#11217) 12 | // Support: Windows Web Apps (WWA) 13 | // `name` and `type` must use .setAttribute for WWA (#14901) 14 | input.setAttribute( "type", "radio" ); 15 | input.setAttribute( "checked", "checked" ); 16 | input.setAttribute( "name", "t" ); 17 | 18 | div.appendChild( input ); 19 | 20 | // Support: Safari<=5.1, Android<4.2 21 | // Older WebKit doesn't clone checked state correctly in fragments 22 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 23 | 24 | // Support: IE<=11+ 25 | // Make sure textarea (and checkbox) defaultValue is properly cloned 26 | div.innerHTML = ""; 27 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 28 | })(); 29 | 30 | return support; 31 | 32 | }); 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Andy Fitzgerald 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/motion-ui/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2015 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. -------------------------------------------------------------------------------- /bower_components/foundation-sites/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2015 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/what-input/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 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 | 23 | -------------------------------------------------------------------------------- /bower_components/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 jQuery Foundation and other contributors 2 | http://jquery.com/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bower_components/what-input/polyfills/ie8/addEventListener.js: -------------------------------------------------------------------------------- 1 | //addEventListener polyfill 1.0 / Eirik Backer / MIT Licence 2 | (function(win, doc){ 3 | if(win.addEventListener)return; //No need to polyfill 4 | 5 | function docHijack(p){var old = doc[p];doc[p] = function(v){return addListen(old(v))}} 6 | function addEvent(on, fn, self){ 7 | return (self = this).attachEvent('on' + on, function(e){ 8 | var e = e || win.event; 9 | e.preventDefault = e.preventDefault || function(){e.returnValue = false} 10 | e.stopPropagation = e.stopPropagation || function(){e.cancelBubble = true} 11 | fn.call(self, e); 12 | }); 13 | } 14 | function addListen(obj, i){ 15 | if(i = obj.length)while(i--)obj[i].addEventListener = addEvent; 16 | else obj.addEventListener = addEvent; 17 | return obj; 18 | } 19 | 20 | addListen([doc, win]); 21 | if('Element' in win)win.Element.prototype.addEventListener = addEvent; //IE8 22 | else{ //IE < 8 23 | doc.attachEvent('onreadystatechange', function(){addListen(doc.all)}); //Make sure we also init at domReady 24 | docHijack('getElementsByTagName'); 25 | docHijack('getElementById'); 26 | docHijack('createElement'); 27 | addListen(doc.all); 28 | } 29 | })(window, document); 30 | -------------------------------------------------------------------------------- /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.1.1", 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": "2.1.0-beta", 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.1.4" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + 7 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 8 | "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { 9 | 10 | // Handle event binding 11 | jQuery.fn[ name ] = function( data, fn ) { 12 | return arguments.length > 0 ? 13 | this.on( name, null, data, fn ) : 14 | this.trigger( name ); 15 | }; 16 | }); 17 | 18 | jQuery.fn.extend({ 19 | hover: function( fnOver, fnOut ) { 20 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 21 | }, 22 | 23 | bind: function( types, data, fn ) { 24 | return this.on( types, null, data, fn ); 25 | }, 26 | unbind: function( types, fn ) { 27 | return this.off( types, null, fn ); 28 | }, 29 | 30 | delegate: function( selector, types, data, fn ) { 31 | return this.on( types, selector, data, fn ); 32 | }, 33 | undelegate: function( selector, types, fn ) { 34 | // ( namespace ) or ( selector, types [, fn] ) 35 | return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); 36 | } 37 | }); 38 | 39 | }); 40 | -------------------------------------------------------------------------------- /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 | font-size: $form-label-font-size; 29 | font-weight: $form-label-font-weight; 30 | line-height: $form-label-line-height; 31 | color: $form-label-color; 32 | } 33 | 34 | @mixin form-label-middle { 35 | $input-border-width: get-border-value($input-border, width); 36 | margin: 0 0 $form-spacing; 37 | padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0; 38 | } 39 | 40 | @mixin foundation-form-label { 41 | label { 42 | @include form-label; 43 | 44 | &.middle { 45 | @include form-label-middle; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /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 | border: $fieldset-border; 27 | padding: $fieldset-padding; 28 | margin: $fieldset-margin; 29 | 30 | legend { 31 | // Covers up the fieldset's border to create artificial padding 32 | background: $body-background; 33 | padding: $legend-padding; 34 | margin: 0; 35 | margin-#{$global-left}: rem-calc(-3); 36 | } 37 | } 38 | 39 | @mixin foundation-form-fieldset { 40 | fieldset { 41 | border: 0; 42 | padding: 0; 43 | margin: 0; 44 | } 45 | 46 | legend { 47 | margin-bottom: $form-spacing * 0.5; 48 | } 49 | 50 | .fieldset { 51 | @include fieldset; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /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 be 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/scss/components/_top-bar.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group top-bar 7 | //// 8 | 9 | /// Padding for the top bar. 10 | /// @type Number 11 | $topbar-padding: 0.5rem !default; 12 | 13 | /// Background color for the top bar. This color also cascades to menus within the top bar. 14 | /// @type Color 15 | $topbar-background: #eee !default; 16 | 17 | /// Color for links inside a top bar menu. 18 | /// @type Color 19 | $topbar-link-color: #fff !default; 20 | 21 | /// Width of `` elements inside the top bar. 22 | /// @type Number 23 | $topbar-input-width: 200px !default; 24 | 25 | /// Adds styles for a top bar container. 26 | @mixin top-bar-container { 27 | @include clearfix; 28 | padding: $topbar-padding; 29 | 30 | &, ul { 31 | background-color: $topbar-background; 32 | } 33 | 34 | input { 35 | width: $topbar-input-width; 36 | margin-#{$global-right}: 1rem; 37 | } 38 | } 39 | 40 | @mixin foundation-top-bar { 41 | // Top bar container 42 | .top-bar { 43 | @include top-bar-container; 44 | } 45 | 46 | // Sub-sections 47 | // Stack on small screens 48 | @include breakpoint(medium) { 49 | .top-bar-left { 50 | float: left; 51 | } 52 | 53 | .top-bar-right { 54 | float: right 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /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: foreground($badge-background) !default; 16 | 17 | /// Default padding inside badges. 18 | /// @type Number 19 | $badge-padding: 0.3em !default; 20 | 21 | /// Minimum width of a badge. 22 | /// @type Number 23 | $badge-minwidth: 2.1em !default; 24 | 25 | /// Default font size for badges. 26 | /// @type Number 27 | $badge-font-size: 0.6rem !default; 28 | 29 | /// Generates the base styles for a badge. 30 | @mixin badge { 31 | display: inline-block; 32 | padding: $badge-padding; 33 | min-width: $badge-minwidth; 34 | font-size: $badge-font-size; 35 | text-align: center; 36 | border-radius: 50%; 37 | } 38 | 39 | @mixin foundation-badge { 40 | .badge { 41 | @include badge; 42 | 43 | background: $badge-background; 44 | color: $badge-color; 45 | 46 | @each $name, $color in $foundation-colors { 47 | @if $name != primary { 48 | &.#{$name} { 49 | background: $color; 50 | color: foreground($color); 51 | } 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /scss/app.scss: -------------------------------------------------------------------------------- 1 | @charset 'utf-8'; 2 | 3 | @import 'settings'; 4 | @import 'foundation'; 5 | @import 'motion-ui'; 6 | 7 | 8 | @include foundation-global-styles; 9 | @include foundation-grid; 10 | @include foundation-typography; 11 | @include foundation-button; 12 | @include foundation-forms; 13 | @include foundation-visibility-classes; 14 | @include foundation-float-classes; 15 | @include foundation-accordion; 16 | @include foundation-badge; 17 | @include foundation-breadcrumbs; 18 | @include foundation-button-group; 19 | @include foundation-callout; 20 | @include foundation-close-button; 21 | @include foundation-drilldown-menu; 22 | @include foundation-dropdown; 23 | @include foundation-dropdown-menu; 24 | @include foundation-flex-video; 25 | @include foundation-label; 26 | @include foundation-media-object; 27 | @include foundation-menu; 28 | @include foundation-off-canvas; 29 | @include foundation-orbit; 30 | @include foundation-pagination; 31 | @include foundation-progress-bar; 32 | @include foundation-slider; 33 | @include foundation-sticky; 34 | @include foundation-reveal; 35 | @include foundation-switch; 36 | @include foundation-table; 37 | @include foundation-tabs; 38 | @include foundation-thumbnail; 39 | @include foundation-title-bar; 40 | @include foundation-tooltip; 41 | @include foundation-top-bar; 42 | 43 | @include motion-ui-transitions; 44 | @include motion-ui-animations; 45 | 46 | @import 'custom-styles'; -------------------------------------------------------------------------------- /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: foreground($label-background) !default; 16 | 17 | /// Default font size for labels. 18 | /// @type Number 19 | $label-font-size: 0.8rem !default; 20 | 21 | /// Default padding inside labels. 22 | /// @type Number 23 | $label-padding: 0.33333rem 0.5rem !default; 24 | 25 | /// Default radius of labels. 26 | /// @type Number 27 | $label-radius: $global-radius !default; 28 | 29 | /// Generates base styles for a label. 30 | @mixin label { 31 | display: inline-block; 32 | padding: $label-padding; 33 | font-size: $label-font-size; 34 | line-height: 1; 35 | white-space: nowrap; 36 | cursor: default; 37 | border-radius: $label-radius; 38 | } 39 | 40 | @mixin foundation-label { 41 | .label { 42 | @include label; 43 | 44 | background: $label-background; 45 | color: $label-color; 46 | 47 | @each $name, $color in $foundation-colors { 48 | @if $name != primary { 49 | &.#{$name} { 50 | background: $color; 51 | color: foreground($color); 52 | } 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/access.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Multifunctional method to get and set values of a collection 6 | // The value/s can optionally be executed if it's a function 7 | var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 8 | var i = 0, 9 | len = elems.length, 10 | bulk = key == null; 11 | 12 | // Sets many values 13 | if ( jQuery.type( key ) === "object" ) { 14 | chainable = true; 15 | for ( i in key ) { 16 | jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); 17 | } 18 | 19 | // Sets one value 20 | } else if ( value !== undefined ) { 21 | chainable = true; 22 | 23 | if ( !jQuery.isFunction( value ) ) { 24 | raw = true; 25 | } 26 | 27 | if ( bulk ) { 28 | // Bulk operations run against the entire set 29 | if ( raw ) { 30 | fn.call( elems, value ); 31 | fn = null; 32 | 33 | // ...except when executing function values 34 | } else { 35 | bulk = fn; 36 | fn = function( elem, key, value ) { 37 | return bulk.call( jQuery( elem ), value ); 38 | }; 39 | } 40 | } 41 | 42 | if ( fn ) { 43 | for ( ; i < len; i++ ) { 44 | fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); 45 | } 46 | } 47 | } 48 | 49 | return chainable ? 50 | elems : 51 | 52 | // Gets 53 | bulk ? 54 | fn.call( elems ) : 55 | len ? fn( elems[0], key ) : emptyGet; 56 | }; 57 | 58 | return access; 59 | 60 | }); 61 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_thumbnail.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group thumbnail 7 | //// 8 | 9 | /// Border around thumbnail images. 10 | /// @type Border 11 | $thumbnail-border: solid 4px $white !default; 12 | 13 | /// Bottom margin for thumbnail images. 14 | /// @type Length 15 | $thumbnail-margin-bottom: $global-margin !default; 16 | 17 | /// Box shadow under thumbnail images. 18 | /// @type Shadow 19 | $thumbnail-shadow: 0 0 0 1px rgba($black, 0.2) !default; 20 | 21 | /// Box shadow under thumbnail images. 22 | /// @type Shadow 23 | $thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5) !default; 24 | 25 | /// Transition proprties for thumbnail images. 26 | /// @type Transition 27 | $thumbnail-transition: box-shadow 200ms ease-out !default; 28 | 29 | /// Default radius for thumbnail images. 30 | /// @type Number 31 | $thumbnail-radius: $global-radius !default; 32 | 33 | /// Adds thumbnail styles to an element. 34 | @mixin thumbnail { 35 | border: $thumbnail-border; 36 | box-shadow: $thumbnail-shadow; 37 | display: inline-block; 38 | line-height: 0; 39 | max-width: 100%; 40 | transition: $thumbnail-transition; 41 | border-radius: $thumbnail-radius; 42 | margin-bottom: $thumbnail-margin-bottom; 43 | 44 | &:hover, 45 | &:focus { 46 | box-shadow: $thumbnail-shadow-hover; 47 | } 48 | } 49 | 50 | @mixin foundation-thumbnail { 51 | .thumbnail { 52 | @include thumbnail; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /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/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../ajax" 4 | ], function( jQuery ) { 5 | 6 | // Install script dataType 7 | jQuery.ajaxSetup({ 8 | accepts: { 9 | script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" 10 | }, 11 | contents: { 12 | script: /(?:java|ecma)script/ 13 | }, 14 | converters: { 15 | "text script": function( text ) { 16 | jQuery.globalEval( text ); 17 | return text; 18 | } 19 | } 20 | }); 21 | 22 | // Handle cache's special case and crossDomain 23 | jQuery.ajaxPrefilter( "script", function( s ) { 24 | if ( s.cache === undefined ) { 25 | s.cache = false; 26 | } 27 | if ( s.crossDomain ) { 28 | s.type = "GET"; 29 | } 30 | }); 31 | 32 | // Bind script tag hack transport 33 | jQuery.ajaxTransport( "script", function( s ) { 34 | // This transport only deals with cross domain requests 35 | if ( s.crossDomain ) { 36 | var script, callback; 37 | return { 38 | send: function( _, complete ) { 39 | script = jQuery(" 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/forms/_select.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 | /// Background color for select menus. 10 | /// @type Color 11 | $select-background: #fafafa !default; 12 | 13 | /// Color of the dropdown triangle inside select menus. Set to `transparent` to remove it entirely. 14 | /// @type Color 15 | $select-triangle-color: #333 !default; 16 | 17 | /// Default radius for select menus. 18 | /// @type Color 19 | $select-radius: $global-radius !default; 20 | 21 | @mixin form-select { 22 | $height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1)); 23 | 24 | height: $height; 25 | padding: ($form-spacing / 2); 26 | border: $input-border; 27 | border-radius: $global-radius; 28 | margin: 0 0 $form-spacing; 29 | font-size: $input-font-size; 30 | font-family: $input-font-family; 31 | line-height: normal; 32 | color: $input-color; 33 | background-color: $select-background; 34 | border-radius: $select-radius; 35 | -webkit-appearance: none; 36 | -moz-appearance: none; 37 | 38 | @if $select-triangle-color != transparent { 39 | @include background-triangle($select-triangle-color); 40 | background-size: 9px 6px; 41 | background-position: $global-right ($form-spacing / 2) center; 42 | background-repeat: no-repeat; 43 | } 44 | // Disabled state 45 | &:disabled { 46 | background-color: $input-background-disabled; 47 | cursor: $input-cursor-disabled; 48 | } 49 | 50 | // Hide the dropdown arrow shown in newer IE versions 51 | &::-ms-expand { 52 | display: none; 53 | } 54 | 55 | &[multiple] { 56 | height: auto; 57 | } 58 | } 59 | 60 | @mixin foundation-form-select { 61 | select { 62 | @include form-select; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /_layouts/classes.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | {% if page.img %} 6 | 7 | {% endif %} 8 |
9 |

{{ page.class-name }}

10 |
11 |

Age {{ page.age }}

12 |

{{ page.days-1 }} {{ page.time-1 }}

13 |
14 |

{{ page.description }}

15 | 16 |
17 |
18 |
19 |
Instructor:
20 |
21 |
22 |

{{ page.instructor }}

23 |
24 |
25 | 26 |
27 |
28 |
Fees:
29 |
30 |
31 |

${{ page.cost-1 }}

32 |
33 |
34 | 35 |
36 |
37 |
Sessions:
38 |
39 |
40 |

{{ page.date-1 }}

41 |

{{ page.date-2 }}

42 |

{{ page.date-3 }}

43 |

{{ page.date-3 }}

44 |
45 |
46 |
47 | 48 |
49 |
50 | Share 51 | Register 52 |
53 |
54 | 55 |

More Classes in this Age Group

56 | {% for class in site.data.classes %} 57 | {% if page.age-category == class.age-category and page.class-name != class.class-name %} 58 | {% include class-tile.html %} 59 | {% endif %} 60 | {% endfor %} 61 | 62 |
63 | 64 | 65 | -------------------------------------------------------------------------------- /bower_components/jquery/src/wrap.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./core/init", 4 | "./manipulation", // clone 5 | "./traversing" // parent, contents 6 | ], function( jQuery ) { 7 | 8 | jQuery.fn.extend({ 9 | wrapAll: function( html ) { 10 | var wrap; 11 | 12 | if ( jQuery.isFunction( html ) ) { 13 | return this.each(function( i ) { 14 | jQuery( this ).wrapAll( html.call(this, i) ); 15 | }); 16 | } 17 | 18 | if ( this[ 0 ] ) { 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 ( jQuery.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 isFunction = jQuery.isFunction( html ); 63 | 64 | return this.each(function( i ) { 65 | jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); 66 | }); 67 | }, 68 | 69 | unwrap: function() { 70 | return this.parent().each(function() { 71 | if ( !jQuery.nodeName( this, "body" ) ) { 72 | jQuery( this ).replaceWith( this.childNodes ); 73 | } 74 | }).end(); 75 | } 76 | }); 77 | 78 | return jQuery; 79 | }); 80 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_close-button.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group close-button 7 | //// 8 | 9 | /// Default position of the close button. The first value should be `right` or `left`, and the second value should be `top` or `bottom`. 10 | /// @type List 11 | $closebutton-position: right top !default; 12 | 13 | /// Right (or left) offset for a close button. 14 | /// @type Number 15 | $closebutton-offset-horizontal: 1rem !default; 16 | 17 | /// Top (or bottom) offset for a close button. 18 | /// @type Number 19 | $closebutton-offset-vertical: 0.5rem !default; 20 | 21 | /// Default font size of the close button. 22 | /// @type Number 23 | $closebutton-size: 2em !default; 24 | 25 | /// The line-height of the close button. It affects the spacing of the element. 26 | /// @type Number 27 | $closebutton-lineheight: 1 !default; 28 | 29 | /// Default color of the close button. 30 | /// @type Color 31 | $closebutton-color: $dark-gray !default; 32 | 33 | /// Default color of the close button when being hovered on. 34 | /// @type Color 35 | $closebutton-color-hover: $black !default; 36 | 37 | /// Adds styles for a close button, using the styles in the settings variables. 38 | @mixin close-button { 39 | $x: nth($closebutton-position, 1); 40 | $y: nth($closebutton-position, 2); 41 | 42 | @include disable-mouse-outline; 43 | position: absolute; 44 | color: $closebutton-color; 45 | #{$x}: $closebutton-offset-horizontal; 46 | #{$y}: $closebutton-offset-vertical; 47 | font-size: $closebutton-size; 48 | line-height: $closebutton-lineheight; 49 | cursor: pointer; 50 | 51 | &:hover, 52 | &:focus { 53 | color: $closebutton-color-hover; 54 | } 55 | } 56 | 57 | @mixin foundation-close-button { 58 | .close-button { 59 | @include close-button; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /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/motion-ui/docs/installation.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | ## Installation 4 | 5 | Install Motion UI with npm or Bower. 6 | 7 | ```bash 8 | npm install motion-ui --save 9 | bower install motion-ui --save 10 | ``` 11 | 12 | ## Sass Usage 13 | 14 | To import the Sass files into a project, add the load path `[modules_folder]/motion-ui/src` to your Sass configuration, then `@import` the library: 15 | 16 | ```scss 17 | @import 'motion-ui'; 18 | ``` 19 | 20 | **[Autoprefixer](https://github.com/postcss/autoprefixer) is required to use this library.** The library uses unprefixed `transition` and `animation` properties, which are then prefixed by Autoprefixer. 21 | 22 | The library includes two mixins which export all of the [default CSS](classes.md) for the framework. This includes: 23 | 24 | - Transitions for slide, fade, hinge, scale, and spin 25 | - Animation classes for spinning, shaking, and wiggling 26 | - Modifier classes for transition/animation speed, timing, and delay 27 | 28 | ```scss 29 | @include motion-ui-transitions; 30 | @include motion-ui-animations; 31 | ``` 32 | 33 | ## CSS Usage 34 | 35 | The package files also include these pre-made classes as a standalone CSS file, in minified and unminified flavors. 36 | 37 | - **Uncompressed:** `[modules_folder]/motion-ui/dist/motion-ui.css` 38 | - **Compressed:** `[modules_folder]/motion-ui/dist/motion-ui.min.css` 39 | 40 | ## JavaScript Usage 41 | 42 | The package includes a small JavaScript library to help you transition elements in and out using Motion UI classes. It can be referenced as a browser global or a CommonJS/AMD package. Like the CSS, there's uncompressed and compressed versions included. 43 | 44 | - **Uncompressed:** `[modules_folder]/motion-ui/dist/motion-ui.js` 45 | - **Compressed:** `[modules_folder]/motion-ui/dist/motion-ui.min.js` 46 | 47 | Refer to the full [JavaScript documentation](javascript.md) to learn more about how the JS library works. 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'), 2 | browserSync = require('browser-sync').create(), 3 | sequence = require('gulp-sequence'), 4 | sourcemaps = require('gulp-sourcemaps'), 5 | sass = require('gulp-sass'), 6 | s2j = require('gulp-sheets2json'); 7 | 8 | var sassPaths = [ 9 | 'bower_components/foundation-sites/scss', 10 | 'bower_components/motion-ui/src' 11 | ]; 12 | 13 | gulp.task("json", function () { 14 | gulp.src("_data/_data.xlsx") 15 | .pipe(s2j()) 16 | .pipe(gulp.dest('_data')); 17 | }); 18 | 19 | gulp.task('jekyll', function (gulpCallBack){ //builds jekyll site (but does not compile css) 20 | var spawn = require('child_process').spawn; 21 | var jekyll = spawn('jekyll', ['build'], {stdio: 'inherit'}); 22 | 23 | jekyll.on('exit', function(code) { 24 | gulpCallBack(code === 0 ? null : 'ERROR: Jekyll process exited with code: '+code); 25 | }); 26 | }); 27 | 28 | gulp.task('sass', function() { 29 | return gulp.src('scss/app.scss') 30 | .pipe(sourcemaps.init()) 31 | .pipe(sass({ 32 | includePaths: sassPaths 33 | }) 34 | .on('error', sass.logError)) 35 | .pipe(sourcemaps.write()) 36 | .pipe(gulp.dest('_site/css')) 37 | .pipe(browserSync.stream()); 38 | }); 39 | 40 | gulp.task('serve', function() { 41 | browserSync.init({ 42 | server: "./_site", 43 | notify: false 44 | }); 45 | }); 46 | 47 | gulp.task('reload', ['jekyll'], function() { 48 | browserSync.reload({ 49 | }); 50 | }); 51 | 52 | gulp.task('data', function (done){ 53 | sequence('json', 'reload', done); 54 | }); 55 | 56 | gulp.task('default', function(done) { 57 | sequence('json', 'sass', 'jekyll', 'serve', done); 58 | gulp.watch(['_data/_data.xlsx'], ['data']); 59 | gulp.watch(['**/*.html', '!_site/**/*.html', 'js/*.js', '*.md', '_posts/*.md', 'collections/**/*.md', '_config.yml', 'img/*'], ['reload']); 60 | gulp.watch(['scss/**/*.scss'], ['sass']); 61 | }); 62 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_drilldown.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group drilldown 7 | //// 8 | 9 | /// Transition property to use for animating menus. 10 | /// @type Transition 11 | $drilldown-transition: transform 0.15s linear !default; 12 | 13 | /// Adds arrows to drilldown items with submenus, as well as the back button. 14 | /// @type Boolean 15 | $drilldown-arrows: true !default; 16 | 17 | @mixin foundation-drilldown-menu { 18 | // Applied to the Menu container 19 | .is-drilldown { 20 | position: relative; 21 | overflow: hidden; 22 | } 23 | 24 | // Applied to nested
    s 25 | .is-drilldown-sub { 26 | position: absolute; 27 | top: 0; 28 | #{$global-left}: 100%; 29 | z-index: -1; 30 | height: 100%; 31 | width: 100%; 32 | background: $white; 33 | transition: $drilldown-transition; 34 | 35 | &.is-active { 36 | z-index: 1; 37 | display: block; 38 | transform: translateX(if($global-text-direction == ltr, -100%, 100%)); 39 | } 40 | 41 | &.is-closing { 42 | transform: translateX(if($global-text-direction == ltr, 100%, -100%)); 43 | } 44 | } 45 | 46 | @if $drilldown-arrows { 47 | .is-drilldown-submenu-parent > a { 48 | position: relative; 49 | 50 | &::after { 51 | @include css-triangle(6px, $primary-color, $global-right); 52 | position: absolute; 53 | top: 50%; 54 | margin-top: -6px; 55 | #{$global-right}: 1rem; 56 | } 57 | } 58 | 59 | .js-drilldown-back::before { 60 | @include css-triangle(6px, $primary-color, $global-left); 61 | float: $global-left; 62 | margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text 63 | margin-#{$global-left}: 0.6rem; // Lines the tip of the arrow with the items below 64 | margin-top: 14px; // Aligns the arrow with the text 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_flex-video.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group flex-video 7 | //// 8 | 9 | /// Padding above a flex video container. 10 | /// @type Number 11 | $flexvideo-padding-top: rem-calc(25) !default; 12 | 13 | /// Margin below a flex video container. 14 | /// @type Number 15 | $flexvideo-margin-bottom: rem-calc(16) !default; 16 | 17 | /// Padding used to create a 4:3 aspect ratio. 18 | /// @type Number 19 | $flexvideo-ratio: 4 by 3 !default; 20 | 21 | /// Padding used to create a 16:9 aspect ratio. 22 | /// @type Number 23 | $flexvideo-ratio-widescreen: 16 by 9 !default; 24 | 25 | /// Creates a percentage height that can be used as padding in a flex video container. 26 | /// @param {List} $ratio - Ratio to use to calculate the height, formatted as `x by y`. 27 | /// @return {Number} A percentage value that can be used as the `padding-bottom` parameter of a flex video container. 28 | @function flex-video($ratio) { 29 | $w: nth($ratio, 1); 30 | $h: nth($ratio, 3); 31 | @return $h / $w * 100%; 32 | } 33 | 34 | /// Creates a flex video container. 35 | /// @param {List} $ratio [$flexvideo-ratio] - Ratio to use for the container, formatted as `x by y`. 36 | @mixin flex-video($ratio: $flexvideo-ratio) { 37 | position: relative; 38 | height: 0; 39 | padding-top: $flexvideo-padding-top; 40 | padding-bottom: flex-video($ratio); 41 | margin-bottom: $flexvideo-margin-bottom; 42 | overflow: hidden; 43 | 44 | iframe, 45 | object, 46 | embed, 47 | video { 48 | position: absolute; 49 | top: 0; 50 | #{$global-left}: 0; 51 | width: 100%; 52 | height: 100%; 53 | } 54 | } 55 | 56 | @mixin foundation-flex-video { 57 | .flex-video { 58 | @include flex-video; 59 | 60 | &.widescreen { 61 | padding-bottom: flex-video($flexvideo-ratio-widescreen); 62 | } 63 | 64 | &.vimeo { 65 | padding-top: 0; 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /bower_components/jquery/src/dimensions.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./core/access", 4 | "./css" 5 | ], function( jQuery, access ) { 6 | 7 | // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 8 | jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 9 | jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { 10 | // Margin is only for outerHeight, outerWidth 11 | jQuery.fn[ funcName ] = function( margin, value ) { 12 | var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 13 | extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 14 | 15 | return access( this, function( elem, type, value ) { 16 | var doc; 17 | 18 | if ( jQuery.isWindow( elem ) ) { 19 | // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there 20 | // isn't a whole lot we can do. See pull request at this URL for discussion: 21 | // https://github.com/jquery/jquery/pull/764 22 | return elem.document.documentElement[ "client" + name ]; 23 | } 24 | 25 | // Get document width or height 26 | if ( elem.nodeType === 9 ) { 27 | doc = elem.documentElement; 28 | 29 | // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 30 | // whichever is greatest 31 | return Math.max( 32 | elem.body[ "scroll" + name ], doc[ "scroll" + name ], 33 | elem.body[ "offset" + name ], doc[ "offset" + name ], 34 | doc[ "client" + name ] 35 | ); 36 | } 37 | 38 | return value === undefined ? 39 | // Get width or height on the element, requesting but not forcing parseFloat 40 | jQuery.css( elem, type, extra ) : 41 | 42 | // Set width or height on the element 43 | jQuery.style( elem, type, value, extra ); 44 | }, type, chainable ? margin : undefined, chainable, null ); 45 | }; 46 | }); 47 | }); 48 | 49 | return jQuery; 50 | }); 51 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/load.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../core/parseHTML", 4 | "../ajax", 5 | "../traversing", 6 | "../manipulation", 7 | "../selector", 8 | // Optional event/alias dependency 9 | "../event/alias" 10 | ], function( jQuery ) { 11 | 12 | // Keep a copy of the old load method 13 | var _load = jQuery.fn.load; 14 | 15 | /** 16 | * Load a url into a page 17 | */ 18 | jQuery.fn.load = function( url, params, callback ) { 19 | if ( typeof url !== "string" && _load ) { 20 | return _load.apply( this, arguments ); 21 | } 22 | 23 | var selector, type, response, 24 | self = this, 25 | off = url.indexOf(" "); 26 | 27 | if ( off >= 0 ) { 28 | selector = jQuery.trim( url.slice( off ) ); 29 | url = url.slice( 0, off ); 30 | } 31 | 32 | // If it's a function 33 | if ( jQuery.isFunction( params ) ) { 34 | 35 | // We assume that it's the callback 36 | callback = params; 37 | params = undefined; 38 | 39 | // Otherwise, build a param string 40 | } else if ( params && typeof params === "object" ) { 41 | type = "POST"; 42 | } 43 | 44 | // If we have elements to modify, make the request 45 | if ( self.length > 0 ) { 46 | jQuery.ajax({ 47 | url: url, 48 | 49 | // if "type" variable is undefined, then "GET" method will be used 50 | type: type, 51 | dataType: "html", 52 | data: params 53 | }).done(function( responseText ) { 54 | 55 | // Save response for use in complete callback 56 | response = arguments; 57 | 58 | self.html( selector ? 59 | 60 | // If a selector was specified, locate the right elements in a dummy div 61 | // Exclude scripts to avoid IE 'Permission Denied' errors 62 | jQuery("
    ").append( jQuery.parseHTML( responseText ) ).find( selector ) : 63 | 64 | // Otherwise use the full result 65 | responseText ); 66 | 67 | }).complete( callback && function( jqXHR, status ) { 68 | self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); 69 | }); 70 | } 71 | 72 | return this; 73 | }; 74 | 75 | }); 76 | -------------------------------------------------------------------------------- /bower_components/motion-ui/docs/classes.md: -------------------------------------------------------------------------------- 1 | # CSS Classes 2 | 3 | The Sass mixins are the heart of Motion UI, but the library also includes many pre-made CSS classes to get you up and running faster. 4 | 5 | ## Defaults 6 | 7 | The pre-made classes all use these transition/animation defaults: 8 | 9 | - **Speed:** 500ms 10 | - **Timing:** Linear 11 | - **Delay:** 0s 12 | 13 | These defaults can be changed by modifying the [Motion UI settings](configuration.md); 14 | 15 | ## Transition Classes 16 | 17 | - **Slide:** 18 | - `.slide-in-down` 19 | - `.slide-in-left` 20 | - `.slide-in-up` 21 | - `.slide-in-right` 22 | - `.slide-out-down` 23 | - `.slide-out-left` 24 | - `.slide-out-up` 25 | - `.slide-out-right` 26 | - **Fade:** 27 | - `.fade-in` 28 | - `.fade-out` 29 | - **Hinge:** 30 | - `.hinge-in-from-top` 31 | - `.hinge-in-from-right` 32 | - `.hinge-in-from-bottom` 33 | - `.hinge-in-from-left` 34 | - `.hinge-in-from-middle-x` 35 | - `.hinge-in-from-middle-y` 36 | - `.hinge-out-from-top` 37 | - `.hinge-out-from-right` 38 | - `.hinge-out-from-bottom` 39 | - `.hinge-out-from-left` 40 | - `.hinge-out-from-middle-x` 41 | - `.hinge-out-from-middle-y` 42 | - **Scale:** 43 | - `.scale-in-up` 44 | - `.scale-in-down` 45 | - `.scale-out-up` 46 | - `.scale-out-down` 47 | - **Spin:** 48 | - `.spin-in` 49 | - `.spin-out` 50 | - `.spin-in-ccw` 51 | - `.spin-out-ccw` 52 | 53 | ## Animation Classes 54 | 55 | - `.shake`: shakes the element horizontally. 56 | - `.wiggle`: rotates the element back and forth. 57 | - `.spin-cw`: rotates the element once. 58 | - `.spin-ccw`: rotates the element once, counterclockwise. 59 | 60 | ## Modifier Classes 61 | 62 | Modifiers work with both transitions and animations. 63 | 64 | - **Speed:** 65 | - `.slow` (750ms) 66 | - `.fast` (250ms) 67 | - **Timing:** 68 | - `.linear` 69 | - `.ease` 70 | - `.ease-in` 71 | - `.ease-out` 72 | - `.ease-in-out` 73 | - `.bounce-in` 74 | - `.bounce-out` 75 | - `.bounce-in-out` 76 | - **Delay:** 77 | - `.short-delay` (300ms) 78 | - `.long-delay` (700ms) 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /bower_components/motion-ui/src/util/_series.scss: -------------------------------------------------------------------------------- 1 | $-mui-queue: (); 2 | 3 | /// Pauses the animation on an element by default, and then plays it when an active class is added to a parent. Also sets the fill mode of the animation to `both`. This pauses the element at the first frame of the animation, and holds it in place at the end. 4 | /// @access private 5 | %animated-element { 6 | animation-play-state: paused; 7 | animation-fill-mode: both; 8 | 9 | .#{map-get($motion-ui-settings, activate-queue-class)} & { 10 | animation-play-state: running; 11 | } 12 | } 13 | 14 | /// Creates a new animation queue. 15 | /// @param {Duration} $delay [0s] - Delay in seconds or milliseconds to place at the front of the animation queue. 16 | @mixin mui-series($delay: 0s) { 17 | $-mui-queue: () !global; 18 | 19 | @if $delay > 0 { 20 | $item: ($delay, 0s); 21 | $-mui-queue: append($-mui-queue, $item) !global; 22 | } 23 | 24 | @content; 25 | } 26 | 27 | /// Adds an animation to an animation queue. Only use this mixin inside of `mui-series()`. 28 | /// @param {Duration} $duration [1s] - Length of the animation. 29 | /// @param {Duration} $gap [0s] - Amount of time to pause before playing the animation after this one. Use a negative value to make the next effect overlap with the current one. 30 | /// @param {Function} $keyframes... - One or more effect functions to build the keyframe with. 31 | @mixin mui-queue( 32 | $duration: 1s, 33 | $gap: 0s, 34 | $keyframes... 35 | ) { 36 | // Build the animation 37 | $kf: -mui-process-args($keyframes...); 38 | 39 | // Calculate the delay for this animation based on how long the previous ones take 40 | $actual-delay: 0s; 41 | @each $anim in $-mui-queue { 42 | $actual-delay: $actual-delay + nth($anim, 1) + nth($anim, 2); 43 | } 44 | 45 | // Append this animation's length and gap to the end of the queue 46 | $item: ($duration, $gap); 47 | $-mui-queue: append($-mui-queue, $item) !global; 48 | 49 | // CSS output 50 | @extend %animated-element; 51 | @include mui-animation($kf); 52 | animation-duration: $duration; 53 | animation-delay: $actual-delay; 54 | } 55 | -------------------------------------------------------------------------------- /bower_components/foundation-sites/scss/components/_media-object.scss: -------------------------------------------------------------------------------- 1 | // Foundation for Sites by ZURB 2 | // foundation.zurb.com 3 | // Licensed under MIT Open Source 4 | 5 | //// 6 | /// @group media-object 7 | //// 8 | 9 | /// Bottom margin of a media object. 10 | /// @type Number 11 | $mediaobject-margin-bottom: $global-margin !default; 12 | 13 | /// Left and right padding on sections within a media object. 14 | /// @type Number 15 | $mediaobject-section-padding: $global-padding !default; 16 | 17 | /// With of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width. 18 | /// @type Number 19 | $mediaobject-image-width-stacked: 100% !default; 20 | 21 | /// Adds styles for a media object container. 22 | @mixin media-object-container { 23 | margin-bottom: $mediaobject-margin-bottom; 24 | display: block; 25 | } 26 | 27 | /// Adds styles for sections within a media object. 28 | /// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections. 29 | @mixin media-object-section($padding: $mediaobject-section-padding) { 30 | display: table-cell; 31 | vertical-align: top; 32 | 33 | &:first-child { 34 | padding-#{$global-right}: $padding; 35 | } 36 | 37 | &:last-child:not(+ &:first-child) { 38 | padding-#{$global-left}: $padding; 39 | } 40 | } 41 | 42 | /// Adds styles to stack sections of a media object. Apply this to the section elements, not the container. 43 | @mixin media-object-stack { 44 | display: block; 45 | padding: 0; 46 | padding-bottom: $mediaobject-section-padding; 47 | 48 | img { 49 | width: $mediaobject-image-width-stacked; 50 | } 51 | } 52 | 53 | @mixin foundation-media-object { 54 | .media-object { 55 | @include media-object-container; 56 | 57 | img { 58 | max-width: none; 59 | } 60 | 61 | &.stack-for-small .media-object-section { 62 | @include breakpoint(small only) { 63 | @include media-object-stack; 64 | } 65 | } 66 | } 67 | 68 | .media-object-section { 69 | @include media-object-section; 70 | 71 | &.middle { vertical-align: middle; } 72 | &.bottom { vertical-align: bottom; } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/defaultDisplay.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../manipulation" // appendTo 4 | ], function( jQuery ) { 5 | 6 | var iframe, 7 | elemdisplay = {}; 8 | 9 | /** 10 | * Retrieve the actual display of a element 11 | * @param {String} name nodeName of the element 12 | * @param {Object} doc Document object 13 | */ 14 | // Called only from within defaultDisplay 15 | function actualDisplay( name, doc ) { 16 | var style, 17 | elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), 18 | 19 | // getDefaultComputedStyle might be reliably used only on attached element 20 | display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? 21 | 22 | // Use of this method is a temporary fix (more like optimization) until something better comes along, 23 | // since it was removed from specification and supported only in FF 24 | style.display : jQuery.css( elem[ 0 ], "display" ); 25 | 26 | // We don't have any data stored on the element, 27 | // so use "detach" method as fast way to get rid of the element 28 | elem.detach(); 29 | 30 | return display; 31 | } 32 | 33 | /** 34 | * Try to determine the default display value of an element 35 | * @param {String} nodeName 36 | */ 37 | function defaultDisplay( nodeName ) { 38 | var doc = document, 39 | display = elemdisplay[ nodeName ]; 40 | 41 | if ( !display ) { 42 | display = actualDisplay( nodeName, doc ); 43 | 44 | // If the simple way fails, read from inside an iframe 45 | if ( display === "none" || !display ) { 46 | 47 | // Use the already-created iframe if possible 48 | iframe = (iframe || jQuery( "