├── contributors.txt
├── .DS_Store
├── cursor.png
├── screenshot.png
├── font
├── Climacons.ttf
├── climacons-webfont.eot
├── climacons-webfont.ttf
└── climacons-webfont.woff
├── lib
├── the-clock.zip
├── the-tweets.zip
├── the-weather.zip
├── post-details.zip
└── tgm
│ └── composer.json
├── login_page_logo.png
├── javascripts
├── vendor
│ ├── app-ck.js
│ ├── app.js
│ └── custom.modernizr.js
└── foundation
│ ├── foundation.alerts.js
│ ├── foundation.cookie.js
│ ├── foundation.dropdown.js
│ ├── foundation.magellan.js
│ ├── foundation.placeholder.js
│ ├── foundation.orbit-ck.js
│ ├── foundation.tooltips.js
│ ├── foundation.topbar.js
│ ├── foundation.reveal.js
│ ├── foundation.js
│ ├── foundation.section.js
│ ├── foundation.orbit.js
│ └── foundation.clearing.js
├── robots.txt
├── humans.txt
├── style.css
├── templates
├── full-page.php
└── sidebar-left.php
├── README.md
├── .gitignore
├── page.php
├── sidebar.php
├── sass
├── _path.scss
├── _mixins.scss
├── font-awesome.scss
├── _bootstrap.scss
├── _extras.scss
├── _core.scss
├── _fonts.scss
├── app.scss
├── _variables.scss
└── _icons.scss
├── config.rb
├── header.php
├── footer.php
├── index.php
├── inc
└── shortcodes.php
└── stylesheets
└── normalize.css
/contributors.txt:
--------------------------------------------------------------------------------
1 | Nate Jones
2 |
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/.DS_Store
--------------------------------------------------------------------------------
/cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/cursor.png
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/screenshot.png
--------------------------------------------------------------------------------
/font/Climacons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/font/Climacons.ttf
--------------------------------------------------------------------------------
/lib/the-clock.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/lib/the-clock.zip
--------------------------------------------------------------------------------
/lib/the-tweets.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/lib/the-tweets.zip
--------------------------------------------------------------------------------
/lib/the-weather.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/lib/the-weather.zip
--------------------------------------------------------------------------------
/login_page_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/login_page_logo.png
--------------------------------------------------------------------------------
/lib/post-details.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/lib/post-details.zip
--------------------------------------------------------------------------------
/font/climacons-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/font/climacons-webfont.eot
--------------------------------------------------------------------------------
/font/climacons-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/font/climacons-webfont.ttf
--------------------------------------------------------------------------------
/font/climacons-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natejones/wpds/HEAD/font/climacons-webfont.woff
--------------------------------------------------------------------------------
/javascripts/vendor/app-ck.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function(e){window.setTimeout("location.reload(true)",3e5)});
--------------------------------------------------------------------------------
/robots.txt:
--------------------------------------------------------------------------------
1 | # www.robotstxt.org/
2 | # www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449
3 |
4 | User-agent: *
--------------------------------------------------------------------------------
/javascripts/vendor/app.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function ($) {
2 |
3 | /* REFRESH PAGE EVERY FIVE MINUTES ----*/
4 | window.setTimeout('location.reload(true)', 300000);
5 | /* /REFRESH PAGE EVERY FIVE MINUTES ---- */
6 |
7 | });
8 |
--------------------------------------------------------------------------------
/humans.txt:
--------------------------------------------------------------------------------
1 | /* Foundation was made by ZURB, an interaction design and design strategy firm in Campbell, CA */
2 | /* zurb.com */
3 | /* humanstxt.org */
4 |
5 | /* SITE */
6 | Standards: HTML5, CSS3
7 | Components: jQuery, Orbit, Reveal
8 | Software: Coda, Textmate, Git
--------------------------------------------------------------------------------
/style.css:
--------------------------------------------------------------------------------
1 | /*!
2 | Theme Name: Digital Signage
3 | Theme URI: http://pixelydo.com/flatscreens
4 | Author: Nate Jones
5 | Author URI: http://pixelydo.com
6 | Version: 3.0
7 | License: GNU General Public License v2 or later
8 | License URI: http://www.gnu.org/licenses/gpl-3.0.txt
9 | Tags: signage, digital signage, kiosk, carousel, slider, foundation, responsive
10 |
11 | */
12 |
13 | @import url('stylesheets/app.css');
--------------------------------------------------------------------------------
/templates/full-page.php:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/templates/sidebar-left.php:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ##Digital Signage Wordpress Theme using Zurb's Foundation 4.
2 |
3 | This work is licensed under a [GNU General Public License v3.0](http://www.gnu.org/licenses/gpl-3.0.txt).
4 |
5 | I really want to see a picture of this being used. Seriously. Please take a quick picture with your phone and tweet it to me [@natejones](https://twitter.com/natejones), or email [nate@pixelydo.com](mailto:nate@pixelydo.com).
6 |
7 |
8 | ##Widgets
9 | You will be prompted to install the plugins for the information dock widgets. After installation, drag the widgets to into the sidebar in whatever order you would like them to appear.
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 |
22 | # Logs and databases #
23 | ######################
24 | *.log
25 | *.sql
26 | *.sqlite
27 |
28 | # OS generated files #
29 | ######################
30 | .DS_Store
31 | .DS_Store?
32 | ._*
33 | .Spotlight-V100
34 | .Trashes
35 | Icon?
36 | ehthumbs.db
37 | Thumbs.db
38 |
39 | .sass-cache
40 |
--------------------------------------------------------------------------------
/page.php:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/sidebar.php:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
24 |
--------------------------------------------------------------------------------
/sass/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$FontAwesomePath}/fontawesome-webfont.eot?v=#{$FontAwesomeVersion}');
7 | src: url('#{$FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=#{$FontAwesomeVersion}') format('embedded-opentype'),
8 | url('#{$FontAwesomePath}/fontawesome-webfont.woff?v=#{$FontAwesomeVersion}') format('woff'),
9 | url('#{$FontAwesomePath}/fontawesome-webfont.ttf?v=#{$FontAwesomeVersion}') format('truetype'),
10 | url('#{$FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=#{$FontAwesomeVersion}') format('svg');
11 | // src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
12 | font-weight: normal;
13 | font-style: normal;
14 | }
15 |
--------------------------------------------------------------------------------
/config.rb:
--------------------------------------------------------------------------------
1 | require 'zurb-foundation'
2 | # Require any additional compass plugins here.
3 |
4 |
5 | # Set this to the root of your project when deployed:
6 | http_path = "/"
7 | css_dir = "stylesheets"
8 | sass_dir = "sass"
9 | images_dir = "images"
10 | javascripts_dir = "javascripts"
11 |
12 |
13 | # You can select your preferred output style here (can be overridden via the command line):
14 | # output_style = :expanded or :nested or :compact or :compressed
15 |
16 | # To enable relative paths to assets via compass helper functions. Uncomment:
17 | # relative_assets = true
18 |
19 | # To disable debugging comments that display the original location of your selectors. Uncomment:
20 | # line_comments = false
21 |
22 |
23 | # If you prefer the indented syntax, you might want to regenerate this
24 | # project again passing --syntax sass, or you can uncomment this:
25 | # preferred_syntax = :sass
26 | # and then run:
27 | # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
28 |
--------------------------------------------------------------------------------
/lib/tgm/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tgm/plugin-activation",
3 | "description": "TGM Plugin Activation is a PHP library that allows you to easily require or recommend plugins for your WordPress themes (and plugins).",
4 | "homepage": "http://tgmpluginactivation.com",
5 | "keywords": ["wordpress","plugins", "theme", "library", "activation"],
6 | "license": "GPL-2.0+",
7 | "authors": [
8 | {
9 | "name": "Thomas Griffin",
10 | "homepage": "http://thomasgriffinmedia.com",
11 | "role": "Developer"
12 | },
13 | {
14 | "name": "Gary Jones",
15 | "homepage": "https://github.com/GaryJones",
16 | "role": "Developer"
17 | }
18 | ],
19 | "support": {
20 | "issues": "https://github.com/thomasgriffin/TGM-Plugin-Activation/issues",
21 | "source": "https://github.com/thomasgriffin/TGM-Plugin-Activation"
22 | },
23 | "require": {
24 | "php": ">=5.2"
25 | },
26 | "autoload": {
27 | "files": ["class-tgm-plugin-activation.php"]
28 | }
29 | }
--------------------------------------------------------------------------------
/header.php:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | >
37 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.cookie.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery Cookie Plugin v1.3
3 | * https://github.com/carhartl/jquery-cookie
4 | *
5 | * Copyright 2011, Klaus Hartl
6 | * Dual licensed under the MIT or GPL Version 2 licenses.
7 | * http://www.opensource.org/licenses/mit-license.php
8 | * http://www.opensource.org/licenses/GPL-2.0
9 | *
10 | * Modified to work with Zepto.js by ZURB
11 | */
12 | (function ($, document, undefined) {
13 |
14 | var pluses = /\+/g;
15 |
16 | function raw(s) {
17 | return s;
18 | }
19 |
20 | function decoded(s) {
21 | return decodeURIComponent(s.replace(pluses, ' '));
22 | }
23 |
24 | var config = $.cookie = function (key, value, options) {
25 |
26 | // write
27 | if (value !== undefined) {
28 | options = $.extend({}, config.defaults, options);
29 |
30 | if (value === null) {
31 | options.expires = -1;
32 | }
33 |
34 | if (typeof options.expires === 'number') {
35 | var days = options.expires, t = options.expires = new Date();
36 | t.setDate(t.getDate() + days);
37 | }
38 |
39 | value = config.json ? JSON.stringify(value) : String(value);
40 |
41 | return (document.cookie = [
42 | encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
43 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
44 | options.path ? '; path=' + options.path : '',
45 | options.domain ? '; domain=' + options.domain : '',
46 | options.secure ? '; secure' : ''
47 | ].join(''));
48 | }
49 |
50 | // read
51 | var decode = config.raw ? raw : decoded;
52 | var cookies = document.cookie.split('; ');
53 | for (var i = 0, l = cookies.length; i < l; i++) {
54 | var parts = cookies[i].split('=');
55 | if (decode(parts.shift()) === key) {
56 | var cookie = decode(parts.join('='));
57 | return config.json ? JSON.parse(cookie) : cookie;
58 | }
59 | }
60 |
61 | return null;
62 | };
63 |
64 | config.defaults = {};
65 |
66 | $.removeCookie = function (key, options) {
67 | if ($.cookie(key) !== null) {
68 | $.cookie(key, null, options);
69 | return true;
70 | }
71 | return false;
72 | };
73 |
74 | })(Foundation.zj, document);
--------------------------------------------------------------------------------
/sass/_bootstrap.scss:
--------------------------------------------------------------------------------
1 | /* BOOTSTRAP SPECIFIC CLASSES
2 | * -------------------------- */
3 |
4 | /* Bootstrap 2.0 sprites.less reset */
5 | [class^="icon-"],
6 | [class*=" icon-"] {
7 | display: inline;
8 | width: auto;
9 | height: auto;
10 | line-height: normal;
11 | vertical-align: baseline;
12 | background-image: none;
13 | background-position: 0% 0%;
14 | background-repeat: repeat;
15 | margin-top: 0;
16 | }
17 |
18 | /* more sprites.less reset */
19 | .icon-white,
20 | .nav-pills > .active > a > [class^="icon-"],
21 | .nav-pills > .active > a > [class*=" icon-"],
22 | .nav-list > .active > a > [class^="icon-"],
23 | .nav-list > .active > a > [class*=" icon-"],
24 | .navbar-inverse .nav > .active > a > [class^="icon-"],
25 | .navbar-inverse .nav > .active > a > [class*=" icon-"],
26 | .dropdown-menu > li > a:hover > [class^="icon-"],
27 | .dropdown-menu > li > a:hover > [class*=" icon-"],
28 | .dropdown-menu > .active > a > [class^="icon-"],
29 | .dropdown-menu > .active > a > [class*=" icon-"],
30 | .dropdown-submenu:hover > a > [class^="icon-"],
31 | .dropdown-submenu:hover > a > [class*=" icon-"] {
32 | background-image: none;
33 | }
34 |
35 |
36 | /* keeps Bootstrap styles with and without icons the same */
37 | .btn, .nav {
38 | [class^="icon-"],
39 | [class*=" icon-"] {
40 | // display: inline;
41 | &.icon-large { line-height: .9em; }
42 | &.icon-spin { display: inline-block; }
43 | }
44 | }
45 | .nav-tabs, .nav-pills {
46 | [class^="icon-"],
47 | [class*=" icon-"] {
48 | &, &.icon-large { line-height: .9em; }
49 | }
50 | }
51 | .btn {
52 | [class^="icon-"],
53 | [class*=" icon-"] {
54 | &.pull-left, &.pull-right {
55 | &.icon-2x { margin-top: .18em; }
56 | }
57 | &.icon-spin.icon-large { line-height: .8em; }
58 | }
59 | }
60 | .btn.btn-small {
61 | [class^="icon-"],
62 | [class*=" icon-"] {
63 | &.pull-left, &.pull-right {
64 | &.icon-2x { margin-top: .25em; }
65 | }
66 | }
67 | }
68 | .btn.btn-large {
69 | [class^="icon-"],
70 | [class*=" icon-"] {
71 | margin-top: 0; // overrides bootstrap default
72 | &.pull-left, &.pull-right {
73 | &.icon-2x { margin-top: .05em; }
74 | }
75 | &.pull-left.icon-2x { margin-right: .2em; }
76 | &.pull-right.icon-2x { margin-left: .2em; }
77 | }
78 | }
79 |
80 | /* Fixes alignment in nav lists */
81 | .nav-list [class^="icon-"],
82 | .nav-list [class*=" icon-"] {
83 | line-height: inherit;
84 | }
85 |
--------------------------------------------------------------------------------
/sass/_extras.scss:
--------------------------------------------------------------------------------
1 | /* EXTRAS
2 | * -------------------------- */
3 |
4 | /* Stacked and layered icon */
5 | @include icon-stack();
6 |
7 | /* Animated rotating icon */
8 | .icon-spin {
9 | display: inline-block;
10 | -moz-animation: spin 2s infinite linear;
11 | -o-animation: spin 2s infinite linear;
12 | -webkit-animation: spin 2s infinite linear;
13 | animation: spin 2s infinite linear;
14 | }
15 |
16 | /* Prevent stack and spinners from being taken inline when inside a link */
17 | a .icon-stack,
18 | a .icon-spin {
19 | display: inline-block;
20 | text-decoration: none;
21 | }
22 |
23 | @-moz-keyframes spin {
24 | 0% { -moz-transform: rotate(0deg); }
25 | 100% { -moz-transform: rotate(359deg); }
26 | }
27 | @-webkit-keyframes spin {
28 | 0% { -webkit-transform: rotate(0deg); }
29 | 100% { -webkit-transform: rotate(359deg); }
30 | }
31 | @-o-keyframes spin {
32 | 0% { -o-transform: rotate(0deg); }
33 | 100% { -o-transform: rotate(359deg); }
34 | }
35 | @-ms-keyframes spin {
36 | 0% { -ms-transform: rotate(0deg); }
37 | 100% { -ms-transform: rotate(359deg); }
38 | }
39 | @keyframes spin {
40 | 0% { transform: rotate(0deg); }
41 | 100% { transform: rotate(359deg); }
42 | }
43 |
44 | /* Icon rotations and mirroring */
45 | .icon-rotate-90:before {
46 | -webkit-transform: rotate(90deg);
47 | -moz-transform: rotate(90deg);
48 | -ms-transform: rotate(90deg);
49 | -o-transform: rotate(90deg);
50 | transform: rotate(90deg);
51 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
52 | }
53 |
54 | .icon-rotate-180:before {
55 | -webkit-transform: rotate(180deg);
56 | -moz-transform: rotate(180deg);
57 | -ms-transform: rotate(180deg);
58 | -o-transform: rotate(180deg);
59 | transform: rotate(180deg);
60 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
61 | }
62 |
63 | .icon-rotate-270:before {
64 | -webkit-transform: rotate(270deg);
65 | -moz-transform: rotate(270deg);
66 | -ms-transform: rotate(270deg);
67 | -o-transform: rotate(270deg);
68 | transform: rotate(270deg);
69 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
70 | }
71 |
72 | .icon-flip-horizontal:before {
73 | -webkit-transform: scale(-1, 1);
74 | -moz-transform: scale(-1, 1);
75 | -ms-transform: scale(-1, 1);
76 | -o-transform: scale(-1, 1);
77 | transform: scale(-1, 1);
78 | }
79 |
80 | .icon-flip-vertical:before {
81 | -webkit-transform: scale(1, -1);
82 | -moz-transform: scale(1, -1);
83 | -ms-transform: scale(1, -1);
84 | -o-transform: scale(1, -1);
85 | transform: scale(1, -1);
86 | }
87 |
88 | /* ensure rotation occurs inside anchor tags */
89 | a {
90 | .icon-rotate-90, .icon-rotate-180, .icon-rotate-270, .icon-flip-horizontal, .icon-flip-vertical {
91 | &:before { display: inline-block; }
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/sass/_core.scss:
--------------------------------------------------------------------------------
1 | /* FONT AWESOME CORE
2 | * -------------------------- */
3 |
4 | [class^="icon-"],
5 | [class*=" icon-"] {
6 | @include icon-FontAwesome();
7 | }
8 |
9 | [class^="icon-"]:before,
10 | [class*=" icon-"]:before {
11 | text-decoration: inherit;
12 | display: inline-block;
13 | speak: none;
14 | }
15 |
16 | /* makes the font 33% larger relative to the icon container */
17 | .icon-large:before {
18 | vertical-align: -10%;
19 | font-size: (4em/3);
20 | }
21 |
22 | /* makes sure icons active on rollover in links */
23 | a {
24 | [class^="icon-"],
25 | [class*=" icon-"] {
26 | display: inline;
27 | }
28 | }
29 |
30 | /* increased font size for icon-large */
31 | [class^="icon-"],
32 | [class*=" icon-"] {
33 | &.icon-fixed-width {
34 | display: inline-block;
35 | width: (16em/14);
36 | text-align: right;
37 | padding-right: (4em/14);
38 | &.icon-large {
39 | width: (20em/14);
40 | }
41 | }
42 | }
43 |
44 | .icons-ul {
45 | margin-left: $icons-li-width;
46 | list-style-type: none;
47 |
48 | > li { position: relative; }
49 |
50 | .icon-li {
51 | position: absolute;
52 | left: -$icons-li-width;
53 | width: $icons-li-width;
54 | text-align: center;
55 | line-height: inherit;
56 | }
57 | }
58 |
59 | // allows usage of the hide class directly on font awesome icons
60 | [class^="icon-"],
61 | [class*=" icon-"] {
62 | &.hide {
63 | display: none;
64 | }
65 | }
66 |
67 | .icon-muted { color: $iconMuted; }
68 | .icon-light { color: $iconLight; }
69 | .icon-dark { color: $iconDark; }
70 |
71 | // Icon Borders
72 | // -------------------------
73 |
74 | .icon-border {
75 | border: solid 1px $borderColor;
76 | padding: .2em .25em .15em;
77 | @include border-radius(3px);
78 | }
79 |
80 | // Icon Sizes
81 | // -------------------------
82 |
83 | .icon-2x {
84 | font-size: 2em;
85 | &.icon-border {
86 | border-width: 2px;
87 | @include border-radius(4px);
88 | }
89 | }
90 | .icon-3x {
91 | font-size: 3em;
92 | &.icon-border {
93 | border-width: 3px;
94 | @include border-radius(5px);
95 | }
96 | }
97 | .icon-4x {
98 | font-size: 4em;
99 | &.icon-border {
100 | border-width: 4px;
101 | @include border-radius(6px);
102 | }
103 | }
104 |
105 | .icon-5x {
106 | font-size: 5em;
107 | &.icon-border {
108 | border-width: 5px;
109 | @include border-radius(7px);
110 | }
111 | }
112 |
113 |
114 | // Floats & Margins
115 | // -------------------------
116 |
117 | // Quick floats
118 | .pull-right { float: right; }
119 | .pull-left { float: left; }
120 |
121 | [class^="icon-"],
122 | [class*=" icon-"] {
123 | &.pull-left {
124 | margin-right: .3em;
125 | }
126 | &.pull-right {
127 | margin-left: .3em;
128 | }
129 | }
130 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 | 'post',
20 | 'post_status' => 'publish',
21 | 'orderby' => 'rand'
22 | );
23 | $the_query = new WP_Query($args);
24 | if($the_query->have_posts()) : while ( $the_query->have_posts() ) : $the_query->the_post();
25 | $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large');
26 | $background_color = get_post_meta($post->ID, 'background-color', true);
27 | $background_image = get_post_meta($post->ID, 'background-image', true);
28 | $head_color = get_post_meta($post->ID, 'headline-color', true);
29 | $subhead_color = get_post_meta($post->ID, 'subhead-color', true);
30 | $copy_color = get_post_meta($post->ID, 'copy-color', true);
31 | $link = get_post_meta($post->ID, 'link', true);
32 |
33 | if($background_image != '') :
34 | echo ' ';
35 | else :
36 | echo '',
37 | '' . get_the_title() . ' ',
38 | '' . get_post_meta($post->ID, 'subtitle', true) . ' ',
39 | '',
40 | '
',
41 | get_the_post_thumbnail($post_id, 'large', array('class' => 'large-3 columns feature')),
42 | ' ',
43 | '
' . do_shortcode( get_the_content() ) . '
',
44 | '
' . get_post_meta($post->ID, 'link', true) . ' ',
45 | '
',
46 | ' ';
47 | endif;
48 | endwhile;
49 | endif;
50 | wp_reset_query();
51 | ?>
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.dropdown.js:
--------------------------------------------------------------------------------
1 | /*jslint unparam: true, browser: true, indent: 2 */
2 |
3 | ;(function ($, window, document, undefined) {
4 | 'use strict';
5 |
6 | Foundation.libs.dropdown = {
7 | name : 'dropdown',
8 |
9 | version : '4.1.3',
10 |
11 | settings : {
12 | activeClass: 'open',
13 | opened: function(){},
14 | closed: function(){}
15 | },
16 |
17 | init : function (scope, method, options) {
18 | this.scope = scope || this.scope;
19 | Foundation.inherit(this, 'throttle scrollLeft');
20 |
21 | if (typeof method === 'object') {
22 | $.extend(true, this.settings, method);
23 | }
24 |
25 | if (typeof method != 'string') {
26 |
27 | if (!this.settings.init) {
28 | this.events();
29 | }
30 |
31 | return this.settings.init;
32 | } else {
33 | return this[method].call(this, options);
34 | }
35 | },
36 |
37 | events : function () {
38 | var self = this;
39 |
40 | $(this.scope)
41 | .on('click.fndtn.dropdown', '[data-dropdown]', function (e) {
42 | e.preventDefault();
43 | self.toggle($(this));
44 | })
45 | .on('opened.fndtn.dropdown', '[data-dropdown-content]', this.settings.opened)
46 | .on('closed.fndtn.dropdown', '[data-dropdown-content]', this.settings.closed);
47 |
48 | $('body').on('click.fndtn.dropdown', function (e) {
49 | var parent = $(e.target).closest('[data-dropdown-content]');
50 |
51 | if ($(e.target).data('dropdown')) {
52 | return;
53 | }
54 | if (parent.length > 0 && ($(e.target).is('[data-dropdown-content]') || $.contains(parent.first()[0], e.target))) {
55 | e.stopPropagation();
56 | return;
57 | }
58 |
59 | self.close.call(self, $('[data-dropdown-content]'));
60 | });
61 |
62 | $(window).on('resize.fndtn.dropdown', self.throttle(function () {
63 | self.resize.call(self);
64 | }, 50)).trigger('resize');
65 |
66 | this.settings.init = true;
67 | },
68 |
69 | close: function (dropdown) {
70 | var self = this;
71 | dropdown.each(function () {
72 | if ($(this).hasClass(self.settings.activeClass)) {
73 | $(this)
74 | .css(Foundation.rtl ? 'right':'left', '-99999px')
75 | .removeClass(self.settings.activeClass);
76 | $(this).trigger('closed');
77 | }
78 | });
79 | },
80 |
81 | open: function (dropdown, target) {
82 | this
83 | .css(dropdown
84 | .addClass(this.settings.activeClass), target);
85 | dropdown.trigger('opened');
86 | },
87 |
88 | toggle : function (target) {
89 | var dropdown = $('#' + target.data('dropdown'));
90 |
91 | this.close.call(this, $('[data-dropdown-content]').not(dropdown));
92 |
93 | if (dropdown.hasClass(this.settings.activeClass)) {
94 | this.close.call(this, dropdown);
95 | } else {
96 | this.open.call(this, dropdown, target);
97 | }
98 | },
99 |
100 | resize : function () {
101 | var dropdown = $('[data-dropdown-content].open'),
102 | target = $("[data-dropdown='" + dropdown.attr('id') + "']");
103 |
104 | if (dropdown.length && target.length) {
105 | this.css(dropdown, target);
106 | }
107 | },
108 |
109 | css : function (dropdown, target) {
110 | // temporary workaround until 4.2
111 | if (/body/i.test(dropdown.offsetParent()[0].nodeName)) {
112 | var position = target.offset();
113 | position.top -= dropdown.offsetParent().offset().top;
114 | position.left -= dropdown.offsetParent().offset().left;
115 | } else {
116 | var position = target.position();
117 | }
118 |
119 | if (this.small()) {
120 | dropdown.css({
121 | position : 'absolute',
122 | width: '95%',
123 | left: '2.5%',
124 | 'max-width': 'none',
125 | top: position.top + this.outerHeight(target)
126 | });
127 | } else {
128 | if (!Foundation.rtl && $(window).width() > this.outerWidth(dropdown) + target.offset().left) {
129 | var left = position.left;
130 | } else {
131 | if (!dropdown.hasClass('right')) {
132 | dropdown.addClass('right');
133 | }
134 | var left = position.left - (this.outerWidth(dropdown) - this.outerWidth(target));
135 | }
136 |
137 | dropdown.attr('style', '').css({
138 | position : 'absolute',
139 | top: position.top + this.outerHeight(target),
140 | left: left
141 | });
142 | }
143 |
144 | return dropdown;
145 | },
146 |
147 | small : function () {
148 | return $(window).width() < 768 || $('html').hasClass('lt-ie9');
149 | },
150 |
151 | off: function () {
152 | $(this.scope).off('.fndtn.dropdown');
153 | $('html, body').off('.fndtn.dropdown');
154 | $(window).off('.fndtn.dropdown');
155 | $('[data-dropdown-content]').off('.fndtn.dropdown');
156 | this.settings.init = false;
157 | }
158 | };
159 | }(Foundation.zj, this, this.document));
160 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.magellan.js:
--------------------------------------------------------------------------------
1 | /*jslint unparam: true, browser: true, indent: 2 */
2 |
3 | ;(function ($, window, document, undefined) {
4 | 'use strict';
5 |
6 | Foundation.libs.magellan = {
7 | name : 'magellan',
8 |
9 | version : '4.0.0',
10 |
11 | settings : {
12 | activeClass: 'active'
13 | },
14 |
15 | init : function (scope, method, options) {
16 | this.scope = scope || this.scope;
17 | Foundation.inherit(this, 'data_options');
18 |
19 | if (typeof method === 'object') {
20 | $.extend(true, this.settings, method);
21 | }
22 |
23 | if (typeof method != 'string') {
24 | if (!this.settings.init) {
25 | this.fixed_magellan = $("[data-magellan-expedition]");
26 | this.set_threshold();
27 | this.last_destination = $('[data-magellan-destination]').last();
28 | this.events();
29 | }
30 |
31 | return this.settings.init;
32 | } else {
33 | return this[method].call(this, options);
34 | }
35 | },
36 |
37 | events : function () {
38 | var self = this;
39 | $(this.scope).on('arrival.fndtn.magellan', '[data-magellan-arrival]', function (e) {
40 | var $destination = $(this),
41 | $expedition = $destination.closest('[data-magellan-expedition]'),
42 | activeClass = $expedition.attr('data-magellan-active-class')
43 | || self.settings.activeClass;
44 |
45 | $destination
46 | .closest('[data-magellan-expedition]')
47 | .find('[data-magellan-arrival]')
48 | .not($destination)
49 | .removeClass(activeClass);
50 | $destination.addClass(activeClass);
51 | });
52 |
53 | this.fixed_magellan
54 | .on('update-position.fndtn.magellan', function(){
55 | var $el = $(this);
56 | // $el.data("magellan-fixed-position","");
57 | //$el.data("magellan-top-offset", "");
58 | })
59 | .trigger('update-position');
60 |
61 | $(window)
62 | .on('resize.fndtn.magellan', function() {
63 | this.fixed_magellan.trigger('update-position');
64 | }.bind(this))
65 |
66 | .on('scroll.fndtn.magellan', function() {
67 | var windowScrollTop = $(window).scrollTop();
68 | self.fixed_magellan.each(function() {
69 | var $expedition = $(this);
70 | if (typeof $expedition.data('magellan-top-offset') === 'undefined') {
71 | $expedition.data('magellan-top-offset', $expedition.offset().top);
72 | }
73 | if (typeof $expedition.data('magellan-fixed-position') === 'undefined') {
74 | $expedition.data('magellan-fixed-position', false)
75 | }
76 | var fixed_position = (windowScrollTop + self.settings.threshold) > $expedition.data("magellan-top-offset");
77 | var attr = $expedition.attr('data-magellan-top-offset');
78 |
79 | if ($expedition.data("magellan-fixed-position") != fixed_position) {
80 | $expedition.data("magellan-fixed-position", fixed_position);
81 | if (fixed_position) {
82 | $expedition.css({position:"fixed", top:0});
83 | } else {
84 | $expedition.css({position:"", top:""});
85 | }
86 | if (fixed_position && typeof attr != 'undefined' && attr != false) {
87 | $expedition.css({position:"fixed", top:attr + "px"});
88 | }
89 | }
90 | });
91 | });
92 |
93 |
94 | if (this.last_destination.length > 0) {
95 | $(window).on('scroll.fndtn.magellan', function (e) {
96 | var windowScrollTop = $(window).scrollTop(),
97 | scrolltopPlusHeight = windowScrollTop + $(window).height(),
98 | lastDestinationTop = Math.ceil(self.last_destination.offset().top);
99 |
100 | $('[data-magellan-destination]').each(function () {
101 | var $destination = $(this),
102 | destination_name = $destination.attr('data-magellan-destination'),
103 | topOffset = $destination.offset().top - windowScrollTop;
104 |
105 | if (topOffset <= self.settings.threshold) {
106 | $("[data-magellan-arrival='" + destination_name + "']").trigger('arrival');
107 | }
108 | // In large screens we may hit the bottom of the page and dont reach the top of the last magellan-destination, so lets force it
109 | if (scrolltopPlusHeight >= $(self.scope).height() && lastDestinationTop > windowScrollTop && lastDestinationTop < scrolltopPlusHeight) {
110 | $('[data-magellan-arrival]').last().trigger('arrival');
111 | }
112 | });
113 | });
114 | }
115 |
116 | this.settings.init = true;
117 | },
118 |
119 | set_threshold : function () {
120 | if (!this.settings.threshold) {
121 | this.settings.threshold = (this.fixed_magellan.length > 0) ?
122 | this.outerHeight(this.fixed_magellan, true) : 0;
123 | }
124 | },
125 |
126 | off : function () {
127 | $(this.scope).off('.fndtn.magellan');
128 | }
129 | };
130 | }(Foundation.zj, this, this.document));
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.placeholder.js:
--------------------------------------------------------------------------------
1 | /*! http://mths.be/placeholder v2.0.7 by @mathias
2 | Modified to work with Zepto.js by ZURB
3 | */
4 | ;(function(window, document, $) {
5 |
6 | var isInputSupported = 'placeholder' in document.createElement('input'),
7 | isTextareaSupported = 'placeholder' in document.createElement('textarea'),
8 | prototype = $.fn,
9 | valHooks = $.valHooks,
10 | hooks,
11 | placeholder;
12 |
13 | if (isInputSupported && isTextareaSupported) {
14 |
15 | placeholder = prototype.placeholder = function() {
16 | return this;
17 | };
18 |
19 | placeholder.input = placeholder.textarea = true;
20 |
21 | } else {
22 |
23 | placeholder = prototype.placeholder = function() {
24 | var $this = this;
25 | $this
26 | .filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')
27 | .not('.placeholder')
28 | .bind({
29 | 'focus.placeholder': clearPlaceholder,
30 | 'blur.placeholder': setPlaceholder
31 | })
32 | .data('placeholder-enabled', true)
33 | .trigger('blur.placeholder');
34 | return $this;
35 | };
36 |
37 | placeholder.input = isInputSupported;
38 | placeholder.textarea = isTextareaSupported;
39 |
40 | hooks = {
41 | 'get': function(element) {
42 | var $element = $(element);
43 | return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;
44 | },
45 | 'set': function(element, value) {
46 | var $element = $(element);
47 | if (!$element.data('placeholder-enabled')) {
48 | return element.value = value;
49 | }
50 | if (value == '') {
51 | element.value = value;
52 | // Issue #56: Setting the placeholder causes problems if the element continues to have focus.
53 | if (element != document.activeElement) {
54 | // We can't use `triggerHandler` here because of dummy text/password inputs :(
55 | setPlaceholder.call(element);
56 | }
57 | } else if ($element.hasClass('placeholder')) {
58 | clearPlaceholder.call(element, true, value) || (element.value = value);
59 | } else {
60 | element.value = value;
61 | }
62 | // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363
63 | return $element;
64 | }
65 | };
66 |
67 | isInputSupported || (valHooks.input = hooks);
68 | isTextareaSupported || (valHooks.textarea = hooks);
69 |
70 | $(function() {
71 | // Look for forms
72 | $(document).delegate('form', 'submit.placeholder', function() {
73 | // Clear the placeholder values so they don't get submitted
74 | var $inputs = $('.placeholder', this).each(clearPlaceholder);
75 | setTimeout(function() {
76 | $inputs.each(setPlaceholder);
77 | }, 10);
78 | });
79 | });
80 |
81 | // Clear placeholder values upon page reload
82 | $(window).bind('beforeunload.placeholder', function() {
83 | $('.placeholder').each(function() {
84 | this.value = '';
85 | });
86 | });
87 |
88 | }
89 |
90 | function args(elem) {
91 | // Return an object of element attributes
92 | var newAttrs = {},
93 | rinlinejQuery = /^jQuery\d+$/;
94 | $.each(elem.attributes, function(i, attr) {
95 | if (attr.specified && !rinlinejQuery.test(attr.name)) {
96 | newAttrs[attr.name] = attr.value;
97 | }
98 | });
99 | return newAttrs;
100 | }
101 |
102 | function clearPlaceholder(event, value) {
103 | var input = this,
104 | $input = $(input);
105 | if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {
106 | if ($input.data('placeholder-password')) {
107 | $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
108 | // If `clearPlaceholder` was called from `$.valHooks.input.set`
109 | if (event === true) {
110 | return $input[0].value = value;
111 | }
112 | $input.focus();
113 | } else {
114 | input.value = '';
115 | $input.removeClass('placeholder');
116 | input == document.activeElement && input.select();
117 | }
118 | }
119 | }
120 |
121 | function setPlaceholder() {
122 | var $replacement,
123 | input = this,
124 | $input = $(input),
125 | $origInput = $input,
126 | id = this.id;
127 | if (input.value == '') {
128 | if (input.type == 'password') {
129 | if (!$input.data('placeholder-textinput')) {
130 | try {
131 | $replacement = $input.clone().attr({ 'type': 'text' });
132 | } catch(e) {
133 | $replacement = $(' ').attr($.extend(args(this), { 'type': 'text' }));
134 | }
135 | $replacement
136 | .removeAttr('name')
137 | .data({
138 | 'placeholder-password': true,
139 | 'placeholder-id': id
140 | })
141 | .bind('focus.placeholder', clearPlaceholder);
142 | $input
143 | .data({
144 | 'placeholder-textinput': $replacement,
145 | 'placeholder-id': id
146 | })
147 | .before($replacement);
148 | }
149 | $input = $input.removeAttr('id').hide().prev().attr('id', id).show();
150 | // Note: `$input[0] != input` now!
151 | }
152 | $input.addClass('placeholder');
153 | $input[0].value = $input.attr('placeholder');
154 | } else {
155 | $input.removeClass('placeholder');
156 | }
157 | }
158 |
159 | }(this, document, Foundation.zj));
--------------------------------------------------------------------------------
/inc/shortcodes.php:
--------------------------------------------------------------------------------
1 | ' . do_shortcode($content) . '';
29 | }
30 |
31 | add_shortcode( 'row', 'foundation_shortcode_row' );
32 |
33 | // Columns [column][/column]
34 |
35 | function foundation_shortcode_column( $atts, $content = null ) {
36 |
37 | extract( shortcode_atts( array(
38 | 'center' => '',
39 | 'span' => '',
40 | ), $atts ) );
41 |
42 | // Set the 'center' variable
43 | if ($center == 'true') {
44 | $center = 'centered';
45 | }
46 |
47 | return '' . do_shortcode($content) . '
';
48 | }
49 |
50 | add_shortcode( 'column', 'foundation_shortcode_column' );
51 |
52 | /**
53 | * UI
54 | */
55 |
56 | // Buttons [button][/button]
57 |
58 | function foundation_shortcode_button( $atts, $content = null ) {
59 |
60 | extract( shortcode_atts( array(
61 | 'link' => '#',
62 | 'size' => 'medium',
63 | 'type' => '',
64 | 'style' => '',
65 | 'reveal' => ''
66 | ), $atts ) );
67 |
68 | if (!$reveal == null) {
69 | $reveal_data = 'data-reveal-id=' . $reveal . ' ';
70 | }
71 |
72 | return '' . $content . ' ';
73 | }
74 |
75 | add_shortcode( 'button', 'foundation_shortcode_button' );
76 |
77 | // Alerts [alert][/alert]
78 |
79 | function foundation_shortcode_alert( $atts, $content = null ) {
80 |
81 | extract( shortcode_atts( array(
82 | 'type' => ''
83 | ), $atts ) );
84 |
85 | return '' . do_shortcode($content) . '
× ';
86 | }
87 |
88 | add_shortcode( 'alert', 'foundation_shortcode_alert' );
89 |
90 | // Panels [panel][/panel]
91 |
92 | function foundation_shortcode_panel( $atts, $content = null ) {
93 |
94 | extract( shortcode_atts( array(
95 | 'type' => '',
96 | 'style' => ''
97 | ), $atts ) );
98 |
99 | return '' . do_shortcode($content) . '
';
100 | }
101 |
102 | add_shortcode( 'panel', 'foundation_shortcode_panel' );
103 |
104 | // Tabs [tabs] [tab][/tab] [/tabs]
105 |
106 | function foundation_shortcode_tabs( $atts, $content ){
107 | extract(shortcode_atts(array(
108 | 'type' => ''
109 | ), $atts));
110 |
111 | $GLOBALS['tab_count'] = 0;
112 |
113 | do_shortcode( $content );
114 |
115 | $i = 0;
116 |
117 | if( is_array( $GLOBALS['tabs'] ) ){
118 | foreach( $GLOBALS['tabs'] as $tab ){
119 |
120 | $i++;
121 |
122 | // Remove whitespace for #id
123 | $title = $tab[title];
124 | $title = str_replace(' ', '', $title);
125 |
126 | // Set the active tab
127 | if ($i == 1) {
128 |
129 | $tabs[] = ''.$tab['title'].' ';
130 | $panes[] = ''.$tab['title'].' '.$tab['content'].' ';
131 | }
132 | else {
133 |
134 | $tabs[] = ''.$tab['title'].' ';
135 | $panes[] = ''.$tab['title'].' '.$tab['content'].' ';
136 |
137 | }
138 | }
139 |
140 | $return = "\n".''.implode( "\n", $tabs ).' '."\n".''.implode( "\n", $panes ).' '."\n";
141 |
142 | }
143 | return $return;
144 | }
145 | add_shortcode( 'tabs', 'foundation_shortcode_tabs' );
146 |
147 | function foundation_shortcode_tab( $atts, $content ){
148 | extract(shortcode_atts(array(
149 | 'title' => 'Tab %d'
150 | ), $atts));
151 |
152 | $x = $GLOBALS['tab_count'];
153 | $GLOBALS['tabs'][$x] = array( 'title' => sprintf( $title, $GLOBALS['tab_count'] ), 'content' => $content );
154 |
155 | $GLOBALS['tab_count']++;
156 |
157 | }
158 |
159 | add_shortcode( 'tab', 'foundation_shortcode_tab' );
160 |
161 | /**
162 | * Elements
163 | */
164 |
165 | // Detection (Show) [show][/show]
166 |
167 | function foundation_shortcode_show( $atts, $content = null ) {
168 |
169 | extract( shortcode_atts( array(
170 | 'for' => ''
171 | ), $atts ) );
172 |
173 | return '' . do_shortcode($content) . '
';
174 | }
175 |
176 | add_shortcode( 'show', 'foundation_shortcode_show' );
177 |
178 | // Detection (Hide) [hide][/hide]
179 |
180 | function foundation_shortcode_hide( $atts, $content = null ) {
181 |
182 | extract( shortcode_atts( array(
183 | 'for' => ''
184 | ), $atts ) );
185 |
186 | return '' . do_shortcode($content) . '
';
187 | }
188 |
189 | add_shortcode( 'hide', 'foundation_shortcode_hide' );
190 |
191 | /**
192 | * Extras
193 | */
194 |
195 | // Reveal [reveal][/reveal]
196 |
197 | function foundation_shortcode_reveal( $atts, $content = null ) {
198 |
199 | extract( shortcode_atts( array(
200 | 'name' => '',
201 | 'style' => ''
202 | ), $atts ) );
203 |
204 | return '' . do_shortcode($content) . '
';
205 |
206 | }
207 |
208 | add_shortcode( 'reveal', 'foundation_shortcode_reveal' );
209 |
210 | ?>
--------------------------------------------------------------------------------
/sass/_fonts.scss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family:'ClimaconsRegular';
3 | src: url('../font/climacons-webfont.eot');
4 | src: url('../font/climacons-webfont.eot?#iefix') format('embedded-opentype'),
5 | url('../font/climacons-webfont.woff') format('woff'),
6 | url('../font/climacons-webfont.ttf') format('truetype');
7 | font-weight: normal;
8 | font-style: normal;
9 | }
10 |
11 |
12 |
13 | @font-face {
14 | font-family: 'ortodoxasemibold_italic';
15 | src: url('../font/monograma_-_ortodoxa-semibolditalic-webfont.eot');
16 | src: url('../font/monograma_-_ortodoxa-semibolditalic-webfont.eot?#iefix') format('embedded-opentype'),
17 | url('../font/monograma_-_ortodoxa-semibolditalic-webfont.woff2') format('woff2'),
18 | url('../font/monograma_-_ortodoxa-semibolditalic-webfont.woff') format('woff'),
19 | url('../font/monograma_-_ortodoxa-semibolditalic-webfont.ttf') format('truetype'),
20 | url('../font/monograma_-_ortodoxa-semibolditalic-webfont.svg#ortodoxasemibold_italic') format('svg');
21 | font-weight: normal;
22 | font-style: normal;
23 |
24 | }
25 |
26 |
27 |
28 |
29 | @font-face {
30 | font-family: 'ortodoxabold_italic';
31 | src: url('../font/monograma_-_ortodoxa-mediumitalic-webfont.eot');
32 | src: url('../font/monograma_-_ortodoxa-mediumitalic-webfont.eot?#iefix') format('embedded-opentype'),
33 | url('../font/monograma_-_ortodoxa-mediumitalic-webfont.woff2') format('woff2'),
34 | url('../font/monograma_-_ortodoxa-mediumitalic-webfont.woff') format('woff'),
35 | url('../font/monograma_-_ortodoxa-mediumitalic-webfont.ttf') format('truetype'),
36 | url('../font/monograma_-_ortodoxa-mediumitalic-webfont.svg#ortodoxabold_italic') format('svg');
37 | font-weight: normal;
38 | font-style: normal;
39 |
40 | }
41 |
42 |
43 |
44 |
45 | @font-face {
46 | font-family: 'ortodoxaregular';
47 | src: url('../font/monograma_-_ortodoxa-regular-webfont.eot');
48 | src: url('../font/monograma_-_ortodoxa-regular-webfont.eot?#iefix') format('embedded-opentype'),
49 | url('../font/monograma_-_ortodoxa-regular-webfont.woff2') format('woff2'),
50 | url('../font/monograma_-_ortodoxa-regular-webfont.woff') format('woff'),
51 | url('../font/monograma_-_ortodoxa-regular-webfont.ttf') format('truetype'),
52 | url('../font/monograma_-_ortodoxa-regular-webfont.svg#ortodoxaregular') format('svg');
53 | font-weight: normal;
54 | font-style: normal;
55 |
56 | }
57 |
58 |
59 |
60 |
61 | @font-face {
62 | font-family: 'ortodoxasemibold';
63 | src: url('../font/monograma_-_ortodoxa-semibold-webfont.eot');
64 | src: url('../font/monograma_-_ortodoxa-semibold-webfont.eot?#iefix') format('embedded-opentype'),
65 | url('../font/monograma_-_ortodoxa-semibold-webfont.woff2') format('woff2'),
66 | url('../font/monograma_-_ortodoxa-semibold-webfont.woff') format('woff'),
67 | url('../font/monograma_-_ortodoxa-semibold-webfont.ttf') format('truetype'),
68 | url('../font/monograma_-_ortodoxa-semibold-webfont.svg#ortodoxasemibold') format('svg');
69 | font-weight: normal;
70 | font-style: normal;
71 |
72 | }
73 |
74 |
75 |
76 |
77 | @font-face {
78 | font-family: 'ortodoxabold';
79 | src: url('../font/monograma_-_ortodoxa-medium-webfont.eot');
80 | src: url('../font/monograma_-_ortodoxa-medium-webfont.eot?#iefix') format('embedded-opentype'),
81 | url('../font/monograma_-_ortodoxa-medium-webfont.woff2') format('woff2'),
82 | url('../font/monograma_-_ortodoxa-medium-webfont.woff') format('woff'),
83 | url('../font/monograma_-_ortodoxa-medium-webfont.ttf') format('truetype'),
84 | url('../font/monograma_-_ortodoxa-medium-webfont.svg#ortodoxabold') format('svg');
85 | font-weight: normal;
86 | font-style: normal;
87 |
88 | }
89 |
90 |
91 |
92 |
93 | @font-face {
94 | font-family: 'ortodoxalight_italic';
95 | src: url('../font/monograma_-_ortodoxa-lightitalic-webfont.eot');
96 | src: url('../font/monograma_-_ortodoxa-lightitalic-webfont.eot?#iefix') format('embedded-opentype'),
97 | url('../font/monograma_-_ortodoxa-lightitalic-webfont.woff2') format('woff2'),
98 | url('../font/monograma_-_ortodoxa-lightitalic-webfont.woff') format('woff'),
99 | url('../font/monograma_-_ortodoxa-lightitalic-webfont.ttf') format('truetype'),
100 | url('../font/monograma_-_ortodoxa-lightitalic-webfont.svg#ortodoxalight_italic') format('svg');
101 | font-weight: normal;
102 | font-style: normal;
103 |
104 | }
105 |
106 |
107 |
108 |
109 | @font-face {
110 | font-family: 'ortodoxaitalic';
111 | src: url('../font/monograma_-_ortodoxa-italic-webfont.eot');
112 | src: url('../font/monograma_-_ortodoxa-italic-webfont.eot?#iefix') format('embedded-opentype'),
113 | url('../font/monograma_-_ortodoxa-italic-webfont.woff2') format('woff2'),
114 | url('../font/monograma_-_ortodoxa-italic-webfont.woff') format('woff'),
115 | url('../font/monograma_-_ortodoxa-italic-webfont.ttf') format('truetype'),
116 | url('../font/monograma_-_ortodoxa-italic-webfont.svg#ortodoxaitalic') format('svg');
117 | font-weight: normal;
118 | font-style: normal;
119 |
120 | }
121 |
122 |
123 |
124 |
125 | @font-face {
126 | font-family: 'ortodoxalight';
127 | src: url('../font/monograma_-_ortodoxa-light-webfont.eot');
128 | src: url('../font/monograma_-_ortodoxa-light-webfont.eot?#iefix') format('embedded-opentype'),
129 | url('../font/monograma_-_ortodoxa-light-webfont.woff2') format('woff2'),
130 | url('../font/monograma_-_ortodoxa-light-webfont.woff') format('woff'),
131 | url('../font/monograma_-_ortodoxa-light-webfont.ttf') format('truetype'),
132 | url('../font/monograma_-_ortodoxa-light-webfont.svg#ortodoxalight') format('svg');
133 | font-weight: normal;
134 | font-style: normal;
135 |
136 | }
137 |
138 |
139 |
140 |
141 | @font-face {
142 | font-family: 'ortodoxa_semiboldbold_italic';
143 | src: url('../font/monograma_-_ortodoxa-bolditalic-webfont.eot');
144 | src: url('../font/monograma_-_ortodoxa-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
145 | url('../font/monograma_-_ortodoxa-bolditalic-webfont.woff2') format('woff2'),
146 | url('../font/monograma_-_ortodoxa-bolditalic-webfont.woff') format('woff'),
147 | url('../font/monograma_-_ortodoxa-bolditalic-webfont.ttf') format('truetype'),
148 | url('../font/monograma_-_ortodoxa-bolditalic-webfont.svg#ortodoxa_semiboldbold_italic') format('svg');
149 | font-weight: normal;
150 | font-style: normal;
151 |
152 | }
153 |
154 |
155 |
156 |
157 | @font-face {
158 | font-family: 'ortodoxa_semiboldbold';
159 | src: url('../font/monograma_-_ortodoxa-bold-webfont.eot');
160 | src: url('../font/monograma_-_ortodoxa-bold-webfont.eot?#iefix') format('embedded-opentype'),
161 | url('../font/monograma_-_ortodoxa-bold-webfont.woff2') format('woff2'),
162 | url('../font/monograma_-_ortodoxa-bold-webfont.woff') format('woff'),
163 | url('../font/monograma_-_ortodoxa-bold-webfont.ttf') format('truetype'),
164 | url('../font/monograma_-_ortodoxa-bold-webfont.svg#ortodoxa_semiboldbold') format('svg');
165 | font-weight: normal;
166 | font-style: normal;
167 |
168 | }
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.orbit-ck.js:
--------------------------------------------------------------------------------
1 | (function(e,t,n,r){"use strict";Foundation.libs=Foundation.libs||{};Foundation.libs.orbit={name:"orbit",version:"4.1.0",settings:{timer_speed:8e3,animation_speed:500,bullets:!1,stack_on_small:!0,navigation_arrows:!1,slide_number:!1,container_class:"orbit-container",stack_on_small_class:"orbit-stack-on-small",next_class:"orbit-next",prev_class:"orbit-prev",timer_container_class:"orbit-timer",timer_paused_class:"paused",timer_progress_class:"orbit-progress",slides_container_class:"orbit-slides-container",bullets_container_class:"orbit-bullets",bullets_active_class:"active",slide_number_class:"orbit-slide-number",caption_class:"orbit-caption",active_slide_class:"active",orbit_transition_class:"orbit-transitioning"},init:function(t,n,r){var i=this;Foundation.inherit(i,"data_options");typeof n=="object"&&e.extend(!0,i.settings,n);e("[data-orbit]",t).each(function(t,n){var r=e.extend(!0,{},i);r._init(t,n)})},_container_html:function(){var e=this;return'
'},_bullets_container_html:function(t){var n=this,r=e(' ');t.each(function(t,i){var s=e(' ');t===0&&s.addClass(n.settings.bullets_active_class);r.append(s)});return r},_slide_number_html:function(t,n){var r=this,i=e('
');i.append(""+t+" of "+n+" ");return i},_timer_html:function(){var e=this;return typeof e.settings.timer_speed=="number"&&e.settings.timer_speed>0?'':""},_next_html:function(){var e=this;return'Next '},_prev_html:function(){var e=this;return'Prev '},_init:function(t,n){var r=this,i=e(n),s=i.wrap(r._container_html()).parent(),o=i.children();e.extend(!0,r.settings,r.data_options(i));if(r.settings.navigation_arrows){s.append(r._prev_html());s.append(r._next_html())}i.addClass(r.settings.slides_container_class);r.settings.stack_on_small&&s.addClass(r.settings.stack_on_small_class);r.settings.slide_number&&s.append(r._slide_number_html(1,o.length));s.append(r._timer_html());r.settings.bullets&&s.after(r._bullets_container_html(o));i.append(o.first().clone().attr("data-orbit-slide",""));i.prepend(o.last().clone().attr("data-orbit-slide",""));i.css("marginLeft","-100%");o.first().addClass(r.settings.active_slide_class);r._init_events(i);r._init_dimensions(i);r._start_timer(i)},_init_events:function(i){var s=this,o=i.parent();e(t).on("load.fndtn.orbit",function(){i.height("");i.height(i.height(o.height()));i.trigger("orbit:ready")}).on("resize.fndtn.orbit",function(){i.height("");i.height(i.height(o.height()))});e(n).on("click.fndtn.orbit","[data-orbit-link]",function(t){t.preventDefault();var n=e(t.currentTarget).attr("data-orbit-link"),r=i.find("[data-orbit-slide="+n+"]").first();if(r.length===1){s._reset_timer(i,!0);s._goto(i,r.index(),function(){})}});o.siblings("."+s.settings.bullets_container_class).on("click.fndtn.orbit","[data-orbit-slide-number]",function(t){t.preventDefault();s._reset_timer(i,!0);s._goto(i,e(t.currentTarget).data("orbit-slide-number"),function(){})});o.on("orbit:after-slide-change.fndtn.orbit",function(e,t){var n=o.find("."+s.settings.slide_number_class);n.length===1&&n.replaceWith(s._slide_number_html(t.slide_number,t.total_slides))}).on("orbit:next-slide.fndtn.orbit click.fndtn.orbit","."+s.settings.next_class,function(e){e.preventDefault();s._reset_timer(i,!0);s._goto(i,"next",function(){})}).on("orbit:prev-slide.fndtn.orbit click.fndtn.orbit","."+s.settings.prev_class,function(e){e.preventDefault();s._reset_timer(i,!0);s._goto(i,"prev",function(){})}).on("orbit:toggle-play-pause.fndtn.orbit click.fndtn.orbit touchstart.fndtn.orbit","."+s.settings.timer_container_class,function(t){t.preventDefault();var n=e(t.currentTarget).toggleClass(s.settings.timer_paused_class),r=n.closest("."+s.settings.container_class).find("."+s.settings.slides_container_class);n.hasClass(s.settings.timer_paused_class)?s._stop_timer(r):s._start_timer(r)}).on("touchstart.fndtn.orbit",function(e){e.touches||(e=e.originalEvent);var t={start_page_x:e.touches[0].pageX,start_page_y:e.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:r};o.data("swipe-transition",t);e.stopPropagation()}).on("touchmove.fndtn.orbit",function(e){e.touches||(e=e.originalEvent);if(e.touches.length>1||e.scale&&e.scale!==1)return;var t=o.data("swipe-transition");typeof t=="undefined"&&(t={});t.delta_x=e.touches[0].pageX-t.start_page_x;typeof t.is_scrolling=="undefined"&&(t.is_scrolling=!!(t.is_scrolling||Math.abs(t.delta_x)' + content + ' ';
20 | }
21 | },
22 |
23 | cache : {},
24 |
25 | init : function (scope, method, options) {
26 | var self = this;
27 | this.scope = scope || this.scope;
28 |
29 | if (typeof method === 'object') {
30 | $.extend(true, this.settings, method);
31 | }
32 |
33 | if (typeof method != 'string') {
34 | if (Modernizr.touch) {
35 | $(this.scope)
36 | .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
37 | '[data-tooltip]', function (e) {
38 | e.preventDefault();
39 | $(self.settings.tooltipClass).hide();
40 | self.showOrCreateTip($(this));
41 | })
42 | .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
43 | this.settings.tooltipClass, function (e) {
44 | e.preventDefault();
45 | $(this).fadeOut(150);
46 | });
47 | } else {
48 | $(this.scope)
49 | .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip',
50 | '[data-tooltip]', function (e) {
51 | var $this = $(this);
52 |
53 | if (e.type === 'mouseover' || e.type === 'mouseenter') {
54 | self.showOrCreateTip($this);
55 | } else if (e.type === 'mouseout' || e.type === 'mouseleave') {
56 | self.hide($this);
57 | }
58 | });
59 | }
60 |
61 | // $(this.scope).data('fndtn-tooltips', true);
62 | } else {
63 | return this[method].call(this, options);
64 | }
65 |
66 | },
67 |
68 | showOrCreateTip : function ($target) {
69 | var $tip = this.getTip($target);
70 |
71 | if ($tip && $tip.length > 0) {
72 | return this.show($target);
73 | }
74 |
75 | return this.create($target);
76 | },
77 |
78 | getTip : function ($target) {
79 | var selector = this.selector($target),
80 | tip = null;
81 |
82 | if (selector) {
83 | tip = $('span[data-selector=' + selector + ']' + this.settings.tooltipClass);
84 | }
85 |
86 | return (typeof tip === 'object') ? tip : false;
87 | },
88 |
89 | selector : function ($target) {
90 | var id = $target.attr('id'),
91 | dataSelector = $target.attr('data-tooltip') || $target.attr('data-selector');
92 |
93 | if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') {
94 | dataSelector = 'tooltip' + Math.random().toString(36).substring(7);
95 | $target.attr('data-selector', dataSelector);
96 | }
97 |
98 | return (id && id.length > 0) ? id : dataSelector;
99 | },
100 |
101 | create : function ($target) {
102 | var $tip = $(this.settings.tipTemplate(this.selector($target), $('
').html($target.attr('title')).html())),
103 | classes = this.inheritable_classes($target);
104 |
105 | $tip.addClass(classes).appendTo(this.settings.appendTo);
106 | if (Modernizr.touch) {
107 | $tip.append('tap to close ');
108 | }
109 | $target.removeAttr('title').attr('title','');
110 | this.show($target);
111 | },
112 |
113 | reposition : function (target, tip, classes) {
114 | var width, nub, nubHeight, nubWidth, column, objPos;
115 |
116 | tip.css('visibility', 'hidden').show();
117 |
118 | width = target.data('width');
119 | nub = tip.children('.nub');
120 | nubHeight = this.outerHeight(nub);
121 | nubWidth = this.outerHeight(nub);
122 |
123 | objPos = function (obj, top, right, bottom, left, width) {
124 | return obj.css({
125 | 'top' : (top) ? top : 'auto',
126 | 'bottom' : (bottom) ? bottom : 'auto',
127 | 'left' : (left) ? left : 'auto',
128 | 'right' : (right) ? right : 'auto',
129 | 'width' : (width) ? width : 'auto'
130 | }).end();
131 | };
132 |
133 | objPos(tip, (target.offset().top + this.outerHeight(target) + 10), 'auto', 'auto', target.offset().left, width);
134 |
135 | if ($(window).width() < 767) {
136 | objPos(tip, (target.offset().top + this.outerHeight(target) + 10), 'auto', 'auto', 12.5, $(this.scope).width());
137 | tip.addClass('tip-override');
138 | objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left);
139 | } else {
140 | var left = target.offset().left;
141 | if (Foundation.rtl) {
142 | left = target.offset().left + target.offset().width - this.outerWidth(tip);
143 | }
144 | objPos(tip, (target.offset().top + this.outerHeight(target) + 10), 'auto', 'auto', left, width);
145 | tip.removeClass('tip-override');
146 | if (classes && classes.indexOf('tip-top') > -1) {
147 | objPos(tip, (target.offset().top - this.outerHeight(tip)), 'auto', 'auto', left, width)
148 | .removeClass('tip-override');
149 | } else if (classes && classes.indexOf('tip-left') > -1) {
150 | objPos(tip, (target.offset().top + (this.outerHeight(target) / 2) - nubHeight*2.5), 'auto', 'auto', (target.offset().left - this.outerWidth(tip) - nubHeight), width)
151 | .removeClass('tip-override');
152 | } else if (classes && classes.indexOf('tip-right') > -1) {
153 | objPos(tip, (target.offset().top + (this.outerHeight(target) / 2) - nubHeight*2.5), 'auto', 'auto', (target.offset().left + this.outerWidth(target) + nubHeight), width)
154 | .removeClass('tip-override');
155 | }
156 | }
157 |
158 | tip.css('visibility', 'visible').hide();
159 | },
160 |
161 | inheritable_classes : function (target) {
162 | var inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'noradius'].concat(this.settings.additionalInheritableClasses),
163 | classes = target.attr('class'),
164 | filtered = classes ? $.map(classes.split(' '), function (el, i) {
165 | if ($.inArray(el, inheritables) !== -1) {
166 | return el;
167 | }
168 | }).join(' ') : '';
169 |
170 | return $.trim(filtered);
171 | },
172 |
173 | show : function ($target) {
174 | var $tip = this.getTip($target);
175 |
176 | this.reposition($target, $tip, $target.attr('class'));
177 | $tip.fadeIn(150);
178 | },
179 |
180 | hide : function ($target) {
181 | var $tip = this.getTip($target);
182 |
183 | $tip.fadeOut(150);
184 | },
185 |
186 | // deprecate reload
187 | reload : function () {
188 | var $self = $(this);
189 |
190 | return ($self.data('fndtn-tooltips')) ? $self.foundationTooltips('destroy').foundationTooltips('init') : $self.foundationTooltips('init');
191 | },
192 |
193 | off : function () {
194 | $(this.scope).off('.fndtn.tooltip');
195 | $(this.settings.tooltipClass).each(function (i) {
196 | $('[data-tooltip]').get(i).attr('title', $(this).text());
197 | }).remove();
198 | }
199 | };
200 | }(Foundation.zj, this, this.document));
201 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.topbar.js:
--------------------------------------------------------------------------------
1 | /*jslint unparam: true, browser: true, indent: 2 */
2 |
3 | ;(function ($, window, document, undefined) {
4 | 'use strict';
5 |
6 | Foundation.libs.topbar = {
7 | name : 'topbar',
8 |
9 | version : '4.1.2',
10 |
11 | settings : {
12 | index : 0,
13 | stickyClass : 'sticky',
14 | custom_back_text: true,
15 | back_text: 'Back',
16 | init : false
17 | },
18 |
19 | init : function (section, method, options) {
20 | var self = this;
21 |
22 | if (typeof method === 'object') {
23 | $.extend(true, this.settings, method);
24 | }
25 |
26 | if (typeof method != 'string') {
27 |
28 | $('.top-bar').each(function () {
29 | self.settings.$w = $(window);
30 | self.settings.$topbar = $(this);
31 | self.settings.$section = self.settings.$topbar.find('section');
32 | self.settings.$titlebar = self.settings.$topbar.children('ul').first();
33 |
34 |
35 | self.settings.$topbar.data('index', 0);
36 |
37 | var breakpoint = $("
").insertAfter(self.settings.$topbar);
38 | self.settings.breakPoint = breakpoint.width();
39 | breakpoint.remove();
40 |
41 | self.assemble();
42 |
43 | if (self.settings.$topbar.parent().hasClass('fixed')) {
44 | $('body').css('padding-top', self.outerHeight(self.settings.$topbar));
45 | }
46 | });
47 |
48 | if (!self.settings.init) {
49 | this.events();
50 | }
51 |
52 | return this.settings.init;
53 | } else {
54 | // fire method
55 | return this[method].call(this, options);
56 | }
57 | },
58 |
59 | events : function () {
60 | var self = this;
61 | var offst = this.outerHeight($('.top-bar'));
62 | $(this.scope)
63 | .on('click.fndtn.topbar', '.top-bar .toggle-topbar', function (e) {
64 | var topbar = $(this).closest('.top-bar'),
65 | section = topbar.find('section, .section'),
66 | titlebar = topbar.children('ul').first();
67 |
68 | if (!topbar.data('height')) self.largestUL();
69 |
70 | e.preventDefault();
71 |
72 | if (self.breakpoint()) {
73 | topbar
74 | .toggleClass('expanded')
75 | .css('min-height', '');
76 | }
77 |
78 | if (!topbar.hasClass('expanded')) {
79 | if (!self.rtl) {
80 | section.css({left: '0%'});
81 | section.find('>.name').css({left: '100%'});
82 | } else {
83 | section.css({right: '0%'});
84 | section.find('>.name').css({right: '100%'});
85 | }
86 | section.find('li.moved').removeClass('moved');
87 | topbar.data('index', 0);
88 |
89 | if (topbar.hasClass('fixed')) {
90 | topbar.parent().addClass('fixed');
91 | topbar.removeClass('fixed');
92 | $('body').css('padding-top',offst);
93 | }
94 | } else if (topbar.parent().hasClass('fixed')) {
95 | topbar.parent().removeClass('fixed');
96 | topbar.addClass('fixed');
97 | $('body').css('padding-top','0');
98 | window.scrollTo(0,0);
99 | }
100 | })
101 |
102 | .on('click.fndtn.topbar', '.top-bar .has-dropdown>a', function (e) {
103 | var topbar = $(this).closest('.top-bar'),
104 | section = topbar.find('section, .section'),
105 | titlebar = topbar.children('ul').first(),
106 | dropdownHeight = $(this).next('.dropdown').outerHeight();
107 |
108 | if (Modernizr.touch || self.breakpoint()) {
109 | e.preventDefault();
110 | }
111 |
112 | if (self.breakpoint()) {
113 | var $this = $(this),
114 | $selectedLi = $this.closest('li');
115 |
116 | topbar.data('index', topbar.data('index') + 1);
117 | $selectedLi.addClass('moved');
118 | if (!self.rtl) {
119 | section.css({left: -(100 * topbar.data('index')) + '%'});
120 | section.find('>.name').css({left: 100 * topbar.data('index') + '%'});
121 | } else {
122 | section.css({right: -(100 * topbar.data('index')) + '%'});
123 | section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
124 | }
125 |
126 | $('.top-bar').css('min-height', dropdownHeight);
127 |
128 | $this.siblings('ul')
129 | .height(topbar.data('height') + self.outerHeight(titlebar, true));
130 | topbar
131 | .css('min-height', topbar.data('height') + self.outerHeight(titlebar, true) * 2)
132 | }
133 | });
134 |
135 | $(window).on('resize.fndtn.topbar', function () {
136 | if (!self.breakpoint()) {
137 | $('.top-bar')
138 | .css('min-height', '')
139 | .removeClass('expanded');
140 | }
141 | }.bind(this));
142 |
143 | // Go up a level on Click
144 | $(this.scope).on('click.fndtn', '.top-bar .has-dropdown .back', function (e) {
145 | e.preventDefault();
146 |
147 | var $this = $(this),
148 | topbar = $this.closest('.top-bar'),
149 | section = topbar.find('section, .section'),
150 | $movedLi = $this.closest('li.moved'),
151 | $previousLevelUl = $movedLi.parent();
152 |
153 | topbar.data('index', topbar.data('index') - 1);
154 | if (!self.rtl) {
155 | section.css({left: -(100 * topbar.data('index')) + '%'});
156 | section.find('>.name').css({left: 100 * topbar.data('index') + '%'});
157 | } else {
158 | section.css({right: -(100 * topbar.data('index')) + '%'});
159 | section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
160 | }
161 |
162 | if (topbar.data('index') === 0) {
163 | topbar.css('min-height', 0);
164 | }
165 |
166 | setTimeout(function () {
167 | $movedLi.removeClass('moved');
168 | }, 300);
169 | });
170 | },
171 |
172 | breakpoint : function () {
173 | return $(window).width() <= this.settings.breakPoint || $('html').hasClass('lt-ie9');
174 | },
175 |
176 | assemble : function () {
177 | var self = this;
178 | // Pull element out of the DOM for manipulation
179 | this.settings.$section.detach();
180 |
181 | this.settings.$section.find('.has-dropdown>a').each(function () {
182 | var $link = $(this),
183 | $dropdown = $link.siblings('.dropdown'),
184 | $titleLi = $(' ');
185 |
186 | // Copy link to subnav
187 | if (self.settings.custom_back_text == true) {
188 | $titleLi.find('h5>a').html('« ' + self.settings.back_text);
189 | } else {
190 | $titleLi.find('h5>a').html('« ' + $link.html());
191 | }
192 | $dropdown.prepend($titleLi);
193 | });
194 |
195 | // Put element back in the DOM
196 | this.settings.$section.appendTo(this.settings.$topbar);
197 |
198 | // check for sticky
199 | this.sticky();
200 | },
201 |
202 | largestUL : function () {
203 | var uls = this.settings.$topbar.find('section ul ul'),
204 | largest = uls.first(),
205 | total = 0,
206 | self = this;
207 |
208 | uls.each(function () {
209 | if ($(this).children('li').length > largest.children('li').length) {
210 | largest = $(this);
211 | }
212 | });
213 |
214 | largest.children('li').each(function () { total += self.outerHeight($(this), true); });
215 |
216 | this.settings.$topbar.data('height', total);
217 | },
218 |
219 | sticky : function () {
220 | var klass = '.' + this.settings.stickyClass;
221 | if ($(klass).length > 0) {
222 | var distance = $(klass).length ? $(klass).offset().top: 0,
223 | $window = $(window);
224 | var offst = this.outerHeight($('.top-bar'));
225 |
226 | $window.scroll(function() {
227 | if ($window.scrollTop() >= (distance)) {
228 | $(klass).addClass("fixed");
229 | $('body').css('padding-top',offst);
230 | }
231 |
232 | else if ($window.scrollTop() < distance) {
233 | $(klass).removeClass("fixed");
234 | $('body').css('padding-top','0');
235 | }
236 | });
237 | }
238 | },
239 |
240 | off : function () {
241 | $(this.scope).off('.fndtn.topbar');
242 | $(window).off('.fndtn.topbar');
243 | }
244 | };
245 | }(Foundation.zj, this, this.document));
246 |
--------------------------------------------------------------------------------
/javascripts/vendor/custom.modernizr.js:
--------------------------------------------------------------------------------
1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2 | * Build: http://modernizr.com/download/#-inlinesvg-svg-svgclippaths-touch-shiv-mq-cssclasses-teststyles-prefixes-ie8compat-load
3 | */
4 | ;window.Modernizr=function(a,b,c){function y(a){j.cssText=a}function z(a,b){return y(m.join(a+";")+(b||""))}function A(a,b){return typeof a===b}function B(a,b){return!!~(""+a).indexOf(b)}function C(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:A(f,"function")?f.bind(d||b):f}return!1}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n={svg:"http://www.w3.org/2000/svg"},o={},p={},q={},r=[],s=r.slice,t,u=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},v=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return u("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},w={}.hasOwnProperty,x;!A(w,"undefined")&&!A(w.call,"undefined")?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:u(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},o.svg=function(){return!!b.createElementNS&&!!b.createElementNS(n.svg,"svg").createSVGRect},o.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML=" ",(a.firstChild&&a.firstChild.namespaceURI)==n.svg},o.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(n.svg,"clipPath")))};for(var D in o)x(o,D)&&(t=D.toLowerCase(),e[t]=o[D](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)x(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},y(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,e.mq=v,e.testStyles=u,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+r.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f 0) {
122 | this.locked = true;
123 | modal.trigger('close');
124 | this.toggle_bg(modal);
125 | this.hide(open_modals, this.settings.css.close);
126 | }
127 | },
128 |
129 | close_targets : function () {
130 | var base = '.' + this.settings.dismissModalClass;
131 |
132 | if (this.settings.closeOnBackgroundClick) {
133 | return base + ', .' + this.settings.bgClass;
134 | }
135 |
136 | return base;
137 | },
138 |
139 | toggle_bg : function (modal) {
140 | if ($('.reveal-modal-bg').length === 0) {
141 | this.settings.bg = $('
', {'class': this.settings.bgClass})
142 | .appendTo('body');
143 | }
144 |
145 | if (this.settings.bg.filter(':visible').length > 0) {
146 | this.hide(this.settings.bg);
147 | } else {
148 | this.show(this.settings.bg);
149 | }
150 | },
151 |
152 | show : function (el, css) {
153 | // is modal
154 | if (css) {
155 | if (/pop/i.test(this.settings.animation)) {
156 | css.top = $(window).scrollTop() - el.data('offset') + 'px';
157 | var end_css = {
158 | top: $(window).scrollTop() + el.data('css-top') + 'px',
159 | opacity: 1
160 | };
161 |
162 | return this.delay(function () {
163 | return el
164 | .css(css)
165 | .animate(end_css, this.settings.animationSpeed, 'linear', function () {
166 | this.locked = false;
167 | el.trigger('opened');
168 | }.bind(this))
169 | .addClass('open');
170 | }.bind(this), this.settings.animationSpeed / 2);
171 | }
172 |
173 | if (/fade/i.test(this.settings.animation)) {
174 | var end_css = {opacity: 1};
175 |
176 | return this.delay(function () {
177 | return el
178 | .css(css)
179 | .animate(end_css, this.settings.animationSpeed, 'linear', function () {
180 | this.locked = false;
181 | el.trigger('opened');
182 | }.bind(this))
183 | .addClass('open');
184 | }.bind(this), this.settings.animationSpeed / 2);
185 | }
186 |
187 | return el.css(css).show().css({opacity: 1}).addClass('open').trigger('opened');
188 | }
189 |
190 | // should we animate the background?
191 | if (/fade/i.test(this.settings.animation)) {
192 | return el.fadeIn(this.settings.animationSpeed / 2);
193 | }
194 |
195 | return el.show();
196 | },
197 |
198 | hide : function (el, css) {
199 | // is modal
200 | if (css) {
201 | if (/pop/i.test(this.settings.animation)) {
202 | var end_css = {
203 | top: - $(window).scrollTop() - el.data('offset') + 'px',
204 | opacity: 0
205 | };
206 |
207 | return this.delay(function () {
208 | return el
209 | .animate(end_css, this.settings.animationSpeed, 'linear', function () {
210 | this.locked = false;
211 | el.css(css).trigger('closed');
212 | }.bind(this))
213 | .removeClass('open');
214 | }.bind(this), this.settings.animationSpeed / 2);
215 | }
216 |
217 | if (/fade/i.test(this.settings.animation)) {
218 | var end_css = {opacity: 0};
219 |
220 | return this.delay(function () {
221 | return el
222 | .animate(end_css, this.settings.animationSpeed, 'linear', function () {
223 | this.locked = false;
224 | el.css(css).trigger('closed');
225 | }.bind(this))
226 | .removeClass('open');
227 | }.bind(this), this.settings.animationSpeed / 2);
228 | }
229 |
230 | return el.hide().css(css).removeClass('open').trigger('closed');
231 | }
232 |
233 | // should we animate the background?
234 | if (/fade/i.test(this.settings.animation)) {
235 | return el.fadeOut(this.settings.animationSpeed / 2);
236 | }
237 |
238 | return el.hide();
239 | },
240 |
241 | close_video : function (e) {
242 | var video = $(this).find('.flex-video'),
243 | iframe = video.find('iframe');
244 |
245 | if (iframe.length > 0) {
246 | iframe.attr('data-src', iframe[0].src);
247 | iframe.attr('src', 'about:blank');
248 | video.fadeOut(100).hide();
249 | }
250 | },
251 |
252 | open_video : function (e) {
253 | var video = $(this).find('.flex-video'),
254 | iframe = video.find('iframe');
255 |
256 | if (iframe.length > 0) {
257 | var data_src = iframe.attr('data-src');
258 | if (typeof data_src === 'string') {
259 | iframe[0].src = iframe.attr('data-src');
260 | }
261 | video.show().fadeIn(100);
262 | }
263 | },
264 |
265 | cache_offset : function (modal) {
266 | var offset = modal.show().height() + parseInt(modal.css('top'), 10);
267 |
268 | modal.hide();
269 |
270 | return offset;
271 | },
272 |
273 | off : function () {
274 | $(this.scope).off('.fndtn.reveal');
275 | }
276 | };
277 | }(Foundation.zj, this, this.document));
--------------------------------------------------------------------------------
/sass/app.scss:
--------------------------------------------------------------------------------
1 | // Global Foundation Settings
2 | @import "settings";
3 |
4 | // Comment out this import if you don't want to use normalize
5 | @import "normalize";
6 |
7 | @import "font-awesome";
8 | @import "fonts";
9 |
10 | // Comment out this import if you are customizing you imports below
11 | //@import "foundation";
12 |
13 | // Compass' CSS3 mixins
14 | @import "compass/css3";
15 | @import "compass/layout/sticky-footer";
16 | // Import specific parts of Foundation by commenting the import "foundation"
17 | // and uncommenting what you want below. You must uncomment the following if customizing
18 |
19 | @import "foundation/components/global"; // *always required
20 | @import "foundation/components/grid";
21 | // @import "foundation/components/visibility";
22 | // @import "foundation/components/block-grid";
23 | @import "foundation/components/type";
24 | @import "foundation/components/buttons";
25 | @import "foundation/components/forms"; // *requires components/buttons
26 | // @import "foundation/components/custom-forms"; // *requires components/buttons, components/forms
27 | // @import "foundation/components/button-groups"; // *requires components/buttons
28 | @import "foundation/components/dropdown-buttons"; // *requires components/buttons
29 | // @import "foundation/components/split-buttons"; // *requires components/buttons
30 | // @import "foundation/components/flex-video";
31 | // @import "foundation/components/section";
32 | // @import "foundation/components/top-bar"; // *requires components/grid
33 | // @import "foundation/components/orbit";
34 | // @import "foundation/components/reveal";
35 | // @import "foundation/components/joyride";
36 | // @import "foundation/components/clearing";
37 | // @import "foundation/components/alert-boxes";
38 | // @import "foundation/components/breadcrumbs";
39 | // @import "foundation/components/keystrokes";
40 | // @import "foundation/components/labels";
41 | @import "foundation/components/inline-lists";
42 | // @import "foundation/components/pagination";
43 | // @import "foundation/components/panels";
44 | // @import "foundation/components/pricing-tables";
45 | // @import "foundation/components/progress-bars";
46 | // @import "foundation/components/side-nav";
47 | // @import "foundation/components/sub-nav";
48 | // @import "foundation/components/switch";
49 | // @import "foundation/components/magellan";
50 | // @import "foundation/components/tables";
51 | @import "foundation/components/thumbs";
52 | // @import "foundation/components/tooltips";
53 | // @import "foundation/components/dropdown";
54 |
55 | @include sticky-footer(200px, ".content", ".content-dock", ".dock");
56 |
57 |
58 |
59 | body, .columns, .column { padding: 0; }
60 |
61 |
62 | //# /$$$$$$$$ /$$
63 | //# |__ $$__/ | $$
64 | //# | $$ /$$ /$$ /$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$ | $$$$$$$ /$$ /$$
65 | //# | $$ | $$ | $$ /$$__ $$ /$$__ $$ /$$__ $$ /$$__ $$ |____ $$ /$$__ $$| $$__ $$| $$ | $$
66 | //# | $$ | $$ | $$| $$ \ $$| $$ \ $$| $$ \ $$| $$ \__/ /$$$$$$$| $$ \ $$| $$ \ $$| $$ | $$
67 | //# | $$ | $$ | $$| $$ | $$| $$ | $$| $$ | $$| $$ /$$__ $$| $$ | $$| $$ | $$| $$ | $$
68 | //# | $$ | $$$$$$$| $$$$$$$/| $$$$$$/| $$$$$$$| $$ | $$$$$$$| $$$$$$$/| $$ | $$| $$$$$$$
69 | //# |__/ \____ $$| $$____/ \______/ \____ $$|__/ \_______/| $$____/ |__/ |__/ \____ $$
70 | //# /$$ | $$| $$ /$$ \ $$ | $$ /$$ | $$
71 | //# | $$$$$$/| $$ | $$$$$$/ | $$ | $$$$$$/
72 | //# \______/ |__/ \______/ |__/ \______/
73 |
74 |
75 |
76 |
77 | h1, h2, h3, h4, h5, h6, p, li, a {
78 | @include transition-property(all);
79 | @include transition-duration(0.3s);
80 | @include transition-timing-function(ease-in);
81 |
82 | }
83 |
84 | h1 {
85 | text-align: left;
86 | // font-size: emCalc(24px);
87 | line-height: 1.2;
88 | }
89 |
90 | h2 {
91 | // font-size: emCalc(16px);
92 | margin-bottom: .8em;
93 | text-transform: uppercase;
94 | margin-top: .8em;
95 | font-weight: 400;
96 | }
97 | p {
98 | padding-top: 0;
99 | margin-top: 0;
100 | line-height: 1.4;
101 | // font-size: emCalc(14px);
102 | font-weight: 100;
103 | }
104 | p.link {
105 | margin-top: 1em;
106 | @include grid-column(12);
107 | }
108 | @media #{$small} {
109 | h1 { font-size: emCalc(80px); }
110 | h2 { font-size: emCalc(34px); margin-top: 0; }
111 | p { font-size: emCalc(24px); }
112 | .copy { margin-left: 1em; }
113 | p.link {
114 | display: none;
115 | }
116 | }
117 | @media #{$medium} {
118 | h2 {
119 |
120 | }
121 | }
122 |
123 |
124 |
125 |
126 | //# /$$$$$$ /$$ /$$
127 | //# /$$__ $$ | $$ | $$
128 | //# | $$ \__/ /$$$$$$ /$$$$$$ /$$ /$$ /$$$$$$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$
129 | //# | $$$$$$ |_ $$_/ /$$__ $$| $$ | $$ /$$_____/|_ $$_/ | $$ | $$ /$$__ $$ /$$__ $$
130 | //# \____ $$ | $$ | $$ \__/| $$ | $$| $$ | $$ | $$ | $$| $$ \__/| $$$$$$$$
131 | //# /$$ \ $$ | $$ /$$| $$ | $$ | $$| $$ | $$ /$$| $$ | $$| $$ | $$_____/
132 | //# | $$$$$$/ | $$$$/| $$ | $$$$$$/| $$$$$$$ | $$$$/| $$$$$$/| $$ | $$$$$$$
133 | //# \______/ \___/ |__/ \______/ \_______/ \___/ \______/ |__/ \_______/
134 |
135 |
136 |
137 |
138 |
139 | li.post-box {
140 | padding: 20px;
141 | display: inline-block;
142 | height: 100%;
143 | min-height: 100%;
144 | }
145 | /*.orbit-prev, .orbit-next, .orbit-slide-number {
146 | display: none;
147 | height: 0;
148 | width: 0;
149 | }*/
150 | .dock { display: none; }
151 | @media #{$medium} {
152 |
153 | }
154 | @media #{$large} {
155 |
156 | }
157 |
158 |
159 |
160 | @media #{$small} {
161 |
162 | *, html, body {
163 | max-height: 100%;
164 | overflow: hidden;
165 | }
166 | .orbit-slides-container {
167 | height: 100%;
168 | min-height: 100%;
169 | }
170 | li.post-box {
171 | height: 100%;
172 | min-height: 100vh;
173 | width: 100vw;
174 | min-width: 100vw;
175 | overflow: hidden;
176 | }
177 | img.feature {
178 | margin-left: 1em
179 | }
180 |
181 |
182 | .page-wrap {
183 | min-height: 100%;
184 | /* equal to footer height */
185 | margin: 0 0 -215px 0;
186 | padding-bottom: 0;
187 | }
188 | .page-wrap:after {
189 | content: "";
190 | display: block;
191 | padding-bottom: 0;
192 | }
193 | .footer, .page-wrap:after {
194 | /* .push must be the same height as footer */
195 | height: 215px;
196 | padding-bottom: 0;
197 | margin: 0;
198 | }
199 | .dock {
200 | background: rgba(79,75,75,0.43);
201 | position: relative;
202 | display: block;
203 | // height: 215px;
204 | height: 50%;
205 | width: 100%;
206 | }
207 | .dock .columns {
208 | border-right: 1px solid rgba(255,255,255,0.4);
209 | display: inline-block;
210 | height: 100%;
211 | padding: .3em 1em;
212 | color: #fff;
213 | }
214 | .dock .row {
215 | height: 100%;
216 | }
217 | .dock .columns:last-child {
218 | border-right: none;
219 | }
220 | .dock h6 { color: #ffffff; }
221 | }
222 |
223 |
224 | iframe {
225 | border:none;
226 | margin:0;
227 | padding:0;
228 | height: 200px;
229 | width: 100%;
230 | position: relative;
231 | }
232 |
233 |
234 | * { cursor: url('../cursor.png'), none; }
235 |
236 |
237 | //# /$$ /$$ /$$ /$$
238 | //# | $$ /$ | $$ | $$ | $$
239 | //# | $$ /$$$| $$ /$$$$$$ /$$$$$$ /$$$$$$ | $$$$$$$ /$$$$$$ /$$$$$$
240 | //# | $$/$$ $$ $$ /$$__ $$ |____ $$|_ $$_/ | $$__ $$ /$$__ $$ /$$__ $$
241 | //# | $$$$_ $$$$| $$$$$$$$ /$$$$$$$ | $$ | $$ \ $$| $$$$$$$$| $$ \__/
242 | //# | $$$/ \ $$$| $$_____/ /$$__ $$ | $$ /$$| $$ | $$| $$_____/| $$
243 | //# | $$/ \ $$| $$$$$$$| $$$$$$$ | $$$$/| $$ | $$| $$$$$$$| $$
244 | //# |__/ \__/ \_______/ \_______/ \___/ |__/ |__/ \_______/|__/
245 |
246 |
247 | .icon {
248 | overflow: hidden;
249 | //font-size: emCalc(200px);
250 | font-size: 12rem;
251 | text-align: left;
252 | padding: 0 0 0 1rem !important;
253 | margin-top: -3%;
254 | @include grid-column(6);
255 | }
256 | .conditions {
257 | //margin: 16px 46px 0 0;
258 | text-align: left;
259 | @include grid-column(6);
260 | padding-top: 0;
261 | }
262 | .temperature {
263 | font-size: 5.3rem;
264 | display: block;
265 | line-height: 1.1;
266 | padding-top: .8rem;
267 | }
268 | .condition {
269 | font-size: 2rem;
270 | display: block;
271 | line-height: 1.3;
272 | }
273 |
274 |
275 | /* Climacons styles
276 | ------------------------------------------------------- */
277 |
278 |
279 | //# /$$$$$$ /$$ /$$
280 | //# /$$__ $$| $$ | $$
281 | //# | $$ \__/| $$ /$$$$$$ /$$$$$$$| $$ /$$
282 | //# | $$ | $$ /$$__ $$ /$$_____/| $$ /$$/
283 | //# | $$ | $$| $$ \ $$| $$ | $$$$$$/
284 | //# | $$ $$| $$| $$ | $$| $$ | $$_ $$
285 | //# | $$$$$$/| $$| $$$$$$/| $$$$$$$| $$ \ $$
286 | //# \______/ |__/ \______/ \_______/|__/ \__/
287 |
288 |
289 | /* --------------------------
290 | Thanks, @Bluxart :: http://www.alessioatzeni.com/blog/css3-digital-clock-with-jquery/
291 | ----------------------- */
292 | .clock {
293 | width:98%;
294 | margin:0 auto 0 auto;
295 | padding: 0;
296 | color:#fff;
297 | }
298 |
299 | #Date {
300 | font-size: emCalc(30px);
301 | text-align:center;
302 | margin-top:10px;
303 | display:block;
304 | float:none;
305 | position:relative;
306 | }
307 |
308 | .clock ul {
309 | width:100%;
310 | margin:0 auto !important;
311 | padding:0 !important;
312 | list-style:none;
313 | text-align:center;
314 | display:block;
315 | line-height: 1.1;
316 | }
317 | .clock ul li {
318 | display:inline;
319 | text-align:center;
320 | // font-size: emCalc(60px);
321 | font-size: 6rem;
322 | font-weight: normal;
323 | margin:0;
324 | padding: 0;
325 | color:#fff;
326 | }
327 |
328 | #point {
329 | padding:0;
330 | font-size: 7rem;
331 | position:relative;
332 | display: inline;
333 | -moz-animation:mymove 1s ease infinite;
334 | -webkit-animation:mymove 1s ease infinite;
335 | }
336 | /* Simple Animation */
337 | @-webkit-keyframes mymove
338 | {
339 | 0% {opacity:.8; }
340 | 50% {opacity:.1; }
341 | 100% {opacity:.8; }
342 | }
343 |
344 | @-moz-keyframes mymove
345 | {
346 | 0% {opacity:.8; }
347 | 50% {opacity:.1; }
348 | 100% {opacity:.8; }
349 | }
350 |
351 |
--------------------------------------------------------------------------------
/stylesheets/normalize.css:
--------------------------------------------------------------------------------
1 | /* normalize.css v2.1.1 | MIT License | git.io/normalize */
2 | /* ==========================================================================
3 | HTML5 display definitions
4 | ========================================================================== */
5 | /**
6 | * Correct `block` display not defined in IE 8/9.
7 | */
8 | /* line 22, ../sass/normalize.scss */
9 | article,
10 | aside,
11 | details,
12 | figcaption,
13 | figure,
14 | footer,
15 | header,
16 | hgroup,
17 | main,
18 | nav,
19 | section,
20 | summary {
21 | display: block;
22 | }
23 |
24 | /**
25 | * Correct `inline-block` display not defined in IE 8/9.
26 | */
27 | /* line 32, ../sass/normalize.scss */
28 | audio,
29 | canvas,
30 | video {
31 | display: inline-block;
32 | }
33 |
34 | /**
35 | * Prevent modern browsers from displaying `audio` without controls.
36 | * Remove excess height in iOS 5 devices.
37 | */
38 | /* line 41, ../sass/normalize.scss */
39 | audio:not([controls]) {
40 | display: none;
41 | height: 0;
42 | }
43 |
44 | /**
45 | * Address styling not present in IE 8/9.
46 | */
47 | /* line 50, ../sass/normalize.scss */
48 | [hidden] {
49 | display: none;
50 | }
51 |
52 | /* ==========================================================================
53 | Base
54 | ========================================================================== */
55 | /**
56 | * 1. Prevent system color scheme's background color being used in Firefox, IE,
57 | * and Opera.
58 | * 2. Prevent system color scheme's text color being used in Firefox, IE, and
59 | * Opera.
60 | * 3. Set default font family to sans-serif.
61 | * 4. Prevent iOS text size adjust after orientation change, without disabling
62 | * user zoom.
63 | */
64 | /* line 68, ../sass/normalize.scss */
65 | html {
66 | background: #fff;
67 | /* 1 */
68 | color: #000;
69 | /* 2 */
70 | font-family: sans-serif;
71 | /* 3 */
72 | -ms-text-size-adjust: 100%;
73 | /* 4 */
74 | -webkit-text-size-adjust: 100%;
75 | /* 4 */
76 | }
77 |
78 | /**
79 | * Remove default margin.
80 | */
81 | /* line 80, ../sass/normalize.scss */
82 | body {
83 | margin: 0;
84 | }
85 |
86 | /* ==========================================================================
87 | Links
88 | ========================================================================== */
89 | /**
90 | * Address `outline` inconsistency between Chrome and other browsers.
91 | */
92 | /* line 92, ../sass/normalize.scss */
93 | a:focus {
94 | outline: thin dotted;
95 | }
96 |
97 | /**
98 | * Improve readability when focused and also mouse hovered in all browsers.
99 | */
100 | /* line 101, ../sass/normalize.scss */
101 | a:active,
102 | a:hover {
103 | outline: 0;
104 | }
105 |
106 | /* ==========================================================================
107 | Typography
108 | ========================================================================== */
109 | /**
110 | * Address variable `h1` font-size and margin within `section` and `article`
111 | * contexts in Firefox 4+, Safari 5, and Chrome.
112 | */
113 | /* line 114, ../sass/normalize.scss */
114 | h1 {
115 | font-size: 2em;
116 | margin: 0.67em 0;
117 | }
118 |
119 | /**
120 | * Address styling not present in IE 8/9, Safari 5, and Chrome.
121 | */
122 | /* line 123, ../sass/normalize.scss */
123 | abbr[title] {
124 | border-bottom: 1px dotted;
125 | }
126 |
127 | /**
128 | * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
129 | */
130 | /* line 132, ../sass/normalize.scss */
131 | b,
132 | strong {
133 | font-weight: bold;
134 | }
135 |
136 | /**
137 | * Address styling not present in Safari 5 and Chrome.
138 | */
139 | /* line 140, ../sass/normalize.scss */
140 | dfn {
141 | font-style: italic;
142 | }
143 |
144 | /**
145 | * Address differences between Firefox and other browsers.
146 | */
147 | /* line 148, ../sass/normalize.scss */
148 | hr {
149 | -moz-box-sizing: content-box;
150 | box-sizing: content-box;
151 | height: 0;
152 | }
153 |
154 | /**
155 | * Address styling not present in IE 8/9.
156 | */
157 | /* line 158, ../sass/normalize.scss */
158 | mark {
159 | background: #ff0;
160 | color: #000;
161 | }
162 |
163 | /**
164 | * Correct font family set oddly in Safari 5 and Chrome.
165 | */
166 | /* line 170, ../sass/normalize.scss */
167 | code,
168 | kbd,
169 | pre,
170 | samp {
171 | font-family: monospace, serif;
172 | font-size: 1em;
173 | }
174 |
175 | /**
176 | * Improve readability of pre-formatted text in all browsers.
177 | */
178 | /* line 179, ../sass/normalize.scss */
179 | pre {
180 | white-space: pre-wrap;
181 | }
182 |
183 | /**
184 | * Set consistent quote types.
185 | */
186 | /* line 187, ../sass/normalize.scss */
187 | q {
188 | quotes: "\201C" "\201D" "\2018" "\2019";
189 | }
190 |
191 | /**
192 | * Address inconsistent and variable font size in all browsers.
193 | */
194 | /* line 195, ../sass/normalize.scss */
195 | small {
196 | font-size: 80%;
197 | }
198 |
199 | /**
200 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
201 | */
202 | /* line 204, ../sass/normalize.scss */
203 | sub,
204 | sup {
205 | font-size: 75%;
206 | line-height: 0;
207 | position: relative;
208 | vertical-align: baseline;
209 | }
210 |
211 | /* line 211, ../sass/normalize.scss */
212 | sup {
213 | top: -0.5em;
214 | }
215 |
216 | /* line 215, ../sass/normalize.scss */
217 | sub {
218 | bottom: -0.25em;
219 | }
220 |
221 | /* ==========================================================================
222 | Embedded content
223 | ========================================================================== */
224 | /**
225 | * Remove border when inside `a` element in IE 8/9.
226 | */
227 | /* line 227, ../sass/normalize.scss */
228 | img {
229 | border: 0;
230 | }
231 |
232 | /**
233 | * Correct overflow displayed oddly in IE 9.
234 | */
235 | /* line 235, ../sass/normalize.scss */
236 | svg:not(:root) {
237 | overflow: hidden;
238 | }
239 |
240 | /* ==========================================================================
241 | Figures
242 | ========================================================================== */
243 | /**
244 | * Address margin not present in IE 8/9 and Safari 5.
245 | */
246 | /* line 247, ../sass/normalize.scss */
247 | figure {
248 | margin: 0;
249 | }
250 |
251 | /* ==========================================================================
252 | Forms
253 | ========================================================================== */
254 | /**
255 | * Define consistent border, margin, and padding.
256 | */
257 | /* line 259, ../sass/normalize.scss */
258 | fieldset {
259 | border: 1px solid #c0c0c0;
260 | margin: 0 2px;
261 | padding: 0.35em 0.625em 0.75em;
262 | }
263 |
264 | /**
265 | * 1. Correct `color` not being inherited in IE 8/9.
266 | * 2. Remove padding so people aren't caught out if they zero out fieldsets.
267 | */
268 | /* line 270, ../sass/normalize.scss */
269 | legend {
270 | border: 0;
271 | /* 1 */
272 | padding: 0;
273 | /* 2 */
274 | }
275 |
276 | /**
277 | * 1. Correct font family not being inherited in all browsers.
278 | * 2. Correct font size not being inherited in all browsers.
279 | * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
280 | */
281 | /* line 284, ../sass/normalize.scss */
282 | button,
283 | input,
284 | select,
285 | textarea {
286 | font-family: inherit;
287 | /* 1 */
288 | font-size: 100%;
289 | /* 2 */
290 | margin: 0;
291 | /* 3 */
292 | }
293 |
294 | /**
295 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in
296 | * the UA stylesheet.
297 | */
298 | /* line 296, ../sass/normalize.scss */
299 | button,
300 | input {
301 | line-height: normal;
302 | }
303 |
304 | /**
305 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
306 | * All other form control elements do not inherit `text-transform` values.
307 | * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
308 | * Correct `select` style inheritance in Firefox 4+ and Opera.
309 | */
310 | /* line 308, ../sass/normalize.scss */
311 | button,
312 | select {
313 | text-transform: none;
314 | }
315 |
316 | /**
317 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
318 | * and `video` controls.
319 | * 2. Correct inability to style clickable `input` types in iOS.
320 | * 3. Improve usability and consistency of cursor style between image-type
321 | * `input` and others.
322 | */
323 | /* line 323, ../sass/normalize.scss */
324 | button,
325 | html input[type="button"],
326 | input[type="reset"],
327 | input[type="submit"] {
328 | -webkit-appearance: button;
329 | /* 2 */
330 | cursor: pointer;
331 | /* 3 */
332 | }
333 |
334 | /**
335 | * Re-set default cursor for disabled elements.
336 | */
337 | /* line 333, ../sass/normalize.scss */
338 | button[disabled],
339 | html input[disabled] {
340 | cursor: default;
341 | }
342 |
343 | /**
344 | * 1. Address box sizing set to `content-box` in IE 8/9.
345 | * 2. Remove excess padding in IE 8/9.
346 | */
347 | /* line 343, ../sass/normalize.scss */
348 | input[type="checkbox"],
349 | input[type="radio"] {
350 | box-sizing: border-box;
351 | /* 1 */
352 | padding: 0;
353 | /* 2 */
354 | }
355 |
356 | /**
357 | * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
358 | * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
359 | * (include `-moz` to future-proof).
360 | */
361 | /* line 354, ../sass/normalize.scss */
362 | input[type="search"] {
363 | -webkit-appearance: textfield;
364 | /* 1 */
365 | -moz-box-sizing: content-box;
366 | -webkit-box-sizing: content-box;
367 | /* 2 */
368 | box-sizing: content-box;
369 | }
370 |
371 | /**
372 | * Remove inner padding and search cancel button in Safari 5 and Chrome
373 | * on OS X.
374 | */
375 | /* line 367, ../sass/normalize.scss */
376 | input[type="search"]::-webkit-search-cancel-button,
377 | input[type="search"]::-webkit-search-decoration {
378 | -webkit-appearance: none;
379 | }
380 |
381 | /**
382 | * Remove inner padding and border in Firefox 4+.
383 | */
384 | /* line 376, ../sass/normalize.scss */
385 | button::-moz-focus-inner,
386 | input::-moz-focus-inner {
387 | border: 0;
388 | padding: 0;
389 | }
390 |
391 | /**
392 | * 1. Remove default vertical scrollbar in IE 8/9.
393 | * 2. Improve readability and alignment in all browsers.
394 | */
395 | /* line 386, ../sass/normalize.scss */
396 | textarea {
397 | overflow: auto;
398 | /* 1 */
399 | vertical-align: top;
400 | /* 2 */
401 | }
402 |
403 | /* ==========================================================================
404 | Tables
405 | ========================================================================== */
406 | /**
407 | * Remove most spacing between table cells.
408 | */
409 | /* line 399, ../sass/normalize.scss */
410 | table {
411 | border-collapse: collapse;
412 | border-spacing: 0;
413 | }
414 |
--------------------------------------------------------------------------------
/sass/_variables.scss:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | $FontAwesomePath: "../font" !default;
5 | $FontAwesomeVersion: "3.2.1" !default;
6 | $borderColor: #eeeeee !default;
7 | $iconMuted: #eeeeee !default;
8 | $iconLight: white !default;
9 | $iconDark: #333333 !default;
10 | $icons-li-width: (30em/14);
11 |
12 |
13 | $glass: "\f000";
14 |
15 | $music: "\f001";
16 |
17 | $search: "\f002";
18 |
19 | $envelope-alt: "\f003";
20 |
21 | $heart: "\f004";
22 |
23 | $star: "\f005";
24 |
25 | $star-empty: "\f006";
26 |
27 | $user: "\f007";
28 |
29 | $film: "\f008";
30 |
31 | $th-large: "\f009";
32 |
33 | $th: "\f00a";
34 |
35 | $th-list: "\f00b";
36 |
37 | $ok: "\f00c";
38 |
39 | $remove: "\f00d";
40 |
41 | $zoom-in: "\f00e";
42 |
43 | $zoom-out: "\f010";
44 |
45 | $off: "\f011";
46 |
47 | $signal: "\f012";
48 |
49 | $cog: "\f013";
50 |
51 | $trash: "\f014";
52 |
53 | $home: "\f015";
54 |
55 | $file-alt: "\f016";
56 |
57 | $time: "\f017";
58 |
59 | $road: "\f018";
60 |
61 | $download-alt: "\f019";
62 |
63 | $download: "\f01a";
64 |
65 | $upload: "\f01b";
66 |
67 | $inbox: "\f01c";
68 |
69 | $play-circle: "\f01d";
70 |
71 | $repeat: "\f01e";
72 |
73 | $refresh: "\f021";
74 |
75 | $list-alt: "\f022";
76 |
77 | $lock: "\f023";
78 |
79 | $flag: "\f024";
80 |
81 | $headphones: "\f025";
82 |
83 | $volume-off: "\f026";
84 |
85 | $volume-down: "\f027";
86 |
87 | $volume-up: "\f028";
88 |
89 | $qrcode: "\f029";
90 |
91 | $barcode: "\f02a";
92 |
93 | $tag: "\f02b";
94 |
95 | $tags: "\f02c";
96 |
97 | $book: "\f02d";
98 |
99 | $bookmark: "\f02e";
100 |
101 | $print: "\f02f";
102 |
103 | $camera: "\f030";
104 |
105 | $font: "\f031";
106 |
107 | $bold: "\f032";
108 |
109 | $italic: "\f033";
110 |
111 | $text-height: "\f034";
112 |
113 | $text-width: "\f035";
114 |
115 | $align-left: "\f036";
116 |
117 | $align-center: "\f037";
118 |
119 | $align-right: "\f038";
120 |
121 | $align-justify: "\f039";
122 |
123 | $list: "\f03a";
124 |
125 | $indent-left: "\f03b";
126 |
127 | $indent-right: "\f03c";
128 |
129 | $facetime-video: "\f03d";
130 |
131 | $picture: "\f03e";
132 |
133 | $pencil: "\f040";
134 |
135 | $map-marker: "\f041";
136 |
137 | $adjust: "\f042";
138 |
139 | $tint: "\f043";
140 |
141 | $edit: "\f044";
142 |
143 | $share: "\f045";
144 |
145 | $check: "\f046";
146 |
147 | $move: "\f047";
148 |
149 | $step-backward: "\f048";
150 |
151 | $fast-backward: "\f049";
152 |
153 | $backward: "\f04a";
154 |
155 | $play: "\f04b";
156 |
157 | $pause: "\f04c";
158 |
159 | $stop: "\f04d";
160 |
161 | $forward: "\f04e";
162 |
163 | $fast-forward: "\f050";
164 |
165 | $step-forward: "\f051";
166 |
167 | $eject: "\f052";
168 |
169 | $chevron-left: "\f053";
170 |
171 | $chevron-right: "\f054";
172 |
173 | $plus-sign: "\f055";
174 |
175 | $minus-sign: "\f056";
176 |
177 | $remove-sign: "\f057";
178 |
179 | $ok-sign: "\f058";
180 |
181 | $question-sign: "\f059";
182 |
183 | $info-sign: "\f05a";
184 |
185 | $screenshot: "\f05b";
186 |
187 | $remove-circle: "\f05c";
188 |
189 | $ok-circle: "\f05d";
190 |
191 | $ban-circle: "\f05e";
192 |
193 | $arrow-left: "\f060";
194 |
195 | $arrow-right: "\f061";
196 |
197 | $arrow-up: "\f062";
198 |
199 | $arrow-down: "\f063";
200 |
201 | $share-alt: "\f064";
202 |
203 | $resize-full: "\f065";
204 |
205 | $resize-small: "\f066";
206 |
207 | $plus: "\f067";
208 |
209 | $minus: "\f068";
210 |
211 | $asterisk: "\f069";
212 |
213 | $exclamation-sign: "\f06a";
214 |
215 | $gift: "\f06b";
216 |
217 | $leaf: "\f06c";
218 |
219 | $fire: "\f06d";
220 |
221 | $eye-open: "\f06e";
222 |
223 | $eye-close: "\f070";
224 |
225 | $warning-sign: "\f071";
226 |
227 | $plane: "\f072";
228 |
229 | $calendar: "\f073";
230 |
231 | $random: "\f074";
232 |
233 | $comment: "\f075";
234 |
235 | $magnet: "\f076";
236 |
237 | $chevron-up: "\f077";
238 |
239 | $chevron-down: "\f078";
240 |
241 | $retweet: "\f079";
242 |
243 | $shopping-cart: "\f07a";
244 |
245 | $folder-close: "\f07b";
246 |
247 | $folder-open: "\f07c";
248 |
249 | $resize-vertical: "\f07d";
250 |
251 | $resize-horizontal: "\f07e";
252 |
253 | $bar-chart: "\f080";
254 |
255 | $twitter-sign: "\f081";
256 |
257 | $facebook-sign: "\f082";
258 |
259 | $camera-retro: "\f083";
260 |
261 | $key: "\f084";
262 |
263 | $cogs: "\f085";
264 |
265 | $comments: "\f086";
266 |
267 | $thumbs-up-alt: "\f087";
268 |
269 | $thumbs-down-alt: "\f088";
270 |
271 | $star-half: "\f089";
272 |
273 | $heart-empty: "\f08a";
274 |
275 | $signout: "\f08b";
276 |
277 | $linkedin-sign: "\f08c";
278 |
279 | $pushpin: "\f08d";
280 |
281 | $external-link: "\f08e";
282 |
283 | $signin: "\f090";
284 |
285 | $trophy: "\f091";
286 |
287 | $github-sign: "\f092";
288 |
289 | $upload-alt: "\f093";
290 |
291 | $lemon: "\f094";
292 |
293 | $phone: "\f095";
294 |
295 | $check-empty: "\f096";
296 |
297 | $bookmark-empty: "\f097";
298 |
299 | $phone-sign: "\f098";
300 |
301 | $twitter: "\f099";
302 |
303 | $facebook: "\f09a";
304 |
305 | $github: "\f09b";
306 |
307 | $unlock: "\f09c";
308 |
309 | $credit-card: "\f09d";
310 |
311 | $rss: "\f09e";
312 |
313 | $hdd: "\f0a0";
314 |
315 | $bullhorn: "\f0a1";
316 |
317 | $bell: "\f0a2";
318 |
319 | $certificate: "\f0a3";
320 |
321 | $hand-right: "\f0a4";
322 |
323 | $hand-left: "\f0a5";
324 |
325 | $hand-up: "\f0a6";
326 |
327 | $hand-down: "\f0a7";
328 |
329 | $circle-arrow-left: "\f0a8";
330 |
331 | $circle-arrow-right: "\f0a9";
332 |
333 | $circle-arrow-up: "\f0aa";
334 |
335 | $circle-arrow-down: "\f0ab";
336 |
337 | $globe: "\f0ac";
338 |
339 | $wrench: "\f0ad";
340 |
341 | $tasks: "\f0ae";
342 |
343 | $filter: "\f0b0";
344 |
345 | $briefcase: "\f0b1";
346 |
347 | $fullscreen: "\f0b2";
348 |
349 | $group: "\f0c0";
350 |
351 | $link: "\f0c1";
352 |
353 | $cloud: "\f0c2";
354 |
355 | $beaker: "\f0c3";
356 |
357 | $cut: "\f0c4";
358 |
359 | $copy: "\f0c5";
360 |
361 | $paper-clip: "\f0c6";
362 |
363 | $save: "\f0c7";
364 |
365 | $sign-blank: "\f0c8";
366 |
367 | $reorder: "\f0c9";
368 |
369 | $list-ul: "\f0ca";
370 |
371 | $list-ol: "\f0cb";
372 |
373 | $strikethrough: "\f0cc";
374 |
375 | $underline: "\f0cd";
376 |
377 | $table: "\f0ce";
378 |
379 | $magic: "\f0d0";
380 |
381 | $truck: "\f0d1";
382 |
383 | $pinterest: "\f0d2";
384 |
385 | $pinterest-sign: "\f0d3";
386 |
387 | $google-plus-sign: "\f0d4";
388 |
389 | $google-plus: "\f0d5";
390 |
391 | $money: "\f0d6";
392 |
393 | $caret-down: "\f0d7";
394 |
395 | $caret-up: "\f0d8";
396 |
397 | $caret-left: "\f0d9";
398 |
399 | $caret-right: "\f0da";
400 |
401 | $columns: "\f0db";
402 |
403 | $sort: "\f0dc";
404 |
405 | $sort-down: "\f0dd";
406 |
407 | $sort-up: "\f0de";
408 |
409 | $envelope: "\f0e0";
410 |
411 | $linkedin: "\f0e1";
412 |
413 | $undo: "\f0e2";
414 |
415 | $legal: "\f0e3";
416 |
417 | $dashboard: "\f0e4";
418 |
419 | $comment-alt: "\f0e5";
420 |
421 | $comments-alt: "\f0e6";
422 |
423 | $bolt: "\f0e7";
424 |
425 | $sitemap: "\f0e8";
426 |
427 | $umbrella: "\f0e9";
428 |
429 | $paste: "\f0ea";
430 |
431 | $lightbulb: "\f0eb";
432 |
433 | $exchange: "\f0ec";
434 |
435 | $cloud-download: "\f0ed";
436 |
437 | $cloud-upload: "\f0ee";
438 |
439 | $user-md: "\f0f0";
440 |
441 | $stethoscope: "\f0f1";
442 |
443 | $suitcase: "\f0f2";
444 |
445 | $bell-alt: "\f0f3";
446 |
447 | $coffee: "\f0f4";
448 |
449 | $food: "\f0f5";
450 |
451 | $file-text-alt: "\f0f6";
452 |
453 | $building: "\f0f7";
454 |
455 | $hospital: "\f0f8";
456 |
457 | $ambulance: "\f0f9";
458 |
459 | $medkit: "\f0fa";
460 |
461 | $fighter-jet: "\f0fb";
462 |
463 | $beer: "\f0fc";
464 |
465 | $h-sign: "\f0fd";
466 |
467 | $plus-sign-alt: "\f0fe";
468 |
469 | $double-angle-left: "\f100";
470 |
471 | $double-angle-right: "\f101";
472 |
473 | $double-angle-up: "\f102";
474 |
475 | $double-angle-down: "\f103";
476 |
477 | $angle-left: "\f104";
478 |
479 | $angle-right: "\f105";
480 |
481 | $angle-up: "\f106";
482 |
483 | $angle-down: "\f107";
484 |
485 | $desktop: "\f108";
486 |
487 | $laptop: "\f109";
488 |
489 | $tablet: "\f10a";
490 |
491 | $mobile-phone: "\f10b";
492 |
493 | $circle-blank: "\f10c";
494 |
495 | $quote-left: "\f10d";
496 |
497 | $quote-right: "\f10e";
498 |
499 | $spinner: "\f110";
500 |
501 | $circle: "\f111";
502 |
503 | $reply: "\f112";
504 |
505 | $github-alt: "\f113";
506 |
507 | $folder-close-alt: "\f114";
508 |
509 | $folder-open-alt: "\f115";
510 |
511 | $expand-alt: "\f116";
512 |
513 | $collapse-alt: "\f117";
514 |
515 | $smile: "\f118";
516 |
517 | $frown: "\f119";
518 |
519 | $meh: "\f11a";
520 |
521 | $gamepad: "\f11b";
522 |
523 | $keyboard: "\f11c";
524 |
525 | $flag-alt: "\f11d";
526 |
527 | $flag-checkered: "\f11e";
528 |
529 | $terminal: "\f120";
530 |
531 | $code: "\f121";
532 |
533 | $reply-all: "\f122";
534 |
535 | $mail-reply-all: "\f122";
536 |
537 | $star-half-empty: "\f123";
538 |
539 | $location-arrow: "\f124";
540 |
541 | $crop: "\f125";
542 |
543 | $code-fork: "\f126";
544 |
545 | $unlink: "\f127";
546 |
547 | $question: "\f128";
548 |
549 | $info: "\f129";
550 |
551 | $exclamation: "\f12a";
552 |
553 | $superscript: "\f12b";
554 |
555 | $subscript: "\f12c";
556 |
557 | $eraser: "\f12d";
558 |
559 | $puzzle-piece: "\f12e";
560 |
561 | $microphone: "\f130";
562 |
563 | $microphone-off: "\f131";
564 |
565 | $shield: "\f132";
566 |
567 | $calendar-empty: "\f133";
568 |
569 | $fire-extinguisher: "\f134";
570 |
571 | $rocket: "\f135";
572 |
573 | $maxcdn: "\f136";
574 |
575 | $chevron-sign-left: "\f137";
576 |
577 | $chevron-sign-right: "\f138";
578 |
579 | $chevron-sign-up: "\f139";
580 |
581 | $chevron-sign-down: "\f13a";
582 |
583 | $html5: "\f13b";
584 |
585 | $css3: "\f13c";
586 |
587 | $anchor: "\f13d";
588 |
589 | $unlock-alt: "\f13e";
590 |
591 | $bullseye: "\f140";
592 |
593 | $ellipsis-horizontal: "\f141";
594 |
595 | $ellipsis-vertical: "\f142";
596 |
597 | $rss-sign: "\f143";
598 |
599 | $play-sign: "\f144";
600 |
601 | $ticket: "\f145";
602 |
603 | $minus-sign-alt: "\f146";
604 |
605 | $check-minus: "\f147";
606 |
607 | $level-up: "\f148";
608 |
609 | $level-down: "\f149";
610 |
611 | $check-sign: "\f14a";
612 |
613 | $edit-sign: "\f14b";
614 |
615 | $external-link-sign: "\f14c";
616 |
617 | $share-sign: "\f14d";
618 |
619 | $compass: "\f14e";
620 |
621 | $collapse: "\f150";
622 |
623 | $collapse-top: "\f151";
624 |
625 | $expand: "\f152";
626 |
627 | $eur: "\f153";
628 |
629 | $gbp: "\f154";
630 |
631 | $usd: "\f155";
632 |
633 | $inr: "\f156";
634 |
635 | $jpy: "\f157";
636 |
637 | $cny: "\f158";
638 |
639 | $krw: "\f159";
640 |
641 | $btc: "\f15a";
642 |
643 | $file: "\f15b";
644 |
645 | $file-text: "\f15c";
646 |
647 | $sort-by-alphabet: "\f15d";
648 |
649 | $sort-by-alphabet-alt: "\f15e";
650 |
651 | $sort-by-attributes: "\f160";
652 |
653 | $sort-by-attributes-alt: "\f161";
654 |
655 | $sort-by-order: "\f162";
656 |
657 | $sort-by-order-alt: "\f163";
658 |
659 | $thumbs-up: "\f164";
660 |
661 | $thumbs-down: "\f165";
662 |
663 | $youtube-sign: "\f166";
664 |
665 | $youtube: "\f167";
666 |
667 | $xing: "\f168";
668 |
669 | $xing-sign: "\f169";
670 |
671 | $youtube-play: "\f16a";
672 |
673 | $dropbox: "\f16b";
674 |
675 | $stackexchange: "\f16c";
676 |
677 | $instagram: "\f16d";
678 |
679 | $flickr: "\f16e";
680 |
681 | $adn: "\f170";
682 |
683 | $bitbucket: "\f171";
684 |
685 | $bitbucket-sign: "\f172";
686 |
687 | $tumblr: "\f173";
688 |
689 | $tumblr-sign: "\f174";
690 |
691 | $long-arrow-down: "\f175";
692 |
693 | $long-arrow-up: "\f176";
694 |
695 | $long-arrow-left: "\f177";
696 |
697 | $long-arrow-right: "\f178";
698 |
699 | $apple: "\f179";
700 |
701 | $windows: "\f17a";
702 |
703 | $android: "\f17b";
704 |
705 | $linux: "\f17c";
706 |
707 | $dribbble: "\f17d";
708 |
709 | $skype: "\f17e";
710 |
711 | $foursquare: "\f180";
712 |
713 | $trello: "\f181";
714 |
715 | $female: "\f182";
716 |
717 | $male: "\f183";
718 |
719 | $gittip: "\f184";
720 |
721 | $sun: "\f185";
722 |
723 | $moon: "\f186";
724 |
725 | $archive: "\f187";
726 |
727 | $bug: "\f188";
728 |
729 | $vk: "\f189";
730 |
731 | $weibo: "\f18a";
732 |
733 | $renren: "\f18b";
734 |
735 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Foundation Responsive Library
3 | * http://foundation.zurb.com
4 | * Copyright 2013, ZURB
5 | * Free to use under the MIT license.
6 | * http://www.opensource.org/licenses/mit-license.php
7 | */
8 |
9 | /*jslint unparam: true, browser: true, indent: 2 */
10 |
11 | // Accommodate running jQuery or Zepto in noConflict() mode by
12 | // using an anonymous function to redefine the $ shorthand name.
13 | // See http://docs.jquery.com/Using_jQuery_with_Other_Libraries
14 | // and http://zeptojs.com/
15 | var libFuncName = null;
16 |
17 | if (typeof jQuery === "undefined" &&
18 | typeof Zepto === "undefined" &&
19 | typeof $ === "function") {
20 | libFuncName = $;
21 | } else if (typeof jQuery === "function") {
22 | libFuncName = jQuery;
23 | } else if (typeof Zepto === "function") {
24 | libFuncName = Zepto;
25 | } else {
26 | throw new TypeError();
27 | }
28 |
29 | (function ($, window, document, undefined) {
30 | 'use strict';
31 |
32 | // add dusty browser stuff
33 | if (!Array.prototype.filter) {
34 | Array.prototype.filter = function(fun /*, thisp */) {
35 | "use strict";
36 |
37 | if (this == null) {
38 | throw new TypeError();
39 | }
40 |
41 | var t = Object(this),
42 | len = t.length >>> 0;
43 | if (typeof fun != "function") {
44 | return;
45 | }
46 |
47 | var res = [],
48 | thisp = arguments[1];
49 | for (var i = 0; i < len; i++) {
50 | if (i in t) {
51 | var val = t[i]; // in case fun mutates this
52 | if (fun && fun.call(thisp, val, i, t)) {
53 | res.push(val);
54 | }
55 | }
56 | }
57 |
58 | return res;
59 | }
60 | }
61 |
62 | if (!Function.prototype.bind) {
63 | Function.prototype.bind = function (oThis) {
64 | if (typeof this !== "function") {
65 | // closest thing possible to the ECMAScript 5 internal IsCallable function
66 | throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
67 | }
68 |
69 | var aArgs = Array.prototype.slice.call(arguments, 1),
70 | fToBind = this,
71 | fNOP = function () {},
72 | fBound = function () {
73 | return fToBind.apply(this instanceof fNOP && oThis
74 | ? this
75 | : oThis,
76 | aArgs.concat(Array.prototype.slice.call(arguments)));
77 | };
78 |
79 | fNOP.prototype = this.prototype;
80 | fBound.prototype = new fNOP();
81 |
82 | return fBound;
83 | };
84 | }
85 |
86 | if (!Array.prototype.indexOf) {
87 | Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
88 | "use strict";
89 | if (this == null) {
90 | throw new TypeError();
91 | }
92 | var t = Object(this);
93 | var len = t.length >>> 0;
94 | if (len === 0) {
95 | return -1;
96 | }
97 | var n = 0;
98 | if (arguments.length > 1) {
99 | n = Number(arguments[1]);
100 | if (n != n) { // shortcut for verifying if it's NaN
101 | n = 0;
102 | } else if (n != 0 && n != Infinity && n != -Infinity) {
103 | n = (n > 0 || -1) * Math.floor(Math.abs(n));
104 | }
105 | }
106 | if (n >= len) {
107 | return -1;
108 | }
109 | var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
110 | for (; k < len; k++) {
111 | if (k in t && t[k] === searchElement) {
112 | return k;
113 | }
114 | }
115 | return -1;
116 | }
117 | }
118 |
119 | // fake stop() for zepto.
120 | $.fn.stop = $.fn.stop || function() {
121 | return this;
122 | };
123 |
124 | window.Foundation = {
125 | name : 'Foundation',
126 |
127 | version : '4.1.5',
128 |
129 | // global Foundation cache object
130 | cache : {},
131 |
132 | init : function (scope, libraries, method, options, response, /* internal */ nc) {
133 | var library_arr,
134 | args = [scope, method, options, response],
135 | responses = [],
136 | nc = nc || false;
137 |
138 | // disable library error catching,
139 | // used for development only
140 | if (nc) this.nc = nc;
141 |
142 | // check RTL
143 | this.rtl = /rtl/i.test($('html').attr('dir'));
144 |
145 | // set foundation global scope
146 | this.scope = scope || this.scope;
147 |
148 | if (libraries && typeof libraries === 'string') {
149 | if (/off/i.test(libraries)) return this.off();
150 |
151 | library_arr = libraries.split(' ');
152 |
153 | if (library_arr.length > 0) {
154 | for (var i = library_arr.length - 1; i >= 0; i--) {
155 | responses.push(this.init_lib(library_arr[i], args));
156 | }
157 | }
158 | } else {
159 | for (var lib in this.libs) {
160 | responses.push(this.init_lib(lib, args));
161 | }
162 | }
163 |
164 | // if first argument is callback, add to args
165 | if (typeof libraries === 'function') {
166 | args.unshift(libraries);
167 | }
168 |
169 | return this.response_obj(responses, args);
170 | },
171 |
172 | response_obj : function (response_arr, args) {
173 | for (var i = 0, len = args.length; i < len; i++) {
174 | if (typeof args[i] === 'function') {
175 | return args[i]({
176 | errors: response_arr.filter(function (s) {
177 | if (typeof s === 'string') return s;
178 | })
179 | });
180 | }
181 | }
182 |
183 | return response_arr;
184 | },
185 |
186 | init_lib : function (lib, args) {
187 | return this.trap(function () {
188 | if (this.libs.hasOwnProperty(lib)) {
189 | this.patch(this.libs[lib]);
190 | return this.libs[lib].init.apply(this.libs[lib], args);
191 | }
192 | }.bind(this), lib);
193 | },
194 |
195 | trap : function (fun, lib) {
196 | if (!this.nc) {
197 | try {
198 | return fun();
199 | } catch (e) {
200 | return this.error({name: lib, message: 'could not be initialized', more: e.name + ' ' + e.message});
201 | }
202 | }
203 |
204 | return fun();
205 | },
206 |
207 | patch : function (lib) {
208 | this.fix_outer(lib);
209 | lib.scope = this.scope;
210 | lib.rtl = this.rtl;
211 | },
212 |
213 | inherit : function (scope, methods) {
214 | var methods_arr = methods.split(' ');
215 |
216 | for (var i = methods_arr.length - 1; i >= 0; i--) {
217 | if (this.lib_methods.hasOwnProperty(methods_arr[i])) {
218 | this.libs[scope.name][methods_arr[i]] = this.lib_methods[methods_arr[i]];
219 | }
220 | }
221 | },
222 |
223 | random_str : function (length) {
224 | var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
225 |
226 | if (!length) {
227 | length = Math.floor(Math.random() * chars.length);
228 | }
229 |
230 | var str = '';
231 | for (var i = 0; i < length; i++) {
232 | str += chars[Math.floor(Math.random() * chars.length)];
233 | }
234 | return str;
235 | },
236 |
237 | libs : {},
238 |
239 | // methods that can be inherited in libraries
240 | lib_methods : {
241 | set_data : function (node, data) {
242 | // this.name references the name of the library calling this method
243 | var id = [this.name,+new Date(),Foundation.random_str(5)].join('-');
244 |
245 | Foundation.cache[id] = data;
246 | node.attr('data-' + this.name + '-id', id);
247 | return data;
248 | },
249 |
250 | get_data : function (node) {
251 | return Foundation.cache[node.attr('data-' + this.name + '-id')];
252 | },
253 |
254 | remove_data : function (node) {
255 | if (node) {
256 | delete Foundation.cache[node.attr('data-' + this.name + '-id')];
257 | node.attr('data-' + this.name + '-id', '');
258 | } else {
259 | $('[data-' + this.name + '-id]').each(function () {
260 | delete Foundation.cache[$(this).attr('data-' + this.name + '-id')];
261 | $(this).attr('data-' + this.name + '-id', '');
262 | });
263 | }
264 | },
265 |
266 | throttle : function(fun, delay) {
267 | var timer = null;
268 | return function () {
269 | var context = this, args = arguments;
270 | clearTimeout(timer);
271 | timer = setTimeout(function () {
272 | fun.apply(context, args);
273 | }, delay);
274 | };
275 | },
276 |
277 | // parses data-options attribute on nodes and turns
278 | // them into an object
279 | data_options : function (el) {
280 | var opts = {}, ii, p,
281 | opts_arr = (el.attr('data-options') || ':').split(';'),
282 | opts_len = opts_arr.length;
283 |
284 | function isNumber (o) {
285 | return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
286 | }
287 |
288 | function trim(str) {
289 | if (typeof str === 'string') return $.trim(str);
290 | return str;
291 | }
292 |
293 | // parse options
294 | for (ii = opts_len - 1; ii >= 0; ii--) {
295 | p = opts_arr[ii].split(':');
296 |
297 | if (/true/i.test(p[1])) p[1] = true;
298 | if (/false/i.test(p[1])) p[1] = false;
299 | if (isNumber(p[1])) p[1] = parseInt(p[1], 10);
300 |
301 | if (p.length === 2 && p[0].length > 0) {
302 | opts[trim(p[0])] = trim(p[1]);
303 | }
304 | }
305 |
306 | return opts;
307 | },
308 |
309 | delay : function (fun, delay) {
310 | return setTimeout(fun, delay);
311 | },
312 |
313 | // animated scrolling
314 | scrollTo : function (el, to, duration) {
315 | if (duration < 0) return;
316 | var difference = to - $(window).scrollTop();
317 | var perTick = difference / duration * 10;
318 |
319 | this.scrollToTimerCache = setTimeout(function() {
320 | if (!isNaN(parseInt(perTick, 10))) {
321 | window.scrollTo(0, $(window).scrollTop() + perTick);
322 | this.scrollTo(el, to, duration - 10);
323 | }
324 | }.bind(this), 10);
325 | },
326 |
327 | // not supported in core Zepto
328 | scrollLeft : function (el) {
329 | if (!el.length) return;
330 | return ('scrollLeft' in el[0]) ? el[0].scrollLeft : el[0].pageXOffset;
331 | },
332 |
333 | // test for empty object or array
334 | empty : function (obj) {
335 | if (obj.length && obj.length > 0) return false;
336 | if (obj.length && obj.length === 0) return true;
337 |
338 | for (var key in obj) {
339 | if (hasOwnProperty.call(obj, key)) return false;
340 | }
341 |
342 | return true;
343 | }
344 | },
345 |
346 | fix_outer : function (lib) {
347 | lib.outerHeight = function (el, bool) {
348 | if (typeof Zepto === 'function') {
349 | return el.height();
350 | }
351 |
352 | if (typeof bool !== 'undefined') {
353 | return el.outerHeight(bool);
354 | }
355 |
356 | return el.outerHeight();
357 | };
358 |
359 | lib.outerWidth = function (el) {
360 | if (typeof Zepto === 'function') {
361 | return el.width();
362 | }
363 |
364 | if (typeof bool !== 'undefined') {
365 | return el.outerWidth(bool);
366 | }
367 |
368 | return el.outerWidth();
369 | };
370 | },
371 |
372 | error : function (error) {
373 | return error.name + ' ' + error.message + '; ' + error.more;
374 | },
375 |
376 | // remove all foundation events.
377 | off: function () {
378 | $(this.scope).off('.fndtn');
379 | $(window).off('.fndtn');
380 | return true;
381 | },
382 |
383 | zj : function () {
384 | try {
385 | return Zepto;
386 | } catch (e) {
387 | return jQuery;
388 | }
389 | }()
390 | };
391 |
392 | $.fn.foundation = function () {
393 | var args = Array.prototype.slice.call(arguments, 0);
394 |
395 | return this.each(function () {
396 | Foundation.init.apply(Foundation, [this].concat(args));
397 | return this;
398 | });
399 | };
400 |
401 | }(libFuncName, this, this.document));
402 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.section.js:
--------------------------------------------------------------------------------
1 | /*jslint unparam: true, browser: true, indent: 2 */
2 |
3 | ;(function ($, window, document, undefined) {
4 | 'use strict';
5 |
6 | Foundation.libs.section = {
7 | name: 'section',
8 |
9 | version : '4.1.3',
10 |
11 | settings : {
12 | deep_linking: false,
13 | one_up: true,
14 | section_selector : '[data-section]',
15 | region_selector : 'section, .section, [data-section-region]',
16 | title_selector : '.title, [data-section-title]',
17 | active_region_selector : 'section.active, .section.active, .active[data-section-region]',
18 | content_selector : '.content, [data-section-content]',
19 | nav_selector : '[data-section="vertical-nav"], [data-section="horizontal-nav"]',
20 | callback: function (){}
21 | },
22 |
23 | init : function (scope, method, options) {
24 | var self = this;
25 | Foundation.inherit(this, 'throttle data_options position_right offset_right');
26 |
27 | if (typeof method === 'object') {
28 | $.extend(true, self.settings, method);
29 | }
30 |
31 | if (typeof method != 'string') {
32 | this.set_active_from_hash();
33 | this.events();
34 |
35 | return true;
36 | } else {
37 | return this[method].call(this, options);
38 | }
39 | },
40 |
41 | events : function () {
42 | var self = this;
43 |
44 | $(this.scope)
45 | .on('click.fndtn.section', '[data-section] .title, [data-section] [data-section-title]', function (e) {
46 | var $this = $(this),
47 | section = $this.closest(self.settings.section_selector);
48 |
49 | self.toggle_active.call(this, e, self);
50 | self.reflow();
51 | });
52 |
53 | $(window)
54 | .on('resize.fndtn.section', self.throttle(function () {
55 | self.resize.call(this);
56 | }, 30))
57 | .on('hashchange', function () {
58 | if (!self.settings.toggled){
59 | self.set_active_from_hash();
60 | $(this).trigger('resize');
61 | }
62 | }).trigger('resize');
63 |
64 | $(document)
65 | .on('click.fndtn.section', function (e) {
66 | if ($(e.target).closest(self.settings.title_selector).length < 1) {
67 | $(self.settings.nav_selector)
68 | .children(self.settings.region_selector)
69 | .removeClass('active')
70 | .attr('style', '');
71 | }
72 | });
73 |
74 | },
75 |
76 | toggle_active : function (e, self) {
77 | var $this = $(this),
78 | self = Foundation.libs.section,
79 | region = $this.closest(self.settings.region_selector),
80 | content = $this.siblings(self.settings.content_selector),
81 | parent = region.parent(),
82 | settings = $.extend({}, self.settings, self.data_options(parent)),
83 | prev_active_section = parent
84 | .children(self.settings.active_region_selector);
85 |
86 | self.settings.toggled = true;
87 |
88 | if (!settings.deep_linking && content.length > 0) {
89 | e.preventDefault();
90 | }
91 |
92 | if (region.hasClass('active')) {
93 | // this is causing the style flash.
94 | if (self.small(parent)
95 | || self.is_vertical_nav(parent)
96 | || self.is_horizontal_nav(parent)
97 | || self.is_accordion(parent)) {
98 | if (prev_active_section[0] !== region[0]
99 | || (prev_active_section[0] === region[0] && !settings.one_up)) {
100 | region
101 | .removeClass('active')
102 | .attr('style', '');
103 | }
104 | }
105 | } else {
106 | var prev_active_section = parent
107 | .children(self.settings.active_region_selector),
108 | title_height = self.outerHeight(region
109 | .children(self.settings.title_selector));
110 |
111 | if (self.small(parent) || settings.one_up) {
112 |
113 | if (self.small(parent)) {
114 | prev_active_section.attr('style', '');
115 | } else {
116 | prev_active_section.attr('style',
117 | 'visibility: hidden; padding-top: '+title_height+'px;');
118 | }
119 | }
120 |
121 | if (self.small(parent)) {
122 | region.attr('style', '');
123 | } else {
124 | region.css('padding-top', title_height);
125 | }
126 |
127 | region.addClass('active');
128 |
129 | if (prev_active_section.length > 0) {
130 | prev_active_section
131 | .removeClass('active')
132 | .attr('style', '');
133 | }
134 |
135 | // Toggle the content display attribute. This is done to
136 | // ensure accurate outerWidth measurements that account for
137 | // the scrollbar.
138 | if (self.is_vertical_tabs(parent)) {
139 | content.css('display', 'block');
140 |
141 | if (prev_active_section !== null) {
142 | prev_active_section
143 | .children(self.settings.content_selector)
144 | .css('display', 'none');
145 | }
146 | }
147 | }
148 |
149 | setTimeout(function () {
150 | self.settings.toggled = false;
151 | }, 300);
152 |
153 | settings.callback();
154 | },
155 |
156 | resize : function () {
157 | var self = Foundation.libs.section,
158 | sections = $(self.settings.section_selector);
159 |
160 | sections.each(function() {
161 | var $this = $(this),
162 | active_section = $this
163 | .children(self.settings.active_region_selector),
164 | settings = $.extend({}, self.settings, self.data_options($this));
165 |
166 | if (active_section.length > 1) {
167 | active_section
168 | .not(':first')
169 | .removeClass('active')
170 | .attr('style', '');
171 | } else if (active_section.length < 1
172 | && !self.is_vertical_nav($this)
173 | && !self.is_horizontal_nav($this)
174 | && !self.is_accordion($this)) {
175 |
176 | var first = $this.children(self.settings.region_selector).first();
177 |
178 | if (settings.one_up || !self.small($this)) {
179 | first.addClass('active');
180 | }
181 |
182 | if (self.small($this)) {
183 | first.attr('style', '');
184 | } else {
185 | first.css('padding-top', self.outerHeight(first
186 | .children(self.settings.title_selector)));
187 | }
188 | }
189 |
190 | if (self.small($this)) {
191 | active_section.attr('style', '');
192 | } else {
193 | active_section.css('padding-top', self.outerHeight(active_section
194 | .children(self.settings.title_selector)));
195 | }
196 |
197 | self.position_titles($this);
198 |
199 | if ( (self.is_horizontal_nav($this) && !self.small($this))
200 | || self.is_vertical_tabs($this)) {
201 | self.position_content($this);
202 | } else {
203 | self.position_content($this, false);
204 | }
205 | });
206 | },
207 |
208 | is_vertical_nav : function (el) {
209 | return /vertical-nav/i.test(el.data('section'));
210 | },
211 |
212 | is_horizontal_nav : function (el) {
213 | return /horizontal-nav/i.test(el.data('section'));
214 | },
215 |
216 | is_accordion : function (el) {
217 | return /accordion/i.test(el.data('section'));
218 | },
219 |
220 | is_horizontal_tabs : function (el) {
221 | return /^tabs$/i.test(el.data('section'));
222 | },
223 |
224 | is_vertical_tabs : function (el) {
225 | return /vertical-tabs/i.test(el.data('section'));
226 | },
227 |
228 | set_active_from_hash : function () {
229 | var hash = window.location.hash.substring(1),
230 | sections = $('[data-section]'),
231 | self = this;
232 |
233 | sections.each(function () {
234 | var section = $(this),
235 | settings = $.extend({}, self.settings, self.data_options(section));
236 |
237 | if (hash.length > 0 && settings.deep_linking) {
238 | var regions = section
239 | .children(self.settings.region_selector)
240 | .attr('style', '')
241 | .removeClass('active');
242 | regions
243 | .map(function () {
244 | return $(this).children('.content[data-slug="' + hash + '"], [data-section-content][data-slug="' + hash + '"]');
245 | })
246 | .parent()
247 | .addClass('active');
248 | }
249 | });
250 | },
251 |
252 | position_titles : function (section, off) {
253 | var self = this,
254 | titles = section
255 | .children(this.settings.region_selector)
256 | .map(function () {
257 | return $(this).children(self.settings.title_selector);
258 | }),
259 | previous_width = 0,
260 | previous_height = 0,
261 | self = this;
262 |
263 | if (typeof off === 'boolean') {
264 | titles.attr('style', '');
265 |
266 | } else {
267 | titles.each(function () {
268 | if (self.is_vertical_tabs(section)) {
269 | $(this).css('top', previous_height);
270 | previous_height += self.outerHeight($(this));
271 | } else {
272 | if (!self.rtl) {
273 | $(this).css('left', previous_width);
274 | } else {
275 | $(this).css('right', previous_width);
276 | }
277 | previous_width += self.outerWidth($(this));
278 | }
279 | });
280 | }
281 | },
282 |
283 | position_content : function (section, off) {
284 | var self = this,
285 | regions = section.children(self.settings.region_selector),
286 | titles = regions
287 | .map(function () {
288 | return $(this).children(self.settings.title_selector);
289 | }),
290 | content = regions
291 | .map(function () {
292 | return $(this).children(self.settings.content_selector);
293 | });
294 |
295 | if (typeof off === 'boolean') {
296 | content.attr('style', '');
297 | section.attr('style', '');
298 | } else {
299 | if (self.is_vertical_tabs(section)
300 | && !self.small(section)) {
301 | var content_min_height = 0,
302 | content_min_width = Number.MAX_VALUE,
303 | title_width = null;
304 |
305 | regions.each(function () {
306 | var region = $(this),
307 | title = region.children(self.settings.title_selector),
308 | content = region.children(self.settings.content_selector),
309 | content_width = 0;
310 |
311 | title_width = self.outerWidth(title);
312 | content_width = self.outerWidth(section) - title_width;
313 | if (content_width < content_min_width) {
314 | content_min_width = content_width;
315 | }
316 |
317 | // Increment the minimum height of the content region
318 | // to align with the height of the titles.
319 | content_min_height += self.outerHeight(title);
320 |
321 | // Set all of the inactive tabs to 'display: none'
322 | // The CSS sets all of the tabs as 'display: block'
323 | // in order to account for scrollbars when measuring the width
324 | // of the content regions.
325 | if (!$(this).hasClass('active')) {
326 | content.css('display', 'none');
327 | }
328 | });
329 |
330 | regions.each(function () {
331 | var content = $(this).children(self.settings.content_selector);
332 | content.css('minHeight', content_min_height);
333 |
334 | // Remove 2 pixels to account for the right-shift in the CSS
335 | content.css('maxWidth', content_min_width - 2);
336 | });
337 |
338 | // Adjust the outer section container width to match
339 | // the width of the title and content
340 | section.css('maxWidth', title_width + content_min_width);
341 | } else {
342 | regions.each(function () {
343 | var region = $(this),
344 | title = region.children(self.settings.title_selector),
345 | content = region.children(self.settings.content_selector);
346 | if (!self.rtl) {
347 | content
348 | .css({left: title.position().left - 1,
349 | top: self.outerHeight(title) - 2});
350 | } else {
351 | content
352 | .css({right: self.position_right(title) + 1,
353 | top: self.outerHeight(title) - 2});
354 | }
355 | });
356 |
357 | // temporary work around for Zepto outerheight calculation issues.
358 | if (typeof Zepto === 'function') {
359 | section.height(this.outerHeight(titles.first()));
360 | } else {
361 | section.height(this.outerHeight(titles.first()) - 2);
362 | }
363 | }
364 | }
365 | },
366 |
367 | position_right : function (el) {
368 | var self = this,
369 | section = el.closest(this.settings.section_selector),
370 | regions = section.children(this.settings.region_selector),
371 | section_width = el.closest(this.settings.section_selector).width(),
372 | offset = regions
373 | .map(function () {
374 | return $(this).children(self.settings.title_selector);
375 | }).length;
376 | return (section_width - el.position().left - el.width() * (el.index() + 1) - offset);
377 | },
378 |
379 | reflow : function (scope) {
380 | var scope = scope || document;
381 | $(this.settings.section_selector, scope).trigger('resize');
382 | },
383 |
384 | small : function (el) {
385 | var settings = $.extend({}, this.settings, this.data_options(el));
386 | if (this.is_horizontal_tabs(el)) {
387 | return false;
388 | }
389 | if (el && this.is_accordion(el)) {
390 | return true;
391 | }
392 | if ($('html').hasClass('lt-ie9')) {
393 | return true;
394 | }
395 | if ($('html').hasClass('ie8compat')) {
396 | return true;
397 | }
398 | return $(this.scope).width() < 768;
399 | },
400 |
401 | off : function () {
402 | $(this.scope).off('.fndtn.section');
403 | $(window).off('.fndtn.section');
404 | $(document).off('.fndtn.section')
405 | }
406 | };
407 | }(Foundation.zj, this, this.document));
408 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.orbit.js:
--------------------------------------------------------------------------------
1 | ;(function ($, window, document, undefined) {
2 | 'use strict';
3 |
4 | Foundation.libs = Foundation.libs || {};
5 |
6 | Foundation.libs.orbit = {
7 | name: 'orbit',
8 |
9 | version: '4.1.0',
10 |
11 | settings: {
12 | timer_speed: 8000,
13 | animation_speed: 500,
14 | bullets: false,
15 | stack_on_small: true,
16 | navigation_arrows: false,
17 | slide_number: false,
18 | container_class: 'orbit-container',
19 | stack_on_small_class: 'orbit-stack-on-small',
20 | next_class: 'orbit-next',
21 | prev_class: 'orbit-prev',
22 | timer_container_class: 'orbit-timer',
23 | timer_paused_class: 'paused',
24 | timer_progress_class: 'orbit-progress',
25 | slides_container_class: 'orbit-slides-container',
26 | bullets_container_class: 'orbit-bullets',
27 | bullets_active_class: 'active',
28 | slide_number_class: 'orbit-slide-number',
29 | caption_class: 'orbit-caption',
30 | active_slide_class: 'active',
31 | orbit_transition_class: 'orbit-transitioning'
32 | },
33 |
34 | init: function (scope, method, options) {
35 | var self = this;
36 | Foundation.inherit(self, 'data_options');
37 |
38 | if (typeof method === 'object') {
39 | $.extend(true, self.settings, method);
40 | }
41 |
42 | $('[data-orbit]', scope).each(function(idx, el) {
43 | var scoped_self = $.extend(true, {}, self);
44 | scoped_self._init(idx, el);
45 | });
46 | },
47 |
48 | _container_html: function() {
49 | var self = this;
50 | return '
';
51 | },
52 |
53 | _bullets_container_html: function($slides) {
54 | var self = this,
55 | $list = $(' ');
56 | $slides.each(function(idx, slide) {
57 | var $item = $(' ');
58 | if (idx === 0) {
59 | $item.addClass(self.settings.bullets_active_class);
60 | }
61 | $list.append($item);
62 | });
63 | return $list;
64 | },
65 |
66 | _slide_number_html: function(slide_number, total_slides) {
67 | var self = this,
68 | $container = $('
');
69 | $container.append('' + slide_number + ' of ' + total_slides + ' ');
70 | return $container;
71 | },
72 |
73 | _timer_html: function() {
74 | var self = this;
75 | if (typeof self.settings.timer_speed === 'number' && self.settings.timer_speed > 0) {
76 | return '';
79 | } else {
80 | return '';
81 | }
82 | },
83 |
84 | _next_html: function() {
85 | var self = this;
86 | return 'Next ';
87 | },
88 |
89 | _prev_html: function() {
90 | var self = this;
91 | return 'Prev ';
92 | },
93 |
94 | _init: function (idx, slider) {
95 | var self = this,
96 | $slides_container = $(slider),
97 | $container = $slides_container.wrap(self._container_html()).parent(),
98 | $slides = $slides_container.children();
99 |
100 | $.extend(true, self.settings, self.data_options($slides_container));
101 |
102 | if (self.settings.navigation_arrows) {
103 | $container.append(self._prev_html());
104 | $container.append(self._next_html());
105 | }
106 | $slides_container.addClass(self.settings.slides_container_class);
107 | if (self.settings.stack_on_small) {
108 | $container.addClass(self.settings.stack_on_small_class);
109 | }
110 | if (self.settings.slide_number) {
111 | $container.append(self._slide_number_html(1, $slides.length));
112 | }
113 | $container.append(self._timer_html());
114 | if (self.settings.bullets) {
115 | $container.after(self._bullets_container_html($slides));
116 | }
117 | // To better support the "sliding" effect it's easier
118 | // if we just clone the first and last slides
119 | $slides_container.append($slides.first().clone().attr('data-orbit-slide',''));
120 | $slides_container.prepend($slides.last().clone().attr('data-orbit-slide',''));
121 | // Make the first "real" slide active
122 | $slides_container.css('marginLeft', '-100%');
123 | $slides.first().addClass(self.settings.active_slide_class);
124 |
125 | self._init_events($slides_container);
126 | self._init_dimensions($slides_container);
127 | self._start_timer($slides_container);
128 | },
129 |
130 | _init_events: function ($slides_container) {
131 | var self = this,
132 | $container = $slides_container.parent();
133 |
134 | $(window)
135 | .on('load.fndtn.orbit', function() {
136 | $slides_container.height('');
137 | $slides_container.height($slides_container.height($container.height()));
138 | $slides_container.trigger('orbit:ready');
139 | })
140 | .on('resize.fndtn.orbit', function() {
141 | $slides_container.height('');
142 | $slides_container.height($slides_container.height($container.height()));
143 | });
144 |
145 | $(document).on('click.fndtn.orbit', '[data-orbit-link]', function(e) {
146 | e.preventDefault();
147 | var id = $(e.currentTarget).attr('data-orbit-link'),
148 | $slide = $slides_container.find('[data-orbit-slide=' + id + ']').first();
149 |
150 | if ($slide.length === 1) {
151 | self._reset_timer($slides_container, true);
152 | self._goto($slides_container, $slide.index(), function() {});
153 | }
154 | });
155 |
156 | $container.siblings('.' + self.settings.bullets_container_class)
157 | .on('click.fndtn.orbit', '[data-orbit-slide-number]', function(e) {
158 | e.preventDefault();
159 | self._reset_timer($slides_container, true);
160 | self._goto($slides_container, $(e.currentTarget).data('orbit-slide-number'),function() {});
161 | });
162 |
163 | $container
164 | .on('orbit:after-slide-change.fndtn.orbit', function(e, orbit) {
165 | var $slide_number = $container.find('.' + self.settings.slide_number_class);
166 |
167 | if ($slide_number.length === 1) {
168 | $slide_number.replaceWith(self._slide_number_html(orbit.slide_number, orbit.total_slides));
169 | }
170 | })
171 | .on('orbit:next-slide.fndtn.orbit click.fndtn.orbit', '.' + self.settings.next_class, function(e) {
172 | e.preventDefault();
173 | self._reset_timer($slides_container, true);
174 | self._goto($slides_container, 'next', function() {});
175 | })
176 | .on('orbit:prev-slide.fndtn.orbit click.fndtn.orbit', '.' + self.settings.prev_class, function(e) {
177 | e.preventDefault();
178 | self._reset_timer($slides_container, true);
179 | self._goto($slides_container, 'prev', function() {});
180 | })
181 | .on('orbit:toggle-play-pause.fndtn.orbit click.fndtn.orbit touchstart.fndtn.orbit', '.' + self.settings.timer_container_class, function(e) {
182 | e.preventDefault();
183 | var $timer = $(e.currentTarget).toggleClass(self.settings.timer_paused_class),
184 | $slides_container = $timer.closest('.' + self.settings.container_class)
185 | .find('.' + self.settings.slides_container_class);
186 |
187 | if ($timer.hasClass(self.settings.timer_paused_class)) {
188 | self._stop_timer($slides_container);
189 | } else {
190 | self._start_timer($slides_container);
191 | }
192 | })
193 | .on('touchstart.fndtn.orbit', function(e) {
194 | if (!e.touches) { e = e.originalEvent; }
195 | var data = {
196 | start_page_x: e.touches[0].pageX,
197 | start_page_y: e.touches[0].pageY,
198 | start_time: (new Date()).getTime(),
199 | delta_x: 0,
200 | is_scrolling: undefined
201 | };
202 | $container.data('swipe-transition', data);
203 | e.stopPropagation();
204 | })
205 | .on('touchmove.fndtn.orbit', function(e) {
206 | if (!e.touches) { e = e.originalEvent; }
207 | // Ignore pinch/zoom events
208 | if(e.touches.length > 1 || e.scale && e.scale !== 1) return;
209 |
210 | var data = $container.data('swipe-transition');
211 | if (typeof data === 'undefined') {
212 | data = {};
213 | }
214 |
215 | data.delta_x = e.touches[0].pageX - data.start_page_x;
216 |
217 | if ( typeof data.is_scrolling === 'undefined') {
218 | data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
219 | }
220 |
221 | if (!data.is_scrolling && !data.active) {
222 | e.preventDefault();
223 | self._stop_timer($slides_container);
224 | var direction = (data.delta_x < 0) ? 'next' : 'prev';
225 | data.active = true;
226 | self._goto($slides_container, direction, function() {});
227 | }
228 | })
229 | .on('touchend.fndtn.orbit', function(e) {
230 | $container.data('swipe-transition', {});
231 | e.stopPropagation();
232 | });
233 | },
234 |
235 | _init_dimensions: function ($slides_container) {
236 | var $container = $slides_container.parent(),
237 | $slides = $slides_container.children();
238 |
239 | $slides_container.css('width', $slides.length * 100 + '%');
240 | $slides.css('width', 100 / $slides.length + '%');
241 | $slides_container.height($container.height());
242 | $slides_container.css('width', $slides.length * 100 + '%');
243 | },
244 |
245 | _start_timer: function ($slides_container) {
246 | var self = this,
247 | $container = $slides_container.parent();
248 |
249 | var callback = function() {
250 | self._reset_timer($slides_container, false);
251 | self._goto($slides_container, 'next', function() {
252 | self._start_timer($slides_container);
253 | });
254 | };
255 |
256 | var $timer = $container.find('.' + self.settings.timer_container_class),
257 | $progress = $timer.find('.' + self.settings.timer_progress_class),
258 | progress_pct = ($progress.width() / $timer.width()),
259 | delay = self.settings.timer_speed - (progress_pct * self.settings.timer_speed);
260 |
261 | $progress.animate({'width': '100%'}, delay, 'linear', callback);
262 | $slides_container.trigger('orbit:timer-started');
263 | },
264 |
265 | _stop_timer: function ($slides_container) {
266 | var self = this,
267 | $container = $slides_container.parent(),
268 | $timer = $container.find('.' + self.settings.timer_container_class),
269 | $progress = $timer.find('.' + self.settings.timer_progress_class),
270 | progress_pct = $progress.width() / $timer.width();
271 | self._rebuild_timer($container, progress_pct * 100 + '%');
272 | // $progress.stop();
273 | $slides_container.trigger('orbit:timer-stopped');
274 | $timer = $container.find('.' + self.settings.timer_container_class);
275 | $timer.addClass(self.settings.timer_paused_class);
276 | },
277 |
278 | _reset_timer: function($slides_container, is_paused) {
279 | var self = this,
280 | $container = $slides_container.parent();
281 | self._rebuild_timer($container, '0%');
282 | if (typeof is_paused === 'boolean' && is_paused) {
283 | var $timer = $container.find('.' + self.settings.timer_container_class);
284 | $timer.addClass(self.settings.timer_paused_class);
285 | }
286 | },
287 |
288 | _rebuild_timer: function ($container, width_pct) {
289 | // Zepto is unable to stop animations since they
290 | // are css-based. This is a workaround for that
291 | // limitation, which rebuilds the dom element
292 | // thus stopping the animation
293 | var self = this,
294 | $timer = $container.find('.' + self.settings.timer_container_class),
295 | $new_timer = $(self._timer_html()),
296 | $new_timer_progress = $new_timer.find('.' + self.settings.timer_progress_class);
297 |
298 | if (typeof Zepto === 'function') {
299 | $timer.remove();
300 | $container.append($new_timer);
301 | $new_timer_progress.css('width', width_pct);
302 | } else if (typeof jQuery === 'function') {
303 | var $progress = $timer.find('.' + self.settings.timer_progress_class);
304 | $progress.css('width', width_pct);
305 | $progress.stop();
306 | }
307 | },
308 |
309 | _goto: function($slides_container, index_or_direction, callback) {
310 | var self = this,
311 | $container = $slides_container.parent(),
312 | $slides = $slides_container.children(),
313 | $active_slide = $slides_container.find('.' + self.settings.active_slide_class),
314 | active_index = $active_slide.index(),
315 | margin_position = Foundation.rtl ? 'marginRight' : 'marginLeft';
316 |
317 | if ($container.hasClass(self.settings.orbit_transition_class)) {
318 | return false;
319 | }
320 |
321 | if (index_or_direction === 'prev') {
322 | if (active_index === 0) {
323 | active_index = $slides.length - 1;
324 | }
325 | else {
326 | active_index--;
327 | }
328 | }
329 | else if (index_or_direction === 'next') {
330 | active_index = (active_index+1) % $slides.length;
331 | }
332 | else if (typeof index_or_direction === 'number') {
333 | active_index = (index_or_direction % $slides.length);
334 | }
335 | if (active_index === ($slides.length - 1) && index_or_direction === 'next') {
336 | $slides_container.css(margin_position, '0%');
337 | active_index = 1;
338 | }
339 | else if (active_index === 0 && index_or_direction === 'prev') {
340 | $slides_container.css(margin_position, '-' + ($slides.length - 1) * 100 + '%');
341 | active_index = $slides.length - 2;
342 | }
343 | // Start transition, make next slide active
344 | $container.addClass(self.settings.orbit_transition_class);
345 | $active_slide.removeClass(self.settings.active_slide_class);
346 | $($slides[active_index]).addClass(self.settings.active_slide_class);
347 | // Make next bullet active
348 | var $bullets = $container.siblings('.' + self.settings.bullets_container_class);
349 | if ($bullets.length === 1) {
350 | $bullets.children().removeClass(self.settings.bullets_active_class);
351 | $($bullets.children()[active_index-1]).addClass(self.settings.bullets_active_class);
352 | }
353 | var new_margin_left = '-' + (active_index * 100) + '%';
354 | // Check to see if animation will occur, otherwise perform
355 | // callbacks manually
356 | $slides_container.trigger('orbit:before-slide-change');
357 | if ($slides_container.css(margin_position) === new_margin_left) {
358 | $container.removeClass(self.settings.orbit_transition_class);
359 | $slides_container.trigger('orbit:after-slide-change', [{slide_number: active_index, total_slides: $slides_container.children().length - 2}]);
360 | callback();
361 | } else {
362 | var properties = {};
363 | properties[margin_position] = new_margin_left;
364 |
365 | $slides_container.animate(properties, self.settings.animation_speed, 'linear', function() {
366 | $container.removeClass(self.settings.orbit_transition_class);
367 | $slides_container.trigger('orbit:after-slide-change', [{slide_number: active_index, total_slides: $slides_container.children().length - 2}]);
368 | callback();
369 | });
370 | }
371 | }
372 | };
373 | }(Foundation.zj, this, this.document));
374 |
--------------------------------------------------------------------------------
/javascripts/foundation/foundation.clearing.js:
--------------------------------------------------------------------------------
1 | /*jslint unparam: true, browser: true, indent: 2 */
2 |
3 | ;(function ($, window, document, undefined) {
4 | 'use strict';
5 |
6 | Foundation.libs.clearing = {
7 | name : 'clearing',
8 |
9 | version : '4.1.3',
10 |
11 | settings : {
12 | templates : {
13 | viewing : '× ' +
14 | '' +
15 | '
' +
16 | '
'
17 | },
18 |
19 | // comma delimited list of selectors that, on click, will close clearing,
20 | // add 'div.clearing-blackout, div.visible-img' to close on background click
21 | close_selectors : '.clearing-close',
22 |
23 | // event initializers and locks
24 | init : false,
25 | locked : false
26 | },
27 |
28 | init : function (scope, method, options) {
29 | var self = this;
30 | Foundation.inherit(this, 'set_data get_data remove_data throttle data_options');
31 |
32 | if (typeof method === 'object') {
33 | options = $.extend(true, this.settings, method);
34 | }
35 |
36 | if (typeof method != 'string') {
37 | $(this.scope).find('ul[data-clearing]').each(function () {
38 | var $el = $(this),
39 | options = options || {},
40 | lis = $el.find('li'),
41 | settings = self.get_data($el);
42 |
43 | if (!settings && lis.length > 0) {
44 | options.$parent = $el.parent();
45 |
46 | self.set_data($el, $.extend({}, self.settings, options, self.data_options($el)));
47 |
48 | self.assemble($el.find('li'));
49 |
50 | if (!self.settings.init) {
51 | self.events().swipe_events();
52 | }
53 | }
54 | });
55 |
56 | return this.settings.init;
57 | } else {
58 | // fire method
59 | return this[method].call(this, options);
60 | }
61 | },
62 |
63 | // event binding and initial setup
64 |
65 | events : function () {
66 | var self = this;
67 |
68 | $(this.scope)
69 | .on('click.fndtn.clearing', 'ul[data-clearing] li',
70 | function (e, current, target) {
71 | var current = current || $(this),
72 | target = target || current,
73 | next = current.next('li'),
74 | settings = self.get_data(current.parent()),
75 | image = $(e.target);
76 |
77 | e.preventDefault();
78 | if (!settings) self.init();
79 |
80 | // if clearing is open and the current image is
81 | // clicked, go to the next image in sequence
82 | if (target.hasClass('visible')
83 | && current[0] === target[0]
84 | && next.length > 0 && self.is_open(current)) {
85 | target = next;
86 | image = target.find('img');
87 | }
88 |
89 | // set current and target to the clicked li if not otherwise defined.
90 | self.open(image, current, target);
91 | self.update_paddles(target);
92 | })
93 |
94 | .on('click.fndtn.clearing', '.clearing-main-next',
95 | function (e) { this.nav(e, 'next') }.bind(this))
96 | .on('click.fndtn.clearing', '.clearing-main-prev',
97 | function (e) { this.nav(e, 'prev') }.bind(this))
98 | .on('click.fndtn.clearing', this.settings.close_selectors,
99 | function (e) { Foundation.libs.clearing.close(e, this) })
100 | .on('keydown.fndtn.clearing',
101 | function (e) { this.keydown(e) }.bind(this));
102 |
103 | $(window).on('resize.fndtn.clearing',
104 | function () { this.resize() }.bind(this));
105 |
106 | this.settings.init = true;
107 | return this;
108 | },
109 |
110 | swipe_events : function () {
111 | var self = this;
112 |
113 | $(this.scope)
114 | .on('touchstart.fndtn.clearing', '.visible-img', function(e) {
115 | if (!e.touches) { e = e.originalEvent; }
116 | var data = {
117 | start_page_x: e.touches[0].pageX,
118 | start_page_y: e.touches[0].pageY,
119 | start_time: (new Date()).getTime(),
120 | delta_x: 0,
121 | is_scrolling: undefined
122 | };
123 |
124 | $(this).data('swipe-transition', data);
125 | e.stopPropagation();
126 | })
127 | .on('touchmove.fndtn.clearing', '.visible-img', function(e) {
128 | if (!e.touches) { e = e.originalEvent; }
129 | // Ignore pinch/zoom events
130 | if(e.touches.length > 1 || e.scale && e.scale !== 1) return;
131 |
132 | var data = $(this).data('swipe-transition');
133 |
134 | if (typeof data === 'undefined') {
135 | data = {};
136 | }
137 |
138 | data.delta_x = e.touches[0].pageX - data.start_page_x;
139 |
140 | if ( typeof data.is_scrolling === 'undefined') {
141 | data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
142 | }
143 |
144 | if (!data.is_scrolling && !data.active) {
145 | e.preventDefault();
146 | var direction = (data.delta_x < 0) ? 'next' : 'prev';
147 | data.active = true;
148 | self.nav(e, direction);
149 | }
150 | })
151 | .on('touchend.fndtn.clearing', '.visible-img', function(e) {
152 | $(this).data('swipe-transition', {});
153 | e.stopPropagation();
154 | });
155 | },
156 |
157 | assemble : function ($li) {
158 | var $el = $li.parent();
159 | $el.after('
');
160 |
161 | var holder = $('#foundationClearingHolder'),
162 | settings = this.get_data($el),
163 | grid = $el.detach(),
164 | data = {
165 | grid: '' + this.outerHTML(grid[0]) + '
',
166 | viewing: settings.templates.viewing
167 | },
168 | wrapper = '' + data.viewing +
169 | data.grid + '
';
170 |
171 | return holder.after(wrapper).remove();
172 | },
173 |
174 | // event callbacks
175 |
176 | open : function ($image, current, target) {
177 | var root = target.closest('.clearing-assembled'),
178 | container = root.find('div').first(),
179 | visible_image = container.find('.visible-img'),
180 | image = visible_image.find('img').not($image);
181 |
182 | if (!this.locked()) {
183 | // set the image to the selected thumbnail
184 | image
185 | .attr('src', this.load($image))
186 | .css('visibility', 'hidden');
187 |
188 | this.loaded(image, function () {
189 | image.css('visibility', 'visible');
190 | // toggle the gallery
191 | root.addClass('clearing-blackout');
192 | container.addClass('clearing-container');
193 | visible_image.show();
194 | this.fix_height(target)
195 | .caption(visible_image.find('.clearing-caption'), $image)
196 | .center(image)
197 | .shift(current, target, function () {
198 | target.siblings().removeClass('visible');
199 | target.addClass('visible');
200 | });
201 | }.bind(this));
202 | }
203 | },
204 |
205 | close : function (e, el) {
206 | e.preventDefault();
207 |
208 | var root = (function (target) {
209 | if (/blackout/.test(target.selector)) {
210 | return target;
211 | } else {
212 | return target.closest('.clearing-blackout');
213 | }
214 | }($(el))), container, visible_image;
215 |
216 | if (el === e.target && root) {
217 | container = root.find('div').first();
218 | visible_image = container.find('.visible-img');
219 | this.settings.prev_index = 0;
220 | root.find('ul[data-clearing]')
221 | .attr('style', '').closest('.clearing-blackout')
222 | .removeClass('clearing-blackout');
223 | container.removeClass('clearing-container');
224 | visible_image.hide();
225 | }
226 |
227 | return false;
228 | },
229 |
230 | is_open : function (current) {
231 | return current.parent().attr('style').length > 0;
232 | },
233 |
234 | keydown : function (e) {
235 | var clearing = $('.clearing-blackout').find('ul[data-clearing]');
236 |
237 | if (e.which === 39) this.go(clearing, 'next');
238 | if (e.which === 37) this.go(clearing, 'prev');
239 | if (e.which === 27) $('a.clearing-close').trigger('click');
240 | },
241 |
242 | nav : function (e, direction) {
243 | var clearing = $('.clearing-blackout').find('ul[data-clearing]');
244 |
245 | e.preventDefault();
246 | this.go(clearing, direction);
247 | },
248 |
249 | resize : function () {
250 | var image = $('.clearing-blackout .visible-img').find('img');
251 |
252 | if (image.length) {
253 | this.center(image);
254 | }
255 | },
256 |
257 | // visual adjustments
258 | fix_height : function (target) {
259 | var lis = target.parent().children(),
260 | self = this;
261 |
262 | lis.each(function () {
263 | var li = $(this),
264 | image = li.find('img');
265 |
266 | if (li.height() > self.outerHeight(image)) {
267 | li.addClass('fix-height');
268 | }
269 | })
270 | .closest('ul')
271 | .width(lis.length * 100 + '%');
272 |
273 | return this;
274 | },
275 |
276 | update_paddles : function (target) {
277 | var visible_image = target
278 | .closest('.carousel')
279 | .siblings('.visible-img');
280 |
281 | if (target.next().length > 0) {
282 | visible_image
283 | .find('.clearing-main-next')
284 | .removeClass('disabled');
285 | } else {
286 | visible_image
287 | .find('.clearing-main-next')
288 | .addClass('disabled');
289 | }
290 |
291 | if (target.prev().length > 0) {
292 | visible_image
293 | .find('.clearing-main-prev')
294 | .removeClass('disabled');
295 | } else {
296 | visible_image
297 | .find('.clearing-main-prev')
298 | .addClass('disabled');
299 | }
300 | },
301 |
302 | center : function (target) {
303 | if (!this.rtl) {
304 | target.css({
305 | marginLeft : -(this.outerWidth(target) / 2),
306 | marginTop : -(this.outerHeight(target) / 2)
307 | });
308 | } else {
309 | target.css({
310 | marginRight : -(this.outerWidth(target) / 2),
311 | marginTop : -(this.outerHeight(target) / 2)
312 | });
313 | }
314 | return this;
315 | },
316 |
317 | // image loading and preloading
318 |
319 | load : function ($image) {
320 | if ($image[0].nodeName === "A") {
321 | var href = $image.attr('href');
322 | } else {
323 | var href = $image.parent().attr('href');
324 | }
325 |
326 | this.preload($image);
327 |
328 | if (href) return href;
329 | return $image.attr('src');
330 | },
331 |
332 | preload : function ($image) {
333 | this
334 | .img($image.closest('li').next())
335 | .img($image.closest('li').prev());
336 | },
337 |
338 | loaded : function (image, callback) {
339 | // based on jquery.imageready.js
340 | // @weblinc, @jsantell, (c) 2012
341 |
342 | function loaded () {
343 | callback();
344 | }
345 |
346 | function bindLoad () {
347 | this.one('load', loaded);
348 |
349 | if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
350 | var src = this.attr( 'src' ),
351 | param = src.match( /\?/ ) ? '&' : '?';
352 |
353 | param += 'random=' + (new Date()).getTime();
354 | this.attr('src', src + param);
355 | }
356 | }
357 |
358 | if (!image.attr('src')) {
359 | loaded();
360 | return;
361 | }
362 |
363 | if (image[0].complete || image[0].readyState === 4) {
364 | loaded();
365 | } else {
366 | bindLoad.call(image);
367 | }
368 | },
369 |
370 | img : function (img) {
371 | if (img.length) {
372 | var new_img = new Image(),
373 | new_a = img.find('a');
374 |
375 | if (new_a.length) {
376 | new_img.src = new_a.attr('href');
377 | } else {
378 | new_img.src = img.find('img').attr('src');
379 | }
380 | }
381 | return this;
382 | },
383 |
384 | // image caption
385 |
386 | caption : function (container, $image) {
387 | var caption = $image.data('caption');
388 |
389 | if (caption) {
390 | container
391 | .text(caption)
392 | .show();
393 | } else {
394 | container
395 | .text('')
396 | .hide();
397 | }
398 | return this;
399 | },
400 |
401 | // directional methods
402 |
403 | go : function ($ul, direction) {
404 | var current = $ul.find('.visible'),
405 | target = current[direction]();
406 |
407 | if (target.length) {
408 | target
409 | .find('img')
410 | .trigger('click', [current, target]);
411 | }
412 | },
413 |
414 | shift : function (current, target, callback) {
415 | var clearing = target.parent(),
416 | old_index = this.settings.prev_index || target.index(),
417 | direction = this.direction(clearing, current, target),
418 | left = parseInt(clearing.css('left'), 10),
419 | width = this.outerWidth(target),
420 | skip_shift;
421 |
422 | // we use jQuery animate instead of CSS transitions because we
423 | // need a callback to unlock the next animation
424 | if (target.index() !== old_index && !/skip/.test(direction)){
425 | if (/left/.test(direction)) {
426 | this.lock();
427 | clearing.animate({left : left + width}, 300, this.unlock());
428 | } else if (/right/.test(direction)) {
429 | this.lock();
430 | clearing.animate({left : left - width}, 300, this.unlock());
431 | }
432 | } else if (/skip/.test(direction)) {
433 | // the target image is not adjacent to the current image, so
434 | // do we scroll right or not
435 | skip_shift = target.index() - this.settings.up_count;
436 | this.lock();
437 |
438 | if (skip_shift > 0) {
439 | clearing.animate({left : -(skip_shift * width)}, 300, this.unlock());
440 | } else {
441 | clearing.animate({left : 0}, 300, this.unlock());
442 | }
443 | }
444 |
445 | callback();
446 | },
447 |
448 | direction : function ($el, current, target) {
449 | var lis = $el.find('li'),
450 | li_width = this.outerWidth(lis) + (this.outerWidth(lis) / 4),
451 | up_count = Math.floor(this.outerWidth($('.clearing-container')) / li_width) - 1,
452 | target_index = lis.index(target),
453 | response;
454 |
455 | this.settings.up_count = up_count;
456 |
457 | if (this.adjacent(this.settings.prev_index, target_index)) {
458 | if ((target_index > up_count)
459 | && target_index > this.settings.prev_index) {
460 | response = 'right';
461 | } else if ((target_index > up_count - 1)
462 | && target_index <= this.settings.prev_index) {
463 | response = 'left';
464 | } else {
465 | response = false;
466 | }
467 | } else {
468 | response = 'skip';
469 | }
470 |
471 | this.settings.prev_index = target_index;
472 |
473 | return response;
474 | },
475 |
476 | adjacent : function (current_index, target_index) {
477 | for (var i = target_index + 1; i >= target_index - 1; i--) {
478 | if (i === current_index) return true;
479 | }
480 | return false;
481 | },
482 |
483 | // lock management
484 |
485 | lock : function () {
486 | this.settings.locked = true;
487 | },
488 |
489 | unlock : function () {
490 | this.settings.locked = false;
491 | },
492 |
493 | locked : function () {
494 | return this.settings.locked;
495 | },
496 |
497 | // plugin management/browser quirks
498 |
499 | outerHTML : function (el) {
500 | // support FireFox < 11
501 | return el.outerHTML || new XMLSerializer().serializeToString(el);
502 | },
503 |
504 | off : function () {
505 | $(this.scope).off('.fndtn.clearing');
506 | $(window).off('.fndtn.clearing');
507 | this.remove_data(); // empty settings cache
508 | this.settings.init = false;
509 | },
510 |
511 | reflow : function () {
512 | this.init();
513 | }
514 | };
515 |
516 | }(Foundation.zj, this, this.document));
517 |
--------------------------------------------------------------------------------
/sass/_icons.scss:
--------------------------------------------------------------------------------
1 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2 | * readers do not read off random characters that represent icons */
3 |
4 | .icon-glass:before { content: $glass; }
5 | .icon-music:before { content: $music; }
6 | .icon-search:before { content: $search; }
7 | .icon-envelope-alt:before { content: $envelope-alt; }
8 | .icon-heart:before { content: $heart; }
9 | .icon-star:before { content: $star; }
10 | .icon-star-empty:before { content: $star-empty; }
11 | .icon-user:before { content: $user; }
12 | .icon-film:before { content: $film; }
13 | .icon-th-large:before { content: $th-large; }
14 | .icon-th:before { content: $th; }
15 | .icon-th-list:before { content: $th-list; }
16 | .icon-ok:before { content: $ok; }
17 | .icon-remove:before { content: $remove; }
18 | .icon-zoom-in:before { content: $zoom-in; }
19 | .icon-zoom-out:before { content: $zoom-out; }
20 | .icon-power-off:before,
21 | .icon-off:before { content: $off; }
22 | .icon-signal:before { content: $signal; }
23 | .icon-gear:before,
24 | .icon-cog:before { content: $cog; }
25 | .icon-trash:before { content: $trash; }
26 | .icon-home:before { content: $home; }
27 | .icon-file-alt:before { content: $file-alt; }
28 | .icon-time:before { content: $time; }
29 | .icon-road:before { content: $road; }
30 | .icon-download-alt:before { content: $download-alt; }
31 | .icon-download:before { content: $download; }
32 | .icon-upload:before { content: $upload; }
33 | .icon-inbox:before { content: $inbox; }
34 | .icon-play-circle:before { content: $play-circle; }
35 | .icon-rotate-right:before,
36 | .icon-repeat:before { content: $repeat; }
37 | .icon-refresh:before { content: $refresh; }
38 | .icon-list-alt:before { content: $list-alt; }
39 | .icon-lock:before { content: $lock; }
40 | .icon-flag:before { content: $flag; }
41 | .icon-headphones:before { content: $headphones; }
42 | .icon-volume-off:before { content: $volume-off; }
43 | .icon-volume-down:before { content: $volume-down; }
44 | .icon-volume-up:before { content: $volume-up; }
45 | .icon-qrcode:before { content: $qrcode; }
46 | .icon-barcode:before { content: $barcode; }
47 | .icon-tag:before { content: $tag; }
48 | .icon-tags:before { content: $tags; }
49 | .icon-book:before { content: $book; }
50 | .icon-bookmark:before { content: $bookmark; }
51 | .icon-print:before { content: $print; }
52 | .icon-camera:before { content: $camera; }
53 | .icon-font:before { content: $font; }
54 | .icon-bold:before { content: $bold; }
55 | .icon-italic:before { content: $italic; }
56 | .icon-text-height:before { content: $text-height; }
57 | .icon-text-width:before { content: $text-width; }
58 | .icon-align-left:before { content: $align-left; }
59 | .icon-align-center:before { content: $align-center; }
60 | .icon-align-right:before { content: $align-right; }
61 | .icon-align-justify:before { content: $align-justify; }
62 | .icon-list:before { content: $list; }
63 | .icon-indent-left:before { content: $indent-left; }
64 | .icon-indent-right:before { content: $indent-right; }
65 | .icon-facetime-video:before { content: $facetime-video; }
66 | .icon-picture:before { content: $picture; }
67 | .icon-pencil:before { content: $pencil; }
68 | .icon-map-marker:before { content: $map-marker; }
69 | .icon-adjust:before { content: $adjust; }
70 | .icon-tint:before { content: $tint; }
71 | .icon-edit:before { content: $edit; }
72 | .icon-share:before { content: $share; }
73 | .icon-check:before { content: $check; }
74 | .icon-move:before { content: $move; }
75 | .icon-step-backward:before { content: $step-backward; }
76 | .icon-fast-backward:before { content: $fast-backward; }
77 | .icon-backward:before { content: $backward; }
78 | .icon-play:before { content: $play; }
79 | .icon-pause:before { content: $pause; }
80 | .icon-stop:before { content: $stop; }
81 | .icon-forward:before { content: $forward; }
82 | .icon-fast-forward:before { content: $fast-forward; }
83 | .icon-step-forward:before { content: $step-forward; }
84 | .icon-eject:before { content: $eject; }
85 | .icon-chevron-left:before { content: $chevron-left; }
86 | .icon-chevron-right:before { content: $chevron-right; }
87 | .icon-plus-sign:before { content: $plus-sign; }
88 | .icon-minus-sign:before { content: $minus-sign; }
89 | .icon-remove-sign:before { content: $remove-sign; }
90 | .icon-ok-sign:before { content: $ok-sign; }
91 | .icon-question-sign:before { content: $question-sign; }
92 | .icon-info-sign:before { content: $info-sign; }
93 | .icon-screenshot:before { content: $screenshot; }
94 | .icon-remove-circle:before { content: $remove-circle; }
95 | .icon-ok-circle:before { content: $ok-circle; }
96 | .icon-ban-circle:before { content: $ban-circle; }
97 | .icon-arrow-left:before { content: $arrow-left; }
98 | .icon-arrow-right:before { content: $arrow-right; }
99 | .icon-arrow-up:before { content: $arrow-up; }
100 | .icon-arrow-down:before { content: $arrow-down; }
101 | .icon-mail-forward:before,
102 | .icon-share-alt:before { content: $share-alt; }
103 | .icon-resize-full:before { content: $resize-full; }
104 | .icon-resize-small:before { content: $resize-small; }
105 | .icon-plus:before { content: $plus; }
106 | .icon-minus:before { content: $minus; }
107 | .icon-asterisk:before { content: $asterisk; }
108 | .icon-exclamation-sign:before { content: $exclamation-sign; }
109 | .icon-gift:before { content: $gift; }
110 | .icon-leaf:before { content: $leaf; }
111 | .icon-fire:before { content: $fire; }
112 | .icon-eye-open:before { content: $eye-open; }
113 | .icon-eye-close:before { content: $eye-close; }
114 | .icon-warning-sign:before { content: $warning-sign; }
115 | .icon-plane:before { content: $plane; }
116 | .icon-calendar:before { content: $calendar; }
117 | .icon-random:before { content: $random; }
118 | .icon-comment:before { content: $comment; }
119 | .icon-magnet:before { content: $magnet; }
120 | .icon-chevron-up:before { content: $chevron-up; }
121 | .icon-chevron-down:before { content: $chevron-down; }
122 | .icon-retweet:before { content: $retweet; }
123 | .icon-shopping-cart:before { content: $shopping-cart; }
124 | .icon-folder-close:before { content: $folder-close; }
125 | .icon-folder-open:before { content: $folder-open; }
126 | .icon-resize-vertical:before { content: $resize-vertical; }
127 | .icon-resize-horizontal:before { content: $resize-horizontal; }
128 | .icon-bar-chart:before { content: $bar-chart; }
129 | .icon-twitter-sign:before { content: $twitter-sign; }
130 | .icon-facebook-sign:before { content: $facebook-sign; }
131 | .icon-camera-retro:before { content: $camera-retro; }
132 | .icon-key:before { content: $key; }
133 | .icon-gears:before,
134 | .icon-cogs:before { content: $cogs; }
135 | .icon-comments:before { content: $comments; }
136 | .icon-thumbs-up-alt:before { content: $thumbs-up-alt; }
137 | .icon-thumbs-down-alt:before { content: $thumbs-down-alt; }
138 | .icon-star-half:before { content: $star-half; }
139 | .icon-heart-empty:before { content: $heart-empty; }
140 | .icon-signout:before { content: $signout; }
141 | .icon-linkedin-sign:before { content: $linkedin-sign; }
142 | .icon-pushpin:before { content: $pushpin; }
143 | .icon-external-link:before { content: $external-link; }
144 | .icon-signin:before { content: $signin; }
145 | .icon-trophy:before { content: $trophy; }
146 | .icon-github-sign:before { content: $github-sign; }
147 | .icon-upload-alt:before { content: $upload-alt; }
148 | .icon-lemon:before { content: $lemon; }
149 | .icon-phone:before { content: $phone; }
150 | .icon-unchecked:before,
151 | .icon-check-empty:before { content: $check-empty; }
152 | .icon-bookmark-empty:before { content: $bookmark-empty; }
153 | .icon-phone-sign:before { content: $phone-sign; }
154 | .icon-twitter:before { content: $twitter; }
155 | .icon-facebook:before { content: $facebook; }
156 | .icon-github:before { content: $github; }
157 | .icon-unlock:before { content: $unlock; }
158 | .icon-credit-card:before { content: $credit-card; }
159 | .icon-rss:before { content: $rss; }
160 | .icon-hdd:before { content: $hdd; }
161 | .icon-bullhorn:before { content: $bullhorn; }
162 | .icon-bell:before { content: $bell; }
163 | .icon-certificate:before { content: $certificate; }
164 | .icon-hand-right:before { content: $hand-right; }
165 | .icon-hand-left:before { content: $hand-left; }
166 | .icon-hand-up:before { content: $hand-up; }
167 | .icon-hand-down:before { content: $hand-down; }
168 | .icon-circle-arrow-left:before { content: $circle-arrow-left; }
169 | .icon-circle-arrow-right:before { content: $circle-arrow-right; }
170 | .icon-circle-arrow-up:before { content: $circle-arrow-up; }
171 | .icon-circle-arrow-down:before { content: $circle-arrow-down; }
172 | .icon-globe:before { content: $globe; }
173 | .icon-wrench:before { content: $wrench; }
174 | .icon-tasks:before { content: $tasks; }
175 | .icon-filter:before { content: $filter; }
176 | .icon-briefcase:before { content: $briefcase; }
177 | .icon-fullscreen:before { content: $fullscreen; }
178 | .icon-group:before { content: $group; }
179 | .icon-link:before { content: $link; }
180 | .icon-cloud:before { content: $cloud; }
181 | .icon-beaker:before { content: $beaker; }
182 | .icon-cut:before { content: $cut; }
183 | .icon-copy:before { content: $copy; }
184 | .icon-paperclip:before,
185 | .icon-paper-clip:before { content: $paper-clip; }
186 | .icon-save:before { content: $save; }
187 | .icon-sign-blank:before { content: $sign-blank; }
188 | .icon-reorder:before { content: $reorder; }
189 | .icon-list-ul:before { content: $list-ul; }
190 | .icon-list-ol:before { content: $list-ol; }
191 | .icon-strikethrough:before { content: $strikethrough; }
192 | .icon-underline:before { content: $underline; }
193 | .icon-table:before { content: $table; }
194 | .icon-magic:before { content: $magic; }
195 | .icon-truck:before { content: $truck; }
196 | .icon-pinterest:before { content: $pinterest; }
197 | .icon-pinterest-sign:before { content: $pinterest-sign; }
198 | .icon-google-plus-sign:before { content: $google-plus-sign; }
199 | .icon-google-plus:before { content: $google-plus; }
200 | .icon-money:before { content: $money; }
201 | .icon-caret-down:before { content: $caret-down; }
202 | .icon-caret-up:before { content: $caret-up; }
203 | .icon-caret-left:before { content: $caret-left; }
204 | .icon-caret-right:before { content: $caret-right; }
205 | .icon-columns:before { content: $columns; }
206 | .icon-sort:before { content: $sort; }
207 | .icon-sort-down:before { content: $sort-down; }
208 | .icon-sort-up:before { content: $sort-up; }
209 | .icon-envelope:before { content: $envelope; }
210 | .icon-linkedin:before { content: $linkedin; }
211 | .icon-rotate-left:before,
212 | .icon-undo:before { content: $undo; }
213 | .icon-legal:before { content: $legal; }
214 | .icon-dashboard:before { content: $dashboard; }
215 | .icon-comment-alt:before { content: $comment-alt; }
216 | .icon-comments-alt:before { content: $comments-alt; }
217 | .icon-bolt:before { content: $bolt; }
218 | .icon-sitemap:before { content: $sitemap; }
219 | .icon-umbrella:before { content: $umbrella; }
220 | .icon-paste:before { content: $paste; }
221 | .icon-lightbulb:before { content: $lightbulb; }
222 | .icon-exchange:before { content: $exchange; }
223 | .icon-cloud-download:before { content: $cloud-download; }
224 | .icon-cloud-upload:before { content: $cloud-upload; }
225 | .icon-user-md:before { content: $user-md; }
226 | .icon-stethoscope:before { content: $stethoscope; }
227 | .icon-suitcase:before { content: $suitcase; }
228 | .icon-bell-alt:before { content: $bell-alt; }
229 | .icon-coffee:before { content: $coffee; }
230 | .icon-food:before { content: $food; }
231 | .icon-file-text-alt:before { content: $file-text-alt; }
232 | .icon-building:before { content: $building; }
233 | .icon-hospital:before { content: $hospital; }
234 | .icon-ambulance:before { content: $ambulance; }
235 | .icon-medkit:before { content: $medkit; }
236 | .icon-fighter-jet:before { content: $fighter-jet; }
237 | .icon-beer:before { content: $beer; }
238 | .icon-h-sign:before { content: $h-sign; }
239 | .icon-plus-sign-alt:before { content: $plus-sign-alt; }
240 | .icon-double-angle-left:before { content: $double-angle-left; }
241 | .icon-double-angle-right:before { content: $double-angle-right; }
242 | .icon-double-angle-up:before { content: $double-angle-up; }
243 | .icon-double-angle-down:before { content: $double-angle-down; }
244 | .icon-angle-left:before { content: $angle-left; }
245 | .icon-angle-right:before { content: $angle-right; }
246 | .icon-angle-up:before { content: $angle-up; }
247 | .icon-angle-down:before { content: $angle-down; }
248 | .icon-desktop:before { content: $desktop; }
249 | .icon-laptop:before { content: $laptop; }
250 | .icon-tablet:before { content: $tablet; }
251 | .icon-mobile-phone:before { content: $mobile-phone; }
252 | .icon-circle-blank:before { content: $circle-blank; }
253 | .icon-quote-left:before { content: $quote-left; }
254 | .icon-quote-right:before { content: $quote-right; }
255 | .icon-spinner:before { content: $spinner; }
256 | .icon-circle:before { content: $circle; }
257 | .icon-mail-reply:before,
258 | .icon-reply:before { content: $reply; }
259 | .icon-github-alt:before { content: $github-alt; }
260 | .icon-folder-close-alt:before { content: $folder-close-alt; }
261 | .icon-folder-open-alt:before { content: $folder-open-alt; }
262 | .icon-expand-alt:before { content: $expand-alt; }
263 | .icon-collapse-alt:before { content: $collapse-alt; }
264 | .icon-smile:before { content: $smile; }
265 | .icon-frown:before { content: $frown; }
266 | .icon-meh:before { content: $meh; }
267 | .icon-gamepad:before { content: $gamepad; }
268 | .icon-keyboard:before { content: $keyboard; }
269 | .icon-flag-alt:before { content: $flag-alt; }
270 | .icon-flag-checkered:before { content: $flag-checkered; }
271 | .icon-terminal:before { content: $terminal; }
272 | .icon-code:before { content: $code; }
273 | .icon-reply-all:before { content: $reply-all; }
274 | .icon-mail-reply-all:before { content: $mail-reply-all; }
275 | .icon-star-half-full:before,
276 | .icon-star-half-empty:before { content: $star-half-empty; }
277 | .icon-location-arrow:before { content: $location-arrow; }
278 | .icon-crop:before { content: $crop; }
279 | .icon-code-fork:before { content: $code-fork; }
280 | .icon-unlink:before { content: $unlink; }
281 | .icon-question:before { content: $question; }
282 | .icon-info:before { content: $info; }
283 | .icon-exclamation:before { content: $exclamation; }
284 | .icon-superscript:before { content: $superscript; }
285 | .icon-subscript:before { content: $subscript; }
286 | .icon-eraser:before { content: $eraser; }
287 | .icon-puzzle-piece:before { content: $puzzle-piece; }
288 | .icon-microphone:before { content: $microphone; }
289 | .icon-microphone-off:before { content: $microphone-off; }
290 | .icon-shield:before { content: $shield; }
291 | .icon-calendar-empty:before { content: $calendar-empty; }
292 | .icon-fire-extinguisher:before { content: $fire-extinguisher; }
293 | .icon-rocket:before { content: $rocket; }
294 | .icon-maxcdn:before { content: $maxcdn; }
295 | .icon-chevron-sign-left:before { content: $chevron-sign-left; }
296 | .icon-chevron-sign-right:before { content: $chevron-sign-right; }
297 | .icon-chevron-sign-up:before { content: $chevron-sign-up; }
298 | .icon-chevron-sign-down:before { content: $chevron-sign-down; }
299 | .icon-html5:before { content: $html5; }
300 | .icon-css3:before { content: $css3; }
301 | .icon-anchor:before { content: $anchor; }
302 | .icon-unlock-alt:before { content: $unlock-alt; }
303 | .icon-bullseye:before { content: $bullseye; }
304 | .icon-ellipsis-horizontal:before { content: $ellipsis-horizontal; }
305 | .icon-ellipsis-vertical:before { content: $ellipsis-vertical; }
306 | .icon-rss-sign:before { content: $rss-sign; }
307 | .icon-play-sign:before { content: $play-sign; }
308 | .icon-ticket:before { content: $ticket; }
309 | .icon-minus-sign-alt:before { content: $minus-sign-alt; }
310 | .icon-check-minus:before { content: $check-minus; }
311 | .icon-level-up:before { content: $level-up; }
312 | .icon-level-down:before { content: $level-down; }
313 | .icon-check-sign:before { content: $check-sign; }
314 | .icon-edit-sign:before { content: $edit-sign; }
315 | .icon-external-link-sign:before { content: $external-link-sign; }
316 | .icon-share-sign:before { content: $share-sign; }
317 | .icon-compass:before { content: $compass; }
318 | .icon-collapse:before { content: $collapse; }
319 | .icon-collapse-top:before { content: $collapse-top; }
320 | .icon-expand:before { content: $expand; }
321 | .icon-euro:before,
322 | .icon-eur:before { content: $eur; }
323 | .icon-gbp:before { content: $gbp; }
324 | .icon-dollar:before,
325 | .icon-usd:before { content: $usd; }
326 | .icon-rupee:before,
327 | .icon-inr:before { content: $inr; }
328 | .icon-yen:before,
329 | .icon-jpy:before { content: $jpy; }
330 | .icon-renminbi:before,
331 | .icon-cny:before { content: $cny; }
332 | .icon-won:before,
333 | .icon-krw:before { content: $krw; }
334 | .icon-bitcoin:before,
335 | .icon-btc:before { content: $btc; }
336 | .icon-file:before { content: $file; }
337 | .icon-file-text:before { content: $file-text; }
338 | .icon-sort-by-alphabet:before { content: $sort-by-alphabet; }
339 | .icon-sort-by-alphabet-alt:before { content: $sort-by-alphabet-alt; }
340 | .icon-sort-by-attributes:before { content: $sort-by-attributes; }
341 | .icon-sort-by-attributes-alt:before { content: $sort-by-attributes-alt; }
342 | .icon-sort-by-order:before { content: $sort-by-order; }
343 | .icon-sort-by-order-alt:before { content: $sort-by-order-alt; }
344 | .icon-thumbs-up:before { content: $thumbs-up; }
345 | .icon-thumbs-down:before { content: $thumbs-down; }
346 | .icon-youtube-sign:before { content: $youtube-sign; }
347 | .icon-youtube:before { content: $youtube; }
348 | .icon-xing:before { content: $xing; }
349 | .icon-xing-sign:before { content: $xing-sign; }
350 | .icon-youtube-play:before { content: $youtube-play; }
351 | .icon-dropbox:before { content: $dropbox; }
352 | .icon-stackexchange:before { content: $stackexchange; }
353 | .icon-instagram:before { content: $instagram; }
354 | .icon-flickr:before { content: $flickr; }
355 | .icon-adn:before { content: $adn; }
356 | .icon-bitbucket:before { content: $bitbucket; }
357 | .icon-bitbucket-sign:before { content: $bitbucket-sign; }
358 | .icon-tumblr:before { content: $tumblr; }
359 | .icon-tumblr-sign:before { content: $tumblr-sign; }
360 | .icon-long-arrow-down:before { content: $long-arrow-down; }
361 | .icon-long-arrow-up:before { content: $long-arrow-up; }
362 | .icon-long-arrow-left:before { content: $long-arrow-left; }
363 | .icon-long-arrow-right:before { content: $long-arrow-right; }
364 | .icon-apple:before { content: $apple; }
365 | .icon-windows:before { content: $windows; }
366 | .icon-android:before { content: $android; }
367 | .icon-linux:before { content: $linux; }
368 | .icon-dribbble:before { content: $dribbble; }
369 | .icon-skype:before { content: $skype; }
370 | .icon-foursquare:before { content: $foursquare; }
371 | .icon-trello:before { content: $trello; }
372 | .icon-female:before { content: $female; }
373 | .icon-male:before { content: $male; }
374 | .icon-gittip:before { content: $gittip; }
375 | .icon-sun:before { content: $sun; }
376 | .icon-moon:before { content: $moon; }
377 | .icon-archive:before { content: $archive; }
378 | .icon-bug:before { content: $bug; }
379 | .icon-vk:before { content: $vk; }
380 | .icon-weibo:before { content: $weibo; }
381 | .icon-renren:before { content: $renren; }
382 |
--------------------------------------------------------------------------------