From e1829bac27fda3aad12d523f3fcb0a55a603c010 Mon Sep 17 00:00:00 2001 From: yukon Date: Wed, 21 Dec 2016 10:22:42 +0800 Subject: [PATCH] Finish code dump. --- .gitignore | 14 + Gemfile | 2 + LICENSE.txt | 21 + README.md | 27 + Rakefile | 75 + _config.yml | 309 +++ _data/navigation.yml | 55 + _data/ui-text.yml | 416 ++++ _docs/01-quick-start-guide.md | 130 ++ _docs/02-motivation.md | 28 + _docs/03-core-concept.md | 95 + _docs/04-cli-admin-tool.md | 83 + _docs/05-cluster-deployment.md | 76 + _includes/analytics-providers/custom.html | 3 + .../analytics-providers/google-universal.html | 9 + _includes/analytics-providers/google.html | 11 + _includes/analytics.html | 12 + _includes/archive-single.html | 38 + _includes/author-profile-custom-links.html | 7 + _includes/author-profile.html | 241 ++ _includes/base_path | 5 + _includes/breadcrumbs.html | 39 + _includes/browser-upgrade.html | 3 + _includes/category-list.html | 26 + _includes/comment.html | 22 + _includes/comments-providers/custom.html | 3 + _includes/comments-providers/discourse.html | 13 + _includes/comments-providers/disqus.html | 22 + _includes/comments-providers/facebook.html | 8 + _includes/comments-providers/google-plus.html | 2 + _includes/comments-providers/scripts.html | 18 + _includes/comments-providers/staticman.html | 42 + _includes/comments.html | 80 + _includes/feature_row | 50 + _includes/figure | 12 + _includes/footer.html | 22 + _includes/footer/custom.html | 3 + _includes/gallery | 47 + _includes/group-by-array | 47 + _includes/head.html | 19 + _includes/head/custom.html | 5 + _includes/masthead.html | 21 + _includes/nav_list | 47 + _includes/page__hero.html | 53 + _includes/page__taxonomy.html | 7 + _includes/paginator.html | 68 + _includes/post_pagination.html | 14 + _includes/read-time.html | 15 + _includes/scripts.html | 4 + _includes/seo.html | 145 ++ _includes/sidebar.html | 23 + _includes/social-share.html | 13 + _includes/tag-list.html | 26 + _includes/toc | 7 + _layouts/archive-taxonomy.html | 15 + _layouts/archive.html | 24 + _layouts/compress.html | 10 + _layouts/default.html | 28 + _layouts/home.html | 11 + _layouts/single.html | 74 + _layouts/splash.html | 20 + _pages/about.md | 8 + _pages/community.md | 45 + _pages/year-archive.html | 16 + _sass/_animations.scss | 21 + _sass/_archive.scss | 238 ++ _sass/_base.scss | 315 +++ _sass/_buttons.scss | 153 ++ _sass/_footer.scss | 80 + _sass/_forms.scss | 391 ++++ _sass/_masthead.scss | 53 + _sass/_mixins.scss | 53 + _sass/_navigation.scss | 544 +++++ _sass/_notices.scss | 99 + _sass/_page.scss | 401 ++++ _sass/_print.scss | 18 + _sass/_reset.scss | 187 ++ _sass/_sidebar.scss | 231 ++ _sass/_syntax.scss | 146 ++ _sass/_tables.scss | 38 + _sass/_utilities.scss | 470 ++++ _sass/_variables.scss | 128 + _sass/vendor/breakpoint/_breakpoint.scss | 114 + _sass/vendor/breakpoint/_context.scss | 95 + _sass/vendor/breakpoint/_helpers.scss | 151 ++ _sass/vendor/breakpoint/_legacy-settings.scss | 50 + _sass/vendor/breakpoint/_no-query.scss | 15 + _sass/vendor/breakpoint/_parsers.scss | 215 ++ _sass/vendor/breakpoint/_respond-to.scss | 82 + _sass/vendor/breakpoint/_settings.scss | 71 + _sass/vendor/breakpoint/parsers/_double.scss | 33 + _sass/vendor/breakpoint/parsers/_query.scss | 82 + .../breakpoint/parsers/_resolution.scss | 31 + _sass/vendor/breakpoint/parsers/_single.scss | 26 + _sass/vendor/breakpoint/parsers/_triple.scss | 36 + .../parsers/double/_default-pair.scss | 21 + .../breakpoint/parsers/double/_default.scss | 22 + .../parsers/double/_double-string.scss | 22 + .../parsers/resolution/_resolution.scss | 60 + .../breakpoint/parsers/single/_default.scss | 13 + .../breakpoint/parsers/triple/_default.scss | 18 + _sass/vendor/font-awesome/_animated.scss | 34 + .../vendor/font-awesome/_bordered-pulled.scss | 25 + _sass/vendor/font-awesome/_core.scss | 12 + _sass/vendor/font-awesome/_fixed-width.scss | 6 + _sass/vendor/font-awesome/_font-awesome.scss | 18 + _sass/vendor/font-awesome/_icons.scss | 733 ++++++ _sass/vendor/font-awesome/_larger.scss | 13 + _sass/vendor/font-awesome/_list.scss | 19 + _sass/vendor/font-awesome/_mixins.scss | 60 + _sass/vendor/font-awesome/_path.scss | 15 + .../vendor/font-awesome/_rotated-flipped.scss | 20 + _sass/vendor/font-awesome/_screen-reader.scss | 5 + _sass/vendor/font-awesome/_stacked.scss | 20 + _sass/vendor/font-awesome/_variables.scss | 744 ++++++ .../magnific-popup/_magnific-popup.scss | 649 ++++++ _sass/vendor/magnific-popup/_settings.scss | 46 + _sass/vendor/susy/_su.scss | 4 + _sass/vendor/susy/_susy.scss | 4 + _sass/vendor/susy/_susyone.scss | 4 + _sass/vendor/susy/susy/_su.scss | 7 + _sass/vendor/susy/susy/language/_susy.scss | 24 + _sass/vendor/susy/susy/language/_susyone.scss | 13 + .../susy/susy/language/susy/_background.scss | 385 ++++ .../susy/susy/language/susy/_bleed.scss | 200 ++ .../susy/susy/language/susy/_box-sizing.scss | 47 + .../language/susy/_breakpoint-plugin.scss | 185 ++ .../susy/susy/language/susy/_container.scss | 81 + .../susy/susy/language/susy/_context.scss | 36 + .../susy/susy/language/susy/_gallery.scss | 94 + .../susy/susy/language/susy/_grids.scss | 64 + .../susy/susy/language/susy/_gutters.scss | 154 ++ .../susy/susy/language/susy/_isolate.scss | 77 + .../susy/susy/language/susy/_margins.scss | 94 + .../susy/susy/language/susy/_padding.scss | 74 + .../vendor/susy/susy/language/susy/_rows.scss | 138 ++ .../susy/susy/language/susy/_settings.scss | 216 ++ .../vendor/susy/susy/language/susy/_span.scss | 163 ++ .../susy/susy/language/susy/_validation.scss | 16 + .../susy/language/susyone/_background.scss | 18 + .../susy/language/susyone/_functions.scss | 377 +++ .../susy/susy/language/susyone/_grid.scss | 312 +++ .../susy/language/susyone/_isolation.scss | 51 + .../susy/susy/language/susyone/_margin.scss | 93 + .../susy/susy/language/susyone/_media.scss | 105 + .../susy/susy/language/susyone/_padding.scss | 92 + .../susy/susy/language/susyone/_settings.scss | 60 + _sass/vendor/susy/susy/output/_float.scss | 9 + _sass/vendor/susy/susy/output/_shared.scss | 15 + _sass/vendor/susy/susy/output/_support.scss | 9 + .../susy/susy/output/float/_container.scss | 16 + _sass/vendor/susy/susy/output/float/_end.scss | 40 + .../susy/susy/output/float/_isolate.scss | 22 + .../vendor/susy/susy/output/float/_span.scss | 35 + .../susy/susy/output/shared/_background.scss | 26 + .../susy/susy/output/shared/_container.scss | 21 + .../susy/susy/output/shared/_direction.scss | 42 + .../susy/susy/output/shared/_inspect.scss | 25 + .../susy/susy/output/shared/_margins.scss | 23 + .../susy/susy/output/shared/_output.scss | 14 + .../susy/susy/output/shared/_padding.scss | 23 + .../susy/susy/output/support/_background.scss | 58 + .../susy/susy/output/support/_box-sizing.scss | 19 + .../susy/susy/output/support/_clearfix.scss | 18 + .../susy/susy/output/support/_prefix.scss | 19 + .../vendor/susy/susy/output/support/_rem.scss | 22 + .../susy/susy/output/support/_support.scss | 85 + _sass/vendor/susy/susy/su/_grid.scss | 103 + _sass/vendor/susy/susy/su/_settings.scss | 73 + _sass/vendor/susy/susy/su/_utilities.scss | 111 + _sass/vendor/susy/susy/su/_validation.scss | 57 + alibaba-rocketmq-jekyll.gemspec | 28 + assets/css/main.scss | 79 + assets/fonts/FontAwesome.otf | Bin 0 -> 124988 bytes assets/fonts/fontawesome-webfont.eot | Bin 0 -> 76518 bytes assets/fonts/fontawesome-webfont.svg | 685 ++++++ assets/fonts/fontawesome-webfont.ttf | Bin 0 -> 152796 bytes assets/fonts/fontawesome-webfont.woff | Bin 0 -> 90412 bytes assets/fonts/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes assets/images/community/2dfire-logo.jpg | Bin 0 -> 12185 bytes assets/images/community/alibaba-logo.png | Bin 0 -> 4627 bytes assets/images/community/ant-logo.png | Bin 0 -> 16801 bytes .../images/community/china-telecom-logo.png | Bin 0 -> 9254 bytes assets/images/community/decent-logo.png | Bin 0 -> 5358 bytes assets/images/community/egov-logo.png | Bin 0 -> 70043 bytes assets/images/community/media-logo.jpg | Bin 0 -> 6222 bytes assets/images/community/meizu-logo.png | Bin 0 -> 1900 bytes assets/images/community/shihai-logo.jpg | Bin 0 -> 58158 bytes assets/images/community/yeahmobi-logo.png | Bin 0 -> 6553 bytes assets/images/community/yunpan-logo.png | Bin 0 -> 2819 bytes assets/images/rmq-customizable-feature.png | Bin 0 -> 12547 bytes assets/images/rmq-free-feature.png | Bin 0 -> 16852 bytes assets/images/rmq-home-page.jpg | Bin 0 -> 31487 bytes assets/images/rmq-logo.png | Bin 0 -> 6255 bytes assets/images/rmq-model.png | Bin 0 -> 90694 bytes assets/images/rmq-responsive-feature.png | Bin 0 -> 10565 bytes assets/js/_main.js | 100 + assets/js/main.min.js | 5 + assets/js/plugins/jquery.fitvids.js | 82 + assets/js/plugins/jquery.greedy-navigation.js | 72 + assets/js/plugins/jquery.magnific-popup.js | 2049 +++++++++++++++++ assets/js/plugins/jquery.smooth-scroll.min.js | 8 + assets/js/plugins/stickyfill.min.js | 8 + assets/js/vendor/jquery/jquery-1.12.4.min.js | 5 + favicon.ico | Bin 0 -> 7987 bytes home.md | 28 + package.json | 33 + 207 files changed, 17231 insertions(+) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 Rakefile create mode 100644 _config.yml create mode 100644 _data/navigation.yml create mode 100644 _data/ui-text.yml create mode 100644 _docs/01-quick-start-guide.md create mode 100644 _docs/02-motivation.md create mode 100644 _docs/03-core-concept.md create mode 100644 _docs/04-cli-admin-tool.md create mode 100644 _docs/05-cluster-deployment.md create mode 100644 _includes/analytics-providers/custom.html create mode 100644 _includes/analytics-providers/google-universal.html create mode 100644 _includes/analytics-providers/google.html create mode 100644 _includes/analytics.html create mode 100644 _includes/archive-single.html create mode 100644 _includes/author-profile-custom-links.html create mode 100644 _includes/author-profile.html create mode 100644 _includes/base_path create mode 100644 _includes/breadcrumbs.html create mode 100644 _includes/browser-upgrade.html create mode 100644 _includes/category-list.html create mode 100644 _includes/comment.html create mode 100644 _includes/comments-providers/custom.html create mode 100644 _includes/comments-providers/discourse.html create mode 100644 _includes/comments-providers/disqus.html create mode 100644 _includes/comments-providers/facebook.html create mode 100644 _includes/comments-providers/google-plus.html create mode 100644 _includes/comments-providers/scripts.html create mode 100644 _includes/comments-providers/staticman.html create mode 100644 _includes/comments.html create mode 100644 _includes/feature_row create mode 100644 _includes/figure create mode 100644 _includes/footer.html create mode 100644 _includes/footer/custom.html create mode 100644 _includes/gallery create mode 100644 _includes/group-by-array create mode 100644 _includes/head.html create mode 100644 _includes/head/custom.html create mode 100644 _includes/masthead.html create mode 100644 _includes/nav_list create mode 100644 _includes/page__hero.html create mode 100644 _includes/page__taxonomy.html create mode 100644 _includes/paginator.html create mode 100644 _includes/post_pagination.html create mode 100644 _includes/read-time.html create mode 100644 _includes/scripts.html create mode 100644 _includes/seo.html create mode 100644 _includes/sidebar.html create mode 100644 _includes/social-share.html create mode 100644 _includes/tag-list.html create mode 100644 _includes/toc create mode 100644 _layouts/archive-taxonomy.html create mode 100644 _layouts/archive.html create mode 100644 _layouts/compress.html create mode 100644 _layouts/default.html create mode 100644 _layouts/home.html create mode 100644 _layouts/single.html create mode 100644 _layouts/splash.html create mode 100644 _pages/about.md create mode 100644 _pages/community.md create mode 100644 _pages/year-archive.html create mode 100644 _sass/_animations.scss create mode 100644 _sass/_archive.scss create mode 100644 _sass/_base.scss create mode 100644 _sass/_buttons.scss create mode 100644 _sass/_footer.scss create mode 100644 _sass/_forms.scss create mode 100644 _sass/_masthead.scss create mode 100644 _sass/_mixins.scss create mode 100644 _sass/_navigation.scss create mode 100644 _sass/_notices.scss create mode 100644 _sass/_page.scss create mode 100644 _sass/_print.scss create mode 100644 _sass/_reset.scss create mode 100644 _sass/_sidebar.scss create mode 100644 _sass/_syntax.scss create mode 100644 _sass/_tables.scss create mode 100644 _sass/_utilities.scss create mode 100644 _sass/_variables.scss create mode 100644 _sass/vendor/breakpoint/_breakpoint.scss create mode 100644 _sass/vendor/breakpoint/_context.scss create mode 100644 _sass/vendor/breakpoint/_helpers.scss create mode 100644 _sass/vendor/breakpoint/_legacy-settings.scss create mode 100644 _sass/vendor/breakpoint/_no-query.scss create mode 100644 _sass/vendor/breakpoint/_parsers.scss create mode 100644 _sass/vendor/breakpoint/_respond-to.scss create mode 100644 _sass/vendor/breakpoint/_settings.scss create mode 100644 _sass/vendor/breakpoint/parsers/_double.scss create mode 100644 _sass/vendor/breakpoint/parsers/_query.scss create mode 100644 _sass/vendor/breakpoint/parsers/_resolution.scss create mode 100644 _sass/vendor/breakpoint/parsers/_single.scss create mode 100644 _sass/vendor/breakpoint/parsers/_triple.scss create mode 100644 _sass/vendor/breakpoint/parsers/double/_default-pair.scss create mode 100644 _sass/vendor/breakpoint/parsers/double/_default.scss create mode 100644 _sass/vendor/breakpoint/parsers/double/_double-string.scss create mode 100644 _sass/vendor/breakpoint/parsers/resolution/_resolution.scss create mode 100644 _sass/vendor/breakpoint/parsers/single/_default.scss create mode 100644 _sass/vendor/breakpoint/parsers/triple/_default.scss create mode 100644 _sass/vendor/font-awesome/_animated.scss create mode 100644 _sass/vendor/font-awesome/_bordered-pulled.scss create mode 100644 _sass/vendor/font-awesome/_core.scss create mode 100644 _sass/vendor/font-awesome/_fixed-width.scss create mode 100644 _sass/vendor/font-awesome/_font-awesome.scss create mode 100644 _sass/vendor/font-awesome/_icons.scss create mode 100644 _sass/vendor/font-awesome/_larger.scss create mode 100644 _sass/vendor/font-awesome/_list.scss create mode 100644 _sass/vendor/font-awesome/_mixins.scss create mode 100644 _sass/vendor/font-awesome/_path.scss create mode 100644 _sass/vendor/font-awesome/_rotated-flipped.scss create mode 100644 _sass/vendor/font-awesome/_screen-reader.scss create mode 100644 _sass/vendor/font-awesome/_stacked.scss create mode 100644 _sass/vendor/font-awesome/_variables.scss create mode 100644 _sass/vendor/magnific-popup/_magnific-popup.scss create mode 100644 _sass/vendor/magnific-popup/_settings.scss create mode 100644 _sass/vendor/susy/_su.scss create mode 100644 _sass/vendor/susy/_susy.scss create mode 100644 _sass/vendor/susy/_susyone.scss create mode 100644 _sass/vendor/susy/susy/_su.scss create mode 100644 _sass/vendor/susy/susy/language/_susy.scss create mode 100644 _sass/vendor/susy/susy/language/_susyone.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_background.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_bleed.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_box-sizing.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_container.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_context.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_gallery.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_grids.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_gutters.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_isolate.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_margins.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_padding.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_rows.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_settings.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_span.scss create mode 100644 _sass/vendor/susy/susy/language/susy/_validation.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_background.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_functions.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_grid.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_isolation.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_margin.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_media.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_padding.scss create mode 100644 _sass/vendor/susy/susy/language/susyone/_settings.scss create mode 100644 _sass/vendor/susy/susy/output/_float.scss create mode 100644 _sass/vendor/susy/susy/output/_shared.scss create mode 100644 _sass/vendor/susy/susy/output/_support.scss create mode 100644 _sass/vendor/susy/susy/output/float/_container.scss create mode 100644 _sass/vendor/susy/susy/output/float/_end.scss create mode 100644 _sass/vendor/susy/susy/output/float/_isolate.scss create mode 100644 _sass/vendor/susy/susy/output/float/_span.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_background.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_container.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_direction.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_inspect.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_margins.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_output.scss create mode 100644 _sass/vendor/susy/susy/output/shared/_padding.scss create mode 100644 _sass/vendor/susy/susy/output/support/_background.scss create mode 100644 _sass/vendor/susy/susy/output/support/_box-sizing.scss create mode 100644 _sass/vendor/susy/susy/output/support/_clearfix.scss create mode 100644 _sass/vendor/susy/susy/output/support/_prefix.scss create mode 100644 _sass/vendor/susy/susy/output/support/_rem.scss create mode 100644 _sass/vendor/susy/susy/output/support/_support.scss create mode 100644 _sass/vendor/susy/susy/su/_grid.scss create mode 100644 _sass/vendor/susy/susy/su/_settings.scss create mode 100644 _sass/vendor/susy/susy/su/_utilities.scss create mode 100644 _sass/vendor/susy/susy/su/_validation.scss create mode 100644 alibaba-rocketmq-jekyll.gemspec create mode 100644 assets/css/main.scss create mode 100644 assets/fonts/FontAwesome.otf create mode 100644 assets/fonts/fontawesome-webfont.eot create mode 100644 assets/fonts/fontawesome-webfont.svg create mode 100644 assets/fonts/fontawesome-webfont.ttf create mode 100644 assets/fonts/fontawesome-webfont.woff create mode 100644 assets/fonts/fontawesome-webfont.woff2 create mode 100644 assets/images/community/2dfire-logo.jpg create mode 100644 assets/images/community/alibaba-logo.png create mode 100644 assets/images/community/ant-logo.png create mode 100644 assets/images/community/china-telecom-logo.png create mode 100644 assets/images/community/decent-logo.png create mode 100644 assets/images/community/egov-logo.png create mode 100644 assets/images/community/media-logo.jpg create mode 100644 assets/images/community/meizu-logo.png create mode 100644 assets/images/community/shihai-logo.jpg create mode 100644 assets/images/community/yeahmobi-logo.png create mode 100644 assets/images/community/yunpan-logo.png create mode 100644 assets/images/rmq-customizable-feature.png create mode 100644 assets/images/rmq-free-feature.png create mode 100644 assets/images/rmq-home-page.jpg create mode 100644 assets/images/rmq-logo.png create mode 100644 assets/images/rmq-model.png create mode 100644 assets/images/rmq-responsive-feature.png create mode 100644 assets/js/_main.js create mode 100644 assets/js/main.min.js create mode 100644 assets/js/plugins/jquery.fitvids.js create mode 100644 assets/js/plugins/jquery.greedy-navigation.js create mode 100644 assets/js/plugins/jquery.magnific-popup.js create mode 100644 assets/js/plugins/jquery.smooth-scroll.min.js create mode 100644 assets/js/plugins/stickyfill.min.js create mode 100644 assets/js/vendor/jquery/jquery-1.12.4.min.js create mode 100644 favicon.ico create mode 100644 home.md create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..5c4866d719 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +*.gem +*.sublime-project +*.sublime-workspace +.bundle +.DS_Store +.jekyll-metadata +.sass-cache +_asset_bundler_cache +_site +codekit-config.json +example/_site +Gemfile.lock +node_modules +npm-debug.log* \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000000..1291498971 --- /dev/null +++ b/Gemfile @@ -0,0 +1,2 @@ +source "https://rubygems.org" +gemspec \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000000..23a6cd1dfd --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Michael Rose + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000..682cb3925c --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +This website is based on Jekyll and a Jekyll theme named Minimal Mistakes. + +## Prerequisite +1. Ruby +2. Gem + +## Install & Run +1. gem install jekyll bundler +2. git clone git@gitlab.alibaba-inc.com:middleware-incubator/rocketmq-sites.git +3. cd rocketmq-sites +4. bundle install +5. bundle exec jekyll serve + +## Questions + +### How to post articles to **Documentation**? +New a .md file in rocketmq-sites/_docs/, Jekyll will finish the rest of the work. + +Please refer to **01-quick-start-guide.md** for more details. + +### How to post articles to **Blog**? +New a .md file in rocketmq-sites/_posts/, Jekyll will finish the rest of the work. + +Please refer to **2013-01-05-markup-title-with-markup.md** for more details. + +### How to modify the navigation? +Please refer to **_data/navigation.yml** for more details. diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000000..e50d89f847 --- /dev/null +++ b/Rakefile @@ -0,0 +1,75 @@ +require "bundler/gem_tasks" +require "jekyll" +require "listen" + +def listen_ignore_paths(base, options) + [ + /_config\.ya?ml/, + /_site/, + /\.jekyll-metadata/ + ] +end + +def listen_handler(base, options) + site = Jekyll::Site.new(options) + Jekyll::Command.process_site(site) + proc do |modified, added, removed| + t = Time.now + c = modified + added + removed + n = c.length + relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s } + print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ") + begin + Jekyll::Command.process_site(site) + puts "regenerated in #{Time.now - t} seconds." + rescue => e + puts "error:" + Jekyll.logger.warn "Error:", e.message + Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information." + end + end +end + +task :preview do + base = Pathname.new('.').expand_path + options = { + "source" => base.join('test').to_s, + "destination" => base.join('test/_site').to_s, + "force_polling" => false, + "serving" => true, + "theme" => "minimal-mistakes-jekyll" + } + + options = Jekyll.configuration(options) + + ENV["LISTEN_GEM_DEBUGGING"] = "1" + listener = Listen.to( + base.join("_includes"), + base.join("_layouts"), + base.join("_sass"), + base.join("assets"), + options["source"], + :ignore => listen_ignore_paths(base, options), + :force_polling => options['force_polling'], + &(listen_handler(base, options)) + ) + + begin + listener.start + Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'" + + unless options['serving'] + trap("INT") do + listener.stop + puts " Halting auto-regeneration." + exit 0 + end + + loop { sleep 1000 } + end + rescue ThreadError + # You pressed Ctrl-C, oh my! + end + + Jekyll::Commands::Serve.process(options) +end diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000000..323ab7f36b --- /dev/null +++ b/_config.yml @@ -0,0 +1,309 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your entire site, values +# which you are expected to set up once and rarely need to edit after that. +# For technical reasons, this file is *NOT* reloaded automatically when you use +# `jekyll serve`. If you change this file, please restart the server process. + +# Site Settings +locale : "en" +title : "Apache RocketMQ" +title_separator : "-" +name : "Apache RocketMQ" +description : "The homepage of RocketMQ." +url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" +baseurl : # the subpath of your site, e.g. "/blog" +repository : "alibaba/RocketMQ/" +teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png" +# breadcrumbs : false # true, false (default) +words_per_minute : 200 +comments: + provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "custom" + disqus: + shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname- + discourse: + server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org + facebook: + # https://developers.facebook.com/docs/plugins/comments + appid : + num_posts : # 5 (default) + colorscheme : # "light" (default), "dark" +staticman: + allowedFields : ['name', 'email', 'url', 'message'] + branch : "master" + commitMessage : "New comment." + filename : comment-{@timestamp} + format : "yml" + moderation : true + path : "docs/_data/comments/{options.slug}" # "/_data/comments/{options.slug}" (default) + requiredFields : ['name', 'email', 'message'] + transforms: + email : "md5" + generatedFields: + date: + type : "date" + options: + format : "iso8601" # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds" +atom_feed: + path : # blank (default) uses feed.xml + +# SEO Related +google_site_verification : +bing_site_verification : +alexa_site_verification : +yandex_site_verification : + +# Social Sharing +twitter: + username : "ApacheRocketMQ" +facebook: + username : + app_id : + publisher : +og_image : # Open Graph/Twitter default site image +# For specifying social profiles +# - https://developers.google.com/structured-data/customize/social-profiles +social: + type : # Person or Organization (defaults to Person) + name : # If the user or organization name differs from the site's name + links: # An array of links to social media profiles + +# Analytics +analytics: + provider : false # false (default), "google", "google-universal", "custom" + google: + tracking_id : + + +# Site Author +author: + name : *name + avatar : "/assets/images/rmq-logo.png" + bio : "A fast, low latency, reliable, scalable, distributed MOM." + location : "Hangzhou, China" + email : "dev@rocketmq.incubator.apache.org" + uri : "http://incubator.staging.apache.org/projects/rocketmq.html" + bitbucket : + codepen : + dribbble : + flickr : + facebook : + foursquare : + github : "alibaba/RocketMQ/" + google_plus : + keybase : + instagram : + lastfm : + linkedin : + pinterest : + soundcloud : + stackoverflow : "http://stackoverflow.com/questions/tagged/rocketmq" + steam : + tumblr : + twitter : "ApacheRocketMQ" + vine : + weibo : + xing : + youtube : + quora : "topic/RocketMQ" + + +# Reading Files +include: + - .htaccess + - _pages + - _docs +exclude: + - "*.sublime-project" + - "*.sublime-workspace" + - vendor + - .asset-cache + - .bundle + - .jekyll-assets-cache + - .sass-cache + - assets/js/plugins + - assets/js/_main.js + - assets/js/vendor + - Capfile + - CHANGELOG + - config + - Gemfile + - Gruntfile.js + - gulpfile.js + - LICENSE + - log + - node_modules + - package.json + - Rakefile + - README + - tmp + - /test # ignore Minimal Mistakes /test + - /docs +keep_files: + - .git + - .svn +encoding: "utf-8" +markdown_ext: "markdown,mkdown,mkdn,mkd,md" + + +# Conversion +markdown: kramdown +highlighter: rouge +lsi: false +excerpt_separator: "\n\n" +incremental: false + + +# Markdown Processing +kramdown: + input: GFM + hard_wrap: false + auto_ids: true + footnote_nr: 1 + entity_output: as_char + toc_levels: 1..6 + smart_quotes: lsquo,rsquo,ldquo,rdquo + enable_coderay: false + + +# Sass/SCSS +sass: + sass_dir: _sass + style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style + + +# Outputting +permalink: /:categories/:title/ +# paginate: 5 # amount of posts to show +# paginate_path: /page:num/ +timezone: # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones + + +# Plugins +gems: + - jekyll-paginate + - jekyll-sitemap + - jekyll-gist + - jekyll-feed + - jemoji + +# mimic GitHub Pages with --safe +whitelist: + - jekyll-paginate + - jekyll-sitemap + - jekyll-gist + - jekyll-feed + - jemoji + + +# Archives +# Type +# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default) +# - Jekyll Archives plugin archive pages ~> type: jekyll-archives +# Path (examples) +# - Archive page should exist at path when using Liquid method or you can +# expect broken links (especially with breadcrumbs enabled) +# - /tags/my-awesome-tag/index.html ~> path: /tags/ +# - path: /categories/ +# - path: / +category_archive: + type: liquid + path: /categories/ +tag_archive: + type: liquid + path: /tags/ +# https://github.com/jekyll/jekyll-archives +# jekyll-archives: +# enabled: +# - categories +# - tags +# layouts: +# category: archive-taxonomy +# tag: archive-taxonomy +# permalinks: +# category: /categories/:name/ +# tag: /tags/:name/ + + +# HTML Compression +# - http://jch.penibelst.de/ +compress_html: + clippings: all + ignore: + envs: development + +# Collections +collections: + docs: + output: true + permalink: /:collection/:path/ + recipes: + output: true + permalink: /:collection/:path/ + pets: + output: true + permalink: /:collection/:path/ + portfolio: + output: true + permalink: /:collection/:path/ + + +# Defaults +defaults: + # _posts + - scope: + path: "" + type: posts + values: + layout: single + author_profile: true + read_time: true + comments: true + share: true + related: true + # _pages + - scope: + path: "" + type: pages + values: + layout: single + author_profile: true + # _docs + - scope: + path: "" + type: docs + values: + layout: single + read_time: false + author_profile: false + share: false + comments: false + sidebar: + nav: "docs" + # _recipes + - scope: + path: "" + type: recipes + values: + layout: single + author_profile: true + share: true + comments: true + # _pets + - scope: + path: "" + type: pets + values: + layout: single + author_profile: true + share: true + comment: true + # _portfolio + - scope: + path: "" + type: portfolio + values: + layout: single + author_profile: false + share: true + diff --git a/_data/navigation.yml b/_data/navigation.yml new file mode 100644 index 0000000000..8cfc688c7e --- /dev/null +++ b/_data/navigation.yml @@ -0,0 +1,55 @@ +# main links +main: + - title: "Documentation" + url: /docs/quick-start/ + - title: "Blog" + url: /year-archive/ + - title: "Community" + url: /community/ + - title: "About" + url: /about/ + # - title: "Sample Collections" + # url: /collection-archive/ + # - title: "Sitemap" + # url: /sitemap/ + +# documentation links +docs: + - title: User Guide + children: + - title: "Quick Start" + url: /docs/quick-start/ + - title: "Motivation" + url: /docs/motivation/ + - title: "Core Concept" + url: /docs/core-concept/ + - title: "CLI Admin Tool" + url: /docs/cli-admin-tool/ + - title: "Cluster Configuration & Deployment" + url: /docs/cluster-deployment/ + - title: Developer Guide + children: + - title: "Architecture & Design" + url: /docs/motivation/ + - title: "Communication Protocol" + url: /docs/motivation/ + - title: "Persistence" + url: /docs/core-concept/ + - title: "Replication" + url: /docs/cli-admin-tool/ + - title: "Service Discovery & Load Balance" + url: /docs/cluster-deployment/ + - title: "Message Filter" + url: /docs/cluster-deployment/ + - title: Best Practice + children: + - title: "Broker" + url: /docs/motivation/ + - title: "Producer" + url: /docs/motivation/ + - title: "Consumer" + url: /docs/core-concept/ + - title: "Virtualization" + url: /docs/cli-admin-tool/ + - title: "Frequently Asked Questions" + url: /docs/cluster-deployment/ \ No newline at end of file diff --git a/_data/ui-text.yml b/_data/ui-text.yml new file mode 100644 index 0000000000..582a48d5ba --- /dev/null +++ b/_data/ui-text.yml @@ -0,0 +1,416 @@ +# User interface text and labels + +# English (default) +# ----------------- +en: &DEFAULT_EN + page : "Page" + pagination_previous : "Previous" + pagination_next : "Next" + breadcrumb_home_label : "Home" + breadcrumb_separator : "/" + menu_label : "Toggle Menu" + toc_label : "On This Page" + ext_link_label : "Direct Link" + less_than : "less than" + minute_read : "minute read" + share_on_label : "Share on" + meta_label : + tags_label : "Tags:" + categories_label : "Categories:" + date_label : "Updated:" + comments_label : "Leave a Comment" + comments_title : "Comments" + more_label : "Learn More" + related_label : "You May Also Enjoy" + follow_label : "Follow:" + feed_label : "Feed" + powered_by : "Powered by" + website_label : "Website" + email_label : "Email" + recent_posts : "Recent Posts" + undefined_wpm : "Undefined parameter words_per_minute at _config.yml" + comment_form_info : "Your email address will not be published. Required fields are marked" + comment_form_comment_label : "Comment" + comment_form_md_info : "Markdown is supported." + comment_form_name_label : "Name" + comment_form_email_label : "Email address" + comment_form_website_label : "Website (optional)" + comment_btn_submit : "Submit Comment" + comment_btn_submitted : "Submitted" + comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved." + comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." + loading_label : "Loading..." +en-US: + <<: *DEFAULT_EN +en-CA: + <<: *DEFAULT_EN +en-GB: + <<: *DEFAULT_EN +en-AU: + <<: *DEFAULT_EN + +# Spanish +# -------------- +es: &DEFAULT_ES + page : "Página" + pagination_previous : "Anterior" + pagination_next : "Siguiente" + breadcrumb_home_label : "Inicio" + breadcrumb_separator : "/" + menu_label : + toc_label : "Contenidos" + ext_link_label : "Enlace" + less_than : "menos de" + minute_read : "minuto de lectura" + share_on_label : "Compartir" + meta_label : + tags_label : "Etiquetas:" + categories_label : "Categorías:" + date_label : "Actualizado:" + comments_label : "Comentar" + comments_title : + more_label : "Ver más" + related_label : "Podrías ver también" + follow_label : "Seguir:" + feed_label : "Feed" + powered_by : "Powered by" + website_label : "Sitio web" + email_label : "Email" + recent_posts : "Entradas recientes" + undefined_wpm : "Parametro words_per_minute (Palabras por minuto) no definido en _config.yml" + comment_form_info : + comment_form_comment_label : + comment_form_md_info : + comment_form_name_label : + comment_form_email_label : + comment_form_website_label : + comment_btn_submit : + comment_btn_submitted : + comment_success_msg : + comment_error_msg : + loading_label : +es-ES: + <<: *DEFAULT_ES +es-CO: + <<: *DEFAULT_ES + +# French +# ----------------- +fr: &DEFAULT_FR + page : "Page" + pagination_previous : "Précédent" + pagination_next : "Suivant" + breadcrumb_home_label : "Accueil" + breadcrumb_separator : "/" + menu_label : + toc_label : "Sur cette page" + ext_link_label : "Lien direct" + less_than : "moins de" + minute_read : "minute de lecture" + share_on_label : "Partager sur" + meta_label : + tags_label : "Tags :" + categories_label : "Catégories :" + date_label : "Mis à jour :" + comments_label : "Laisser un commentaire" + comments_title : + more_label : "Lire plus" + related_label : "Vous pourriez aimer aussi" + follow_label : "Contact" + feed_label : "Flux" + powered_by : "Propulsé par" + website_label : "Site" + email_label : "Email" + recent_posts : "Posts récents" + undefined_wpm : "Le paramètre words_per_minute n'est pas défini dans _config.yml" + comments_title : "Commentaires" + comment_form_info : "Votre adresse email ne sera pas visible. Les champs obligatoires sont marqués" + comment_form_comment_label : "Commentaire" + comment_form_md_info : "Markdown est supporté." + comment_form_name_label : "Nom" + comment_form_email_label : "Adresse mail" + comment_form_website_label : "Site web (optionnel)" + comment_btn_submit : "Envoyer" + comment_btn_submitted : "Envoyé" + comment_success_msg : "Merci pour votre commentaire, il sera visible sur le site une fois approuvé." + comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez." + loading_label : "Chargement..." +fr-FR: + <<: *DEFAULT_FR +fr-BE: + <<: *DEFAULT_FR +fr-CH: + <<: *DEFAULT_FR + +# Turkish +# ----------------- +tr: &DEFAULT_TR + page : "Sayfa" + pagination_previous : "Önceki" + pagination_next : "Sonraki" + breadcrumb_home_label : "Ana Sayfa" + breadcrumb_separator : "/" + menu_label : + toc_label : "İçindekiler" + ext_link_label : "Doğrudan Bağlantı" + less_than : "Şu süreden az: " + minute_read : "dakika tahmini okuma süresi" + share_on_label : "Paylaş" + meta_label : + tags_label : "Etiketler:" + categories_label : "Kategoriler:" + date_label : "Güncelleme tarihi:" + comments_label : "Yorum yapın" + comments_title : "Yorumlar" + more_label : "Daha fazlasını öğrenin" + related_label : "Bunlar ilginizi çekebilir:" + follow_label : "Takip et:" + feed_label : "RSS" + powered_by : "Emeği geçenler: " + website_label : "Web sayfası" + email_label : "E-posta" + recent_posts : "Son yazılar" + undefined_wpm : "_config.yml dosyasında tanımlanmamış words_per_minute parametresi" + comment_form_info : "Email adresiniz gösterilmeyecektir. Zorunlu alanlar işaretlenmiştir" + comment_form_comment_label : "Yorumunuz" + comment_form_md_info : "Markdown desteklenmektedir." + comment_form_name_label : "Adınız" + comment_form_email_label : "Email adresiniz" + comment_form_website_label : "Websiteniz (opsiyonel)" + comment_btn_submit : "Yorum Yap" + comment_btn_submitted : "Gönderildi" + comment_success_msg : "Yorumunuz için teşekkürler! Yorumunuz onaylandıktan sonra sitede gösterilecektir." + comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin." + loading_label : "Yükleniyor..." +tr-TR: + <<: *DEFAULT_TR + +# Portuguese +# ----------------- +pt: &DEFAULT_PT + page : "Página" + pagination_previous : "Anterior" + pagination_next : "Seguinte" + breadcrumb_home_label : "Início" + breadcrumb_separator : "/" + menu_label : + toc_label : "Nesta Página" + ext_link_label : "Link Direto" + less_than : "menos de" + minute_read : "minutos de leitura" + share_on_label : "Partilhar no" + meta_label : + tags_label : "Etiquetas:" + categories_label : "Categorias:" + date_label : "Atualizado:" + comments_label : "Deixe um Comentário" + comments_title : "Comentários" + more_label : "Saber mais" + related_label : "Também pode gostar de" + follow_label : "Siga:" + feed_label : "Feed" + powered_by : "Feito com" + website_label : "Site" + email_label : "Email" + recent_posts : "Artigos Recentes" + undefined_wpm : "Parâmetro words_per_minute não definido em _config.yml" + comment_form_info : "O seu endereço email não será publicado. Os campos obrigatórios estão assinalados" + comment_form_comment_label : "Comentário" + comment_form_md_info : "Markdown é suportado." + comment_form_name_label : "Nome" + comment_form_email_label : "Endereço Email" + comment_form_website_label : "Site (opcional)" + comment_btn_submit : "Sumbeter Comentário" + comment_btn_submitted : "Submetido" + comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado." + comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente." + loading_label : "A carregar..." +# Brazilian Portuguese +pt-BR: + page : "Página" + pagination_previous : "Anterior" + pagination_next : "Próxima" + breadcrumb_home_label : "Home" + breadcrumb_separator : "/" + menu_label : + toc_label : "Nesta página" + ext_link_label : "Link direto" + less_than : "meno que" + minute_read : "minutos de leitura" + share_on_label : "Compartilhe em" + meta_label : + tags_label : "Tags:" + categories_label : "Categorias:" + date_label : "Atualizado em:" + comments_label : "Deixe um comentário" + comments_title : + more_label : "Aprenda Mais" + related_label : "Você Talvez Goste Também" + follow_label : "Acompanhe em" + feed_label : "Feed" + powered_by : "Feito com" + website_label : "Site" + email_label : "Email" + recent_posts : "Postagens recentes" + undefined_wpm : "Parâmetro indefinido em word_per_minute no _config.yml" + comment_form_info : + comment_form_comment_label : + comment_form_md_info : + comment_form_name_label : + comment_form_email_label : + comment_form_website_label : + comment_btn_submit : + comment_btn_submitted : + comment_success_msg : + comment_error_msg : + loading_label : +pt-PT: + <<: *DEFAULT_PT + +# Italian +# ----------------- +it: &DEFAULT_IT + page : "Pagina" + pagination_previous : "Precedente" + pagination_next : "Prossima" + breadcrumb_home_label : "Home" + breadcrumb_separator : "/" + menu_label : + toc_label : "Indice della pagina" + ext_link_label : "Link" + less_than : "meno di" + minute_read : "minuto/i di lettura" + share_on_label : "Condividi" + meta_label : + tags_label : "Tags:" + categories_label : "Categorie:" + date_label : "Aggiornato:" + comments_label : "Scrivi un commento" + comments_title : + more_label : "Scopri di più" + related_label : "Potrebbe Piacerti Anche" + follow_label : "Segui:" + feed_label : "Feed" + powered_by : "Powered by" + website_label : "Website" + email_label : "Email" + recent_posts : "Articoli Recenti" + undefined_wpm : "Parametro words_per_minute non definito in _config.yml" + comment_form_info : "Il tuo indirizzo email non sarà pubblicato. Sono segnati i campi obbligatori" + comment_form_comment_label : "Commenta" + comment_form_md_info : "Il linguaggio Markdown è supportato" + comment_form_name_label : "Nome" + comment_form_email_label : "Indirizzo email" + comment_form_website_label : "Sito Web (opzionale)" + comment_btn_submit : "Invia commento" + comment_btn_submitted : "Inviato" + comment_success_msg : "Grazie per il tuo commento! Verrà visualizzato nel sito una volta che sarà approvato." + comment_error_msg : "C'è stato un errore con il tuo invio. Assicurati che tutti i campi richiesti siano stati completati e riprova." + loading_label : "Caricamento..." +it-IT: + <<: *DEFAULT_IT + +# Chinese (zh-CN Chinese - China) +# ----------------- +zh: &DEFAULT_ZH + page : "页面" + pagination_previous : "向前" + pagination_next : "向后" + breadcrumb_home_label : "首页" + breadcrumb_separator : "/" + menu_label : + toc_label : "在本页上" + ext_link_label : "直接链接" + less_than : "少于" + minute_read : "分钟 阅读" + share_on_label : "分享" + meta_label : + tags_label : "标签:" + categories_label : "分类:" + date_label : "最新的:" + comments_label : "留下评论" + comments_title : "评论" + more_label : "了解更多" + related_label : "猜您还喜欢" + follow_label : "关注:" + feed_label : "Feed" + powered_by : "Powered by" + website_label : "网站" + email_label : "Email" + recent_posts : "最新文章" + undefined_wpm : "Undefined parameter words_per_minute at _config.yml" + comment_form_info : "Your email address will not be published. Required fields are marked" + comment_form_comment_label : "Comment" + comment_form_md_info : "Markdown is supported." + comment_form_name_label : "Name" + comment_form_email_label : "Email address" + comment_form_website_label : "Website (optional)" + comment_btn_submit : "Submit Comment" + comment_btn_submitted : "Submitted" + comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved." + comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." + loading_label : "Loading..." +zh-CN: + <<: *DEFAULT_ZH +zh-HK: + <<: *DEFAULT_ZH +zh-SG: + <<: *DEFAULT_ZH +zh-TW: + <<: *DEFAULT_ZH + +# German / Deutsch +# ----------------- +de: &DEFAULT_DE + page : "Seite" + pagination_previous : "Vorherige" + pagination_next : "Nächste" + breadcrumb_home_label : "Home" + breadcrumb_separator : "/" + menu_label : + toc_label : "Auf dieser Seite" + ext_link_label : "Direkter Link" + less_than : "weniger als" + minute_read : "Minuten zum lesen" + share_on_label : "Teilen auf" + meta_label : + tags_label : "Tags:" + categories_label : "Kategorien:" + date_label : "Aktualisiert:" + comments_label : "Hinterlassen sie einen Kommentar" + comments_title : "Kommentare" + more_label : "Mehr anzeigen" + related_label : "Ihnen gefällt vielleicht auch" + follow_label : "Folgen:" + feed_label : "Feed" + powered_by : "Powered by" + website_label : "Webseite" + email_label : "E-Mail" + recent_posts : "Aktuelle Beiträge" + undefined_wpm : "Undefinierter Parameter words_per_minute in _config.yml" + comment_form_info : "Ihre E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert" + comment_form_comment_label : "Kommentar" + comment_form_md_info : "Markdown wird unterstützt." + comment_form_name_label : "Name" + comment_form_email_label : "E-Mail Addresse" + comment_form_website_label : "Webseite (optional)" + comment_btn_submit : "Kommentar absenden" + comment_btn_submitted : "Versendet" + comment_success_msg : "Danke für ihren Kommentar! Er wird auf der Seite angezeigt, nachdem er geprüft wurde." + comment_error_msg : "Entschuldigung, es gab einen Fehler. Bitte füllen sie alle benötigten Felder aus und versuchen sie es erneut." + loading_label : "Lade..." +de-DE: + <<: *DEFAULT_DE +de-AT: + <<: *DEFAULT_DE +de-CH: + <<: *DEFAULT_DE +de-BE: + <<: *DEFAULT_DE +de-LI: + <<: *DEFAULT_DE +de-LU: + <<: *DEFAULT_DE + +# Another locale +# -------------- diff --git a/_docs/01-quick-start-guide.md b/_docs/01-quick-start-guide.md new file mode 100644 index 0000000000..86daaf2da7 --- /dev/null +++ b/_docs/01-quick-start-guide.md @@ -0,0 +1,130 @@ +--- +title: "Quick Start" +permalink: /docs/quick-start/ +excerpt: "How to quickly install and setup Apache RocketMQ." +modified: 2016-12-16T15:01:43-04:00 +--- + +This quick start guide is to give detailed instructions, helping you setup RocketMQ messaging system on a single local machine and send/receive the very first message. + +{% include toc %} + +# Prerequisite + + The following softwares are assumed installed: + 1. 64bit OS, best to have Linux/Unix/Mac; + 1. 64bit JDK 1.7+; + 1. Maven 3.2.x + 1. Git + +# Clone & Build + +```shell + > git clone https://github.com/alibaba/RocketMQ.git + > cd RocketMQ + > sh install.sh + > cd devenv +``` + + +# Start Name Server +```shell + > nohup sh bin/mqnamesrv & + > tail -f ~/logs/rocketmqlogs/namesrv.log + The Name Server boot success... +``` + +# Start Broker +```shell + > nohup sh bin/mqbroker -n localhost:9876 & + > tail -f ~/logs/rocketmqlogs/broker.log + The broker[%s, 172.30.30.233:10911] boot success... +``` + you may need to pay attention to the broker ip, for that the broker will not use the loopback network interface, So you should make sure you have connected to other network. + + +# Send & Receive Messages + +Before sending/receiving messages, we need to tell clients where name servers are located. RocketMQ provides multiple ways to achieve this. For simplicity, we use environment variable `NAMESRV_ADDR` + +```shell + > export NAMESRV_ADDR=localhost:9876 + > sh bin/tools.sh com.alibaba.rocketmq.example.quickstart.Producer + SendResult [sendStatus=SEND_OK, msgId= ... + + > sh bin/tools.sh com.alibaba.rocketmq.example.quickstart.Consumer + ConsumeMessageThread_%d Receive New Messages: [MessageExt... +``` + +# Code Example + +## prepare +``` + + com.alibaba.rocketmq + rocketmq-client + 3.5.8 + +``` + +## Producer + +```java +import com.alibaba.rocketmq.client.exception.MQClientException; +import com.alibaba.rocketmq.client.producer.DefaultMQProducer; +import com.alibaba.rocketmq.client.producer.SendResult; +import com.alibaba.rocketmq.common.message.Message; +import com.alibaba.rocketmq.remoting.common.RemotingHelper; +public class Producer { + public static void main(String[] args) throws MQClientException, InterruptedException { + DefaultMQProducer producer = new DefaultMQProducer("YOUR_PRODUCER_GROUP"); // (1) + producer.setNamesrvAddr("localhost:9876"); //(2) set name server explicitly + producer.start(); // (3) + for (int i = 0; i < 1000; i++) { + try { + Message msg = new Message("TopicTest",// topic // (4) + "TagA",// tag (5) + ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET)// body (6) + ); + SendResult sendResult = producer.send(msg); // (7) + System.out.println(sendResult); + } catch (Exception e) { + e.printStackTrace(); + Thread.sleep(1000); + } + } + producer.shutdown(); + } +} +``` + +## Consumer + +```java +import com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer; +import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import com.alibaba.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import com.alibaba.rocketmq.client.exception.MQClientException; +import com.alibaba.rocketmq.common.consumer.ConsumeFromWhere; +import com.alibaba.rocketmq.common.message.MessageExt; +import java.util.List; + +public class Consumer { + public static void main(String[] args) throws InterruptedException, MQClientException { + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("YOUR_CONSUMER_GROUP"); // (1) + consumer.setNamesrvAddr("localhost:9876"); // (2) + consumer.subscribe("TopicTest"/*topic*/, "*"/*tag,* means all tags*/); // (3) + consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); // (4) + consumer.registerMessageListener(new MessageListenerConcurrently() { + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + System.out.println(Thread.currentThread().getName() + " Receive New Messages: " + msgs); + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + }); //(5) + consumer.start(); //(6) + System.out.println("Consumer Started."); + } +} +``` diff --git a/_docs/02-motivation.md b/_docs/02-motivation.md new file mode 100644 index 0000000000..563579664a --- /dev/null +++ b/_docs/02-motivation.md @@ -0,0 +1,28 @@ +--- +title: "Motivation" +permalink: /docs/motivation/ +modified: 2016-12-16T15:01:43-04:00 +--- + +In the early stages, we constructed our distributed messaging middleware on the basis of ActiveMQ 5.x(less than 5.3). Our international business uses it for async communication, search, social network activity stream, data pipeline, even in our trade order process. As our trade business throughput rises more and more inconceivably, pressure originating from our messaging cluster also become more and more obvious. + +{% include toc %} + +# Why RocketMQ ? + +Based on our observations and research, with more and more queues and virtual topics in use, ActiveMQ IO module becomes a bottleneck. In some cases, slower consumers can slow down the producers. We tried our best efforts to handle this problems through throttling, circuit breaker or degradation, but it cannot scale out gracefully. So we begin to focus on the popular messaging solution Kafka at that time. Unfortunately, Kafka can not meet our requirements such as low latency and high reliability, see [here](https://github.com/alibaba/RocketMQ/wiki/how_to_support_more_queues) for details. + +In this context, we decided to innovate a new messaging middleware to handle a broad set of use cases, ranging from traditional publish/subscribe scenario to demandingly high volume realtime transaction system that tolerates no message loss. We also created a cornerstone product based on RocketMQ, a Platform as a Service (PaaS) product named the +[Alibaba Cloud Platform](https://intl.aliyun.com/). Today, more than 100 companies are using the RocketMQ open source version in their business solutions. We believe RocketMQ can benefit more people, so we would like to share it around the world. + + +The following are some different design between RocketMQ, ActiveMQ and Kafka(They are the apache's most popular messaging solutions according to [awesome-java](https://github.com/akullpp/awesome-java)): + +# RocketMQ vs. ActiveMQ vs. Kafka + + +| Messaging Product|Client SDK| Protocol and Specification | Order Message |Message Filter|Server Triggered Redelivery|Persistent Message|Retroactive Consumers|Message Priority|High Availability and Failover|Message Track|Configuration|Management and Operation Tools| +| -------|--------|--------|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| +| ActiveMQ|Java, .NET, C++ etc. |Push model, support OpenWire, STOMP, AMQP, MQTT, JMS|Exclusive Consumer or Exclusive Queues can ensure ordering|Supported|Not Supported|Supports very fast persistence using JDBC along with a high performance journal,such as levelDB, kahaDB|Supported|Supported|Supported, depending on storage,if using kahadb it requires a ZooKeeper server|Not Supported|The default configuration is low level, user need to optimize the configuration parameters|Supported| +| Kafka | Java, Scala etc.|Pull model, support TCP|Ensure ordering of messages within a partition|Supported, you can use Kafka Streams to filter messages|Not Supported|High performance file storage|Supported offset indicate|Not Supported|Supported, requires a ZooKeeper server|Not Supported|Kafka uses key-value pairs format for configuration. These values can be supplied either from a file or programmatically.|Supported, use terminal command to expose core metrics| +| RocketMQ |Java, .NET, C++ |Pull model, support TCP, JMS|Ensure strict ordering of messages, have no hot spot problem,and can scale out gracefully|Supported, you can even upload yourself custom-built filter code snippets|Supported|High performance and low latency file storage|Supported timestamp and offset 2 indicates|Not Supported|Supported, Master-Slave model, without another kit|Supported|Work out of box,user only need to pay attention to a few configurations|Supported, rich web and terminal command to expose core metrics| \ No newline at end of file diff --git a/_docs/03-core-concept.md b/_docs/03-core-concept.md new file mode 100644 index 0000000000..06d4addda4 --- /dev/null +++ b/_docs/03-core-concept.md @@ -0,0 +1,95 @@ +--- +title: "Core Concept" +permalink: /docs/core-concept/ +modified: 2016-12-16T15:01:43-04:00 +--- + +![RocketMQ model](/assets/images/rmq-model.png) + +From the above model, we can look deeper into some topics about messaging system design: + +{% include toc %} + +* Consumer Concurrency +* Consumer Hot Issues +* Consumer Load Balance +* Message Router +* Connection Multiplex +* Canary Deployments + +# Producer + +A producer sends messages generated by the business application systems to brokers. RocketMQ provides multiple paradigms of sending: synchronous, asynchronous and one-way. + +## Producer Group + +Producers of the same role are grouped together. A different producer instance of the same producer group may be contacted by a broker to commit or roll back a transaction in case the original producer crashed after starting the transaction. + +**Warning**: Considering the provided producer is sufficiently powerful at sending messages, only one instance is allowed per producer group and process to avoid unnecessarily initializing of producer instances. + +# Consumer + +A Consumer pulls messages from brokers and feeds them into application. In perspective of user application, two types of consumers are provided: + +## PullConsumer + + Pull consumer actively pulls messages from brokers. Once batches of messages are pulled, user application initiates consuming process. + +## PushConsumer + + Push consumer, on the other hand, encapsulates message pulling, consuming progress maintaining and other effortful work inside, leaving a callback interface to end user to implement which will be executed on message arrival. + +## Consumer Group + +Similar to previously mentioned producer group, consumers of the exactly same role are grouped together and named **Consumer Group**. + +Consumer Group is a great concept with which achieving goals of load-balance and fault-tolerance, in terms of message consuming, is super easy. + +**Warning**: consumer instances of a consumer group **must** have exactly same topic subscription(s). + +# Topic + +Topic is a category to which producers deliver messages and from which consumers pull messages. Topics have very loose relation with producers and consumers. Specifically, a topic may have zero, one or multiple producers that sends messages to it; conversely, a producer can sends messages of different topics. In consumer's view, a topic may be subscribed by zero, one or multiple consumer groups; and a consumer group, in the same paradigm, may subscribe one or multiple topics as long as instances of this group keep their subscription consistent as emphasized in the previous section. + +# Message + +Message is the envelope of your information to deliver. A message must be specified with a topic, which can be interpreted as address of your letter to mail to. A message may also have an optional tag set. Extra key-value pairs may also be included. For example, you may set a business key for your message and look up the message on broker server to diagnose issues during development. + +## Message Queue + +Topic, internally, is logically partitioned into one or more sub-topics. We call these sub-topics "message queues". This concept plays a major role in implementing valuable features, including fail-over, maximum concurrency, etc. + +## Tag + +Tag, which can be thought as sub-topic, provides an extra flexibility for user. Through introducing tag, messages with different purposes from the same business module may have the same topic yet different tag. It would be helpful to keep your code clean and coherent. + +## Broker + +Broker is the major role of the RocketMQ system. It receives messages sent from producers, store them and being prepared to serve pull requests from consumers. It also stores message consuming related meta data, including consumer groups, consuming progress offsets and topic / queue info. + +# Name Server + +Name server serves as the routing information provider. Producer/Consumer clients look up topics to find broker list to read from and write to. + +# Message Model + +* Clustering + +* Broadcasting + +# Message Order + +When DefaultMQPushConsumer is employed, you may decide to consume messages orderly or concurrently. + +* Orderly + +Consuming messages orderly means messages are consumed the same order they are sent by producers for each message queue. If you are dealing with scenario that global order is mandatory, make sure the topic you use has only one message queue. + +**Warn**: If consuming orderly is specified, the maximum concurrency of message consuming is the number of message queues subscribed by the consumer group. + +* Concurrently + +When consuming concurrently, maximum concurrency of message consuming is only limited by thread pool specified for each consumer client. + +**Warn**: Message order is no longer guaranteed in this mode. + diff --git a/_docs/04-cli-admin-tool.md b/_docs/04-cli-admin-tool.md new file mode 100644 index 0000000000..f60f377677 --- /dev/null +++ b/_docs/04-cli-admin-tool.md @@ -0,0 +1,83 @@ +--- +title: "CLI Admin Tool" +permalink: /docs/cli-admin-tool/ +modified: 2016-12-16T15:01:43-04:00 +--- + +RocketMQ provides a CLI admin tool belt to query, manage and diagnose various issues. + +{% include toc %} + +# Prerequisite + +Make sure you have walked through [Quick Start](/docs/quick-start/) and [Core Concept](/docs/core-concept/) sections. + + +# How To Get it + +The admin tool is shipped along with RocketMQ. Either you download a pre-built binary version or build from source by yourself, you already have it. + +In case you have source code, the [rocketmq-tools module](https://github.com/alibaba/RocketMQ/tree/master/rocketmq-tools) contains its source code. + +# How to use + +The Admin Tool is very easy to use. Here, for demonstration purpose, *nix environment is assumed. + +Change directory to ${PACKAGE}/bin, command `bash mqadmin`, you should see the following help menu pops out. + + The most commonly used mqadmin commands are: + updateTopic Update or create topic + deleteTopic Delete topic from broker and NameServer. + updateSubGroup Update or create subscription group + deleteSubGroup Delete subscription group from broker. + updateBrokerConfig Update broker's config + updateTopicPerm Update topic perm + topicRoute Examine topic route info + topicStatus Examine topic Status info + topicClusterList get cluster info for topic + brokerStatus Fetch broker runtime status data + queryMsgById Query Message by Id + queryMsgByKey Query Message by Key + queryMsgByUniqueKey Query Message by Unique key + queryMsgByOffset Query Message by offset + queryMsgByUniqueKey Query Message by Unique key + printMsg Print Message Detail + sendMsgStatus send msg to broker. + brokerConsumeStats Fetch broker consume stats data + producerConnection Query producer's socket connection and client version + consumerConnection Query consumer's socket connection, client version and subscription + consumerProgress Query consumers's progress, speed + consumerStatus Query consumer's internal data structure + cloneGroupOffset clone offset from other group. + clusterList List all of clusters + topicList Fetch all topic list from name server + updateKvConfig Create or update KV config. + deleteKvConfig Delete KV config. + wipeWritePerm Wipe write perm of broker in all name server + resetOffsetByTime Reset consumer offset by timestamp(without client restart). + updateOrderConf Create or update or delete order conf + cleanExpiredCQ Clean expired ConsumeQueue on broker. + cleanUnusedTopic Clean unused topic on broker. + startMonitoring Start Monitoring + statsAll Topic and Consumer tps stats + syncDocs Synchronize wiki and issue to github.com + allocateMQ Allocate MQ + checkMsgSendRT check message send response time + clusterRT List All clusters Message Send RT + + See 'mqadmin help ' for more information on a specific command. + + +As you see, the most commonly used commands are listed with a brief description. To get detailed manual of each command, `bash mqadmin help `. For example, command `bash mqadmin help clusterList` will bring out the following help text: + + usage: mqadmin clusterList [-h] [-i ] [-m] [-n ] + -h,--help Print help + -i,--interval specify intervals numbers, it is in seconds + -m,--moreStats Print more stats + -n,--namesrvAddr Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876 + + +The help text lists possible options and interpretation of each option. + + +# Command Manual \ No newline at end of file diff --git a/_docs/05-cluster-deployment.md b/_docs/05-cluster-deployment.md new file mode 100644 index 0000000000..7874f89c82 --- /dev/null +++ b/_docs/05-cluster-deployment.md @@ -0,0 +1,76 @@ +--- +title: "Cluster Configuration and Deployment" +permalink: /docs/cluster-deployment/ +modified: 2016-12-16T15:01:43-04:00 +--- + +# Prerequisite + +Before starting this section, make sure you have read Quick Start section, in which core concepts and components of RocketMQ are introduced. + +{% include toc %} + +# Introduction + +This section is to introduce deployment solution that may be considered production ready. Generally speaking, we are deploying a resilient RocketMQ cluster having no single point of failure. + +# Name Server + +To ensure the cluster can still operate normally when name server instance crashes, two or more name server instances are recommended. As long as there is one name server instance alive, the whole cluster remains serving. + +Name server follows share-nothing design paradigm. Brokers send heartbeat data to all name servers. Producers and consumers may query meta data from any one of name servers available while sending / consuming messages. + +# Broker + +Brokers can be divided into two categories according to their roles: master and slave. Master brokers can read and write while slave brokers can only read messages replicated from master. Master brokers have brokerId=0; brokerId of slave is non-zero. + +Brokers may also be grouped by the brokerName property. Slave brokers find their master through brokerName. One master broker along with zero, one or multiple slave brokers is called a broker set. + +In serious scenarios, we should have at least two broker sets. Each topic, as you guess, resides in two or more broker sets. + + +# Disk Flush Type: SYNC_FLUSH / ASYNC_FLUSH + +Each broker can be configured to be sync or async in terms of IO flushing strategy. To put it simply, if your business tolerates none message loss at extreme scenarios like OS crash or power loss, SYNC_FLUSH mode is recommended. Broker of SYNC_FLUSH mode would flush each message it receives onto disk before acknowledging producer. Obviously, throughout of this mode is highly dependent on IOPS of your hard disk. + +Broker of ASYNC_FLUSH mode, on the other hand, takes advantage of group-committing: only flushes dirty page caches to disk periodically or when count of dirty page caches reaches certain amount. Hence, the latter yields better performance. + +# Replication: Sync / Async Broker + +Similar to many replication system, sync brokers await until commit log is replicated to a slave before acknowledging. Async brokers, instead, return immediately after messages are processed on master. + +# Configuration + +There are three pre-built configurations shipped with the distribution of RocketMQ under conf folder for your reference: + +1. 2m-2s-sync +1. 2m-2s-async +1. 2m-noslave + +Note: all configurations uses ASYNC_FLUSH. + +# Deployment Example + +For example, We want to have a cluster with 2 name servers, 2 broker sets with general purpose: +for this example, we choose `2m-2s-sync` +Assuming binary RocketMQ is at `/home/rocketmq/dist` + +1. Start up two name servers as is shown in Quick Start guide. Assume their IPs are 192.168.0.2 and 192.168.0.3. + +2. Start brokers + + `cd /home/rocketmq/dist/bin` + + `bash mqbroker -c ../conf/2m-2s-sync/broker-a.properties -n 192.168.0.2:9876,192.168.0.3:9876` + + `bash mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties -n 192.168.0.2:9876,192.168.0.3:9876` + + `bash mqbroker -c ../conf/2m-2s-sync/broker-b.properties -n 192.168.0.2:9876,192.168.0.3:9876` + + `bash mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties -n 192.168.0.2:9876,192.168.0.3:9876` + +3. Verify + + Execute the following command to verify + + `bash mqadmin clusterList` diff --git a/_includes/analytics-providers/custom.html b/_includes/analytics-providers/custom.html new file mode 100644 index 0000000000..c34b97ad90 --- /dev/null +++ b/_includes/analytics-providers/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/_includes/analytics-providers/google-universal.html b/_includes/analytics-providers/google-universal.html new file mode 100644 index 0000000000..3ada6e36ca --- /dev/null +++ b/_includes/analytics-providers/google-universal.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/_includes/analytics-providers/google.html b/_includes/analytics-providers/google.html new file mode 100644 index 0000000000..b591b99543 --- /dev/null +++ b/_includes/analytics-providers/google.html @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/_includes/analytics.html b/_includes/analytics.html new file mode 100644 index 0000000000..64a3359aad --- /dev/null +++ b/_includes/analytics.html @@ -0,0 +1,12 @@ +{% if site.analytics.provider and page.analytics != false %} + +{% case site.analytics.provider %} +{% when "google" %} + {% include /analytics-providers/google.html %} +{% when "google-universal" %} + {% include /analytics-providers/google-universal.html %} +{% when "custom" %} + {% include /analytics-providers/custom.html %} +{% endcase %} + +{% endif %} \ No newline at end of file diff --git a/_includes/archive-single.html b/_includes/archive-single.html new file mode 100644 index 0000000000..93755e38ec --- /dev/null +++ b/_includes/archive-single.html @@ -0,0 +1,38 @@ +{% if post.header.teaser %} + {% capture teaser %}{{ post.header.teaser }}{% endcapture %} +{% else %} + {% assign teaser = site.teaser %} +{% endif %} + +{% if post.id %} + {% assign title = post.title | markdownify | remove: "

" | remove: "

" %} +{% else %} + {% assign title = post.title %} +{% endif %} + +
+
+ {% if include.type == "grid" and teaser %} +
+ +
+ {% endif %} +

+ {% if post.link %} + {{ title }} Permalink + {% else %} + {{ title }} + {% endif %} +

+ {% if post.read_time %} +

{% include read-time.html %}

+ {% endif %} + {% if post.excerpt %}

{{ post.excerpt | markdownify | strip_html | truncate: 160 }}

{% endif %} +
+
\ No newline at end of file diff --git a/_includes/author-profile-custom-links.html b/_includes/author-profile-custom-links.html new file mode 100644 index 0000000000..3560e25885 --- /dev/null +++ b/_includes/author-profile-custom-links.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/_includes/author-profile.html b/_includes/author-profile.html new file mode 100644 index 0000000000..d7116f3bab --- /dev/null +++ b/_includes/author-profile.html @@ -0,0 +1,241 @@ +{% if page.author and site.data.authors[page.author] %} + {% assign author = site.data.authors[page.author] %} +{% else %} + {% assign author = site.author %} +{% endif %} + +
+ + {% if author.avatar %} +
+ {% if author.avatar contains "://" %} + {{ author.name }} + {% else %} + {{ author.name }} + {% endif %} +
+ {% endif %} + +
+

{{ author.name }}

+ {% if author.bio %} +

+ {{ author.bio }} +

+ {% endif %} +
+ +
+ + +
+
diff --git a/_includes/base_path b/_includes/base_path new file mode 100644 index 0000000000..36826c4f25 --- /dev/null +++ b/_includes/base_path @@ -0,0 +1,5 @@ +{% if site.url %} + {% assign base_path = site.url | append: site.baseurl %} +{% else %} + {% assign base_path = site.github.url %} +{% endif %} \ No newline at end of file diff --git a/_includes/breadcrumbs.html b/_includes/breadcrumbs.html new file mode 100644 index 0000000000..cf2b745e74 --- /dev/null +++ b/_includes/breadcrumbs.html @@ -0,0 +1,39 @@ +{% case site.categories.type %} + {% when "liquid" %} + {% assign path_type = "#" %} + {% when "jekyll-archives" %} + {% assign path_type = nil %} +{% endcase %} + +{% if page.collection != 'posts' %} + {% assign path_type = nil %} + {% assign crumb_path = '/' %} +{% else %} + {% assign crumb_path = site.categories.path %} +{% endif %} + + \ No newline at end of file diff --git a/_includes/browser-upgrade.html b/_includes/browser-upgrade.html new file mode 100644 index 0000000000..e8d8b2625a --- /dev/null +++ b/_includes/browser-upgrade.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/_includes/category-list.html b/_includes/category-list.html new file mode 100644 index 0000000000..039d5e2e79 --- /dev/null +++ b/_includes/category-list.html @@ -0,0 +1,26 @@ +{% case site.category_archive.type %} + {% when "liquid" %} + {% assign path_type = "#" %} + {% when "jekyll-archives" %} + {% assign path_type = nil %} +{% endcase %} + +{% if site.category_archive.path %} + {% comment %} + + + {% endcomment %} + {% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} + {% assign category_hashes = (page_categories | split: ',' | sort:0) %} + +

+ {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} + + {% for hash in category_hashes %} + {% assign keyValue = hash | split: '#' %} + {% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %} + {% unless forloop.last %}, {% endunless %} + {% endfor %} + +

+{% endif %} \ No newline at end of file diff --git a/_includes/comment.html b/_includes/comment.html new file mode 100644 index 0000000000..44c07d1a13 --- /dev/null +++ b/_includes/comment.html @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/_includes/comments-providers/custom.html b/_includes/comments-providers/custom.html new file mode 100644 index 0000000000..90993691ed --- /dev/null +++ b/_includes/comments-providers/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/_includes/comments-providers/discourse.html b/_includes/comments-providers/discourse.html new file mode 100644 index 0000000000..aca62cc848 --- /dev/null +++ b/_includes/comments-providers/discourse.html @@ -0,0 +1,13 @@ +{% if site.comments.discourse.server %} +{% capture canonical %}{% if site.permalink contains '.html' %}{{ page.url | absolute_url }}{% else %}{{ page.url | absolute_url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} + + +{% endif %} diff --git a/_includes/comments-providers/disqus.html b/_includes/comments-providers/disqus.html new file mode 100644 index 0000000000..c6fc691ded --- /dev/null +++ b/_includes/comments-providers/disqus.html @@ -0,0 +1,22 @@ +{% if site.comments.disqus.shortname %} + + +{% endif %} \ No newline at end of file diff --git a/_includes/comments-providers/facebook.html b/_includes/comments-providers/facebook.html new file mode 100644 index 0000000000..009dc1c6c5 --- /dev/null +++ b/_includes/comments-providers/facebook.html @@ -0,0 +1,8 @@ +
+ \ No newline at end of file diff --git a/_includes/comments-providers/google-plus.html b/_includes/comments-providers/google-plus.html new file mode 100644 index 0000000000..0b4ff6b7e0 --- /dev/null +++ b/_includes/comments-providers/google-plus.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/_includes/comments-providers/scripts.html b/_includes/comments-providers/scripts.html new file mode 100644 index 0000000000..ed192f7e40 --- /dev/null +++ b/_includes/comments-providers/scripts.html @@ -0,0 +1,18 @@ +{% if site.comments.provider and page.comments %} + +{% case site.comments.provider %} +{% when "disqus" %} + {% include /comments-providers/disqus.html %} +{% when "discourse" %} + {% include /comments-providers/discourse.html %} +{% when "facebook" %} + {% include /comments-providers/facebook.html %} +{% when "google-plus" %} + {% include /comments-providers/google-plus.html %} +{% when "staticman" %} + {% include /comments-providers/staticman.html %} +{% when "custom" %} + {% include /comments-providers/custom.html %} +{% endcase %} + +{% endif %} \ No newline at end of file diff --git a/_includes/comments-providers/staticman.html b/_includes/comments-providers/staticman.html new file mode 100644 index 0000000000..471fa867cd --- /dev/null +++ b/_includes/comments-providers/staticman.html @@ -0,0 +1,42 @@ +{% if site.repository and site.staticman.branch %} + +{% endif %} \ No newline at end of file diff --git a/_includes/comments.html b/_includes/comments.html new file mode 100644 index 0000000000..dfd0be7743 --- /dev/null +++ b/_includes/comments.html @@ -0,0 +1,80 @@ +
+ {% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %} + {% case site.comments.provider %} + {% when "disqus" %} +

{{ comments_label }}

+
+ {% when "facebook" %} +

{{ comments_label }}

+
+ {% when "google-plus" %} +

{{ comments_label }}

+
Loading Google+ Comments ...
+ {% when "staticman" %} +
+ {% if site.repository and site.staticman.branch %} + +
+ {% if site.data.comments[page.slug] %} +

{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}

+ {% assign comments = site.data.comments[page.slug] | sort %} + + {% for comment in comments %} + {% assign email = comment[1].email %} + {% assign name = comment[1].name %} + {% assign url = comment[1].url %} + {% assign date = comment[1].date %} + {% assign message = comment[1].message %} + {% include comment.html index=forloop.index email=email name=name url=url date=date message=message %} + {% endfor %} + {% endif %} +
+ + + +

{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}

+

{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} *

+
+
+ + {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }} +
+ +
+ + + +
+
+ + +
+
+ + +
+
+ + +
+ + + + +
+ +
+
+ + {% endif %} +
+ {% when "custom" %} +
+ {% endcase %} +
\ No newline at end of file diff --git a/_includes/feature_row b/_includes/feature_row new file mode 100644 index 0000000000..d5b7e23dea --- /dev/null +++ b/_includes/feature_row @@ -0,0 +1,50 @@ +{% if include.id %} + {% assign feature_row = page.[include.id] %} +{% else %} + {% assign feature_row = page.feature_row %} +{% endif %} + +
+ + {% for f in feature_row %} + + {% if f.url contains "://" %} + {% capture f_url %}{{ f.url }}{% endcapture %} + {% else %} + {% capture f_url %}{{ f.url | absolute_url }}{% endcapture %} + {% endif %} + +
+
+ {% if f.image_path %} +
+ {% if f.alt %}{{ f.alt }}{% endif %} +
+ {% endif %} + +
+ {% if f.title %} +

{{ f.title }}

+ {% endif %} + + {% if f.excerpt %} +
+ {{ f.excerpt | markdownify }} +
+ {% endif %} + + {% if f.url %} +

{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}

+ {% endif %} +
+
+
+ {% endfor %} + +
\ No newline at end of file diff --git a/_includes/figure b/_includes/figure new file mode 100644 index 0000000000..da829e48fa --- /dev/null +++ b/_includes/figure @@ -0,0 +1,12 @@ +
+ {% if include.alt %}{{ include.alt }}{% endif %} + {% if include.caption %} +
{{ include.caption | markdownify | remove: "

" | remove: "

" }}
+ {% endif %} +
diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000000..d132cfaad8 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,22 @@ + + + \ No newline at end of file diff --git a/_includes/footer/custom.html b/_includes/footer/custom.html new file mode 100644 index 0000000000..d512599d1a --- /dev/null +++ b/_includes/footer/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/_includes/gallery b/_includes/gallery new file mode 100644 index 0000000000..5983239c41 --- /dev/null +++ b/_includes/gallery @@ -0,0 +1,47 @@ +{% if include.id %} + {% assign gallery = page.[include.id] %} +{% else %} + {% assign gallery = page.gallery %} +{% endif %} + +{% if gallery.size == 2 %} + {% assign gallery_layout = 'half' %} +{% elsif gallery.size >= 3 %} + {% assign gallery_layout = 'third' %} +{% else %} + {% assign gallery_layout = '' %} +{% endif %} + + \ No newline at end of file diff --git a/_includes/group-by-array b/_includes/group-by-array new file mode 100644 index 0000000000..251302c70b --- /dev/null +++ b/_includes/group-by-array @@ -0,0 +1,47 @@ + + + +{% assign __empty_array = '' | split: ',' %} +{% assign group_names = __empty_array %} +{% assign group_items = __empty_array %} + + +{% assign __names = include.collection | map: include.field %} + + +{% assign __names = __names | join: ',' | join: ',' | split: ',' %} + + +{% assign __names = __names | sort %} +{% for name in __names | sort %} + + +{% unless name == previous %} + + +{% assign group_names = group_names | push: name %} +{% endunless %} + +{% assign previous = name %} +{% endfor %} + + + +{% for name in group_names %} + + +{% assign __item = __empty_array %} +{% for __element in include.collection %} +{% if __element[include.field] contains name %} +{% assign __item = __item | push: __element %} +{% endif %} +{% endfor %} + + +{% assign group_items = group_items | push: __item %} +{% endfor %} \ No newline at end of file diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000000..a59b14a2ef --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,19 @@ + + +{% include seo.html %} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_includes/head/custom.html b/_includes/head/custom.html new file mode 100644 index 0000000000..0176731320 --- /dev/null +++ b/_includes/head/custom.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/_includes/masthead.html b/_includes/masthead.html new file mode 100644 index 0000000000..5e9a1d59a2 --- /dev/null +++ b/_includes/masthead.html @@ -0,0 +1,21 @@ +
+
+
+ +
+
+
\ No newline at end of file diff --git a/_includes/nav_list b/_includes/nav_list new file mode 100644 index 0000000000..d264577a47 --- /dev/null +++ b/_includes/nav_list @@ -0,0 +1,47 @@ +{% assign navigation = site.data.navigation[include.nav] %} + + \ No newline at end of file diff --git a/_includes/page__hero.html b/_includes/page__hero.html new file mode 100644 index 0000000000..ecc8d8056a --- /dev/null +++ b/_includes/page__hero.html @@ -0,0 +1,53 @@ +{% if page.header.image contains "://" %} + {% capture img_path %}{{ page.header.image }}{% endcapture %} +{% else %} + {% capture img_path %}{{ page.header.image | absolute_url }}{% endcapture %} +{% endif %} + +{% if page.header.cta_url contains "://" %} + {% capture cta_path %}{{ page.header.cta_url }}{% endcapture %} +{% else %} + {% capture cta_path %}{{ page.header.cta_url | absolute_url }}{% endcapture %} +{% endif %} + +{% if page.header.overlay_image contains "://" %} + {% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %} +{% elsif page.header.overlay_image %} + {% capture overlay_img_path %}{{ page.header.overlay_image | absolute_url }}{% endcapture %} +{% endif %} + +{% if page.header.overlay_filter contains "rgba" %} + {% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %} +{% elsif page.header.overlay_filter %} + {% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %} +{% endif %} + +
+ {% if page.header.overlay_color or page.header.overlay_image %} +
+

+ {% if paginator %} + {{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %} + {% else %} + {{ page.title | default: site.title | markdownify | remove: "

" | remove: "

" }} + {% endif %} +

+ {% if page.excerpt %} +

{{ page.excerpt | markdownify | remove: "

" | remove: "

" }}

+ {% endif %} + {% if site.read_time and page.read_time %} +

{% include read-time.html %}

+ {% endif %} + {% if page.header.cta_url %} +

{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}

+ {% endif %} +
+ {% else %} + {{ page.title }} + {% endif %} + {% if page.header.caption %} + {{ page.header.caption | markdownify | remove: "

" | remove: "

" }}
+ {% endif %} +
\ No newline at end of file diff --git a/_includes/page__taxonomy.html b/_includes/page__taxonomy.html new file mode 100644 index 0000000000..75c76c81dd --- /dev/null +++ b/_includes/page__taxonomy.html @@ -0,0 +1,7 @@ +{% if site.tag_archive.type and page.tags[0] %} + {% include tag-list.html %} +{% endif %} + +{% if site.category_archive.type and page.categories[0] %} + {% include category-list.html %} +{% endif %} \ No newline at end of file diff --git a/_includes/paginator.html b/_includes/paginator.html new file mode 100644 index 0000000000..b6bf99a2e0 --- /dev/null +++ b/_includes/paginator.html @@ -0,0 +1,68 @@ +{% if paginator.total_pages > 1 %} + +{% endif %} \ No newline at end of file diff --git a/_includes/post_pagination.html b/_includes/post_pagination.html new file mode 100644 index 0000000000..3b8b616866 --- /dev/null +++ b/_includes/post_pagination.html @@ -0,0 +1,14 @@ +{% if page.previous or page.next %} + +{% endif %} \ No newline at end of file diff --git a/_includes/read-time.html b/_includes/read-time.html new file mode 100644 index 0000000000..e8e9063df9 --- /dev/null +++ b/_includes/read-time.html @@ -0,0 +1,15 @@ +{% assign words_per_minute = site.words_per_minute | default: 200 %} + +{% if post.read_time %} + {% assign words = post.content | strip_html | number_of_words %} +{% elsif page.read_time %} + {% assign words = page.content | strip_html | number_of_words %} +{% endif %} + +{% if words < 180 %} + {{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} +{% elsif words < 360 %} + 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} +{% else %} + {{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} +{% endif %} \ No newline at end of file diff --git a/_includes/scripts.html b/_includes/scripts.html new file mode 100644 index 0000000000..844de82dd7 --- /dev/null +++ b/_includes/scripts.html @@ -0,0 +1,4 @@ + + +{% include analytics.html %} +{% include /comments-providers/scripts.html %} diff --git a/_includes/seo.html b/_includes/seo.html new file mode 100644 index 0000000000..48fa000304 --- /dev/null +++ b/_includes/seo.html @@ -0,0 +1,145 @@ + +{% if site.url %} + {% assign seo_url = site.url | append: site.baseurl %} +{% endif %} +{% assign seo_url = seo_url | default: site.github.url %} + +{% if page.title %} + {% assign seo_title = page.title | append: " " | append: site.title_separator | append: " " | append: site.title %} +{% endif %} + +{% if seo_title %} + {% assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once %} +{% endif %} + +{% if site.url %} + {% assign canonical_url = page.url | replace: "index.html", "" | prepend: site.url %} +{% endif %} + +{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ site.title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %} + +{% assign seo_description = page.description | default: page.excerpt | default: site.description %} +{% if seo_description %} + {% assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once %} +{% endif %} + + + +{% assign seo_author = page.author | default: page.author[0] | default: site.author[0] %} +{% if seo_author %} + {% if seo_author.twitter %} + {% assign seo_author_twitter = seo_author.twitter %} + {% else %} + {% if site.data.authors and site.data.authors[seo_author] %} + {% assign seo_author_twitter = site.data.authors[seo_author].twitter %} + {% else %} + {% assign seo_author_twitter = seo_author %} + {% endif %} + {% endif %} + {% assign seo_author_twitter = seo_author_twitter | replace: "@", "" %} +{% endif %} + + + + + +{% if seo_url %} + + +{% endif %} + +{% if page.excerpt %} + +{% endif %} + +{% if site.twitter.username %} + + + + + + {% if page.header.image %} + + + {% else %} + + {% if page.header.teaser %} + + {% elsif site.og_image %} + + {% endif %} + {% endif %} + + {% if seo_author_twitter %} + + {% endif %} +{% endif %} + +{% if site.facebook %} + {% if site.facebook.publisher %} + + {% endif %} + + {% if site.facebook.app_id %} + + {% endif %} +{% endif %} + +{% if page.header.image %} + +{% elsif page.header.overlay_image %} + +{% elsif page.header.teaser %} + +{% elsif site.og_image %} + +{% endif %} + +{% if page.date %} + + +{% endif %} + +{% if paginator.previous_page %} + +{% endif %} +{% if paginator.next_page %} + +{% endif %} + +{% if site.og_image %} + +{% endif %} + +{% if site.social %} + +{% endif %} + +{% if site.google_site_verification %} + +{% endif %} +{% if site.bing_site_verification %} + +{% endif %} +{% if site.alexa_site_verification %} + +{% endif %} +{% if site.yandex_site_verification %} + +{% endif %} + diff --git a/_includes/sidebar.html b/_includes/sidebar.html new file mode 100644 index 0000000000..d2661c385f --- /dev/null +++ b/_includes/sidebar.html @@ -0,0 +1,23 @@ +{% if page.author_profile or layout.author_profile or page.sidebar %} + +{% endif %} \ No newline at end of file diff --git a/_includes/social-share.html b/_includes/social-share.html new file mode 100644 index 0000000000..dbf769ef28 --- /dev/null +++ b/_includes/social-share.html @@ -0,0 +1,13 @@ + diff --git a/_includes/tag-list.html b/_includes/tag-list.html new file mode 100644 index 0000000000..0cea2113bb --- /dev/null +++ b/_includes/tag-list.html @@ -0,0 +1,26 @@ +{% case site.tag_archive.type %} + {% when "liquid" %} + {% assign path_type = "#" %} + {% when "jekyll-archives" %} + {% assign path_type = nil %} +{% endcase %} + +{% if site.tag_archive.path %} + {% comment %} + + + {% endcomment %} + {% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} + {% assign tag_hashes = (page_tags | split: ',' | sort:0) %} + +

+ {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} + + {% for hash in tag_hashes %} + {% assign keyValue = hash | split: '#' %} + {% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %} + {% unless forloop.last %}, {% endunless %} + {% endfor %} + +

+{% endif %} \ No newline at end of file diff --git a/_includes/toc b/_includes/toc new file mode 100644 index 0000000000..6ba831c907 --- /dev/null +++ b/_includes/toc @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/_layouts/archive-taxonomy.html b/_layouts/archive-taxonomy.html new file mode 100644 index 0000000000..6939122d85 --- /dev/null +++ b/_layouts/archive-taxonomy.html @@ -0,0 +1,15 @@ +--- +layout: default +author_profile: false +--- + +
+ {% include sidebar.html %} + +
+

{{ page.title }}

+ {% for post in page.posts %} + {% include archive-single.html %} + {% endfor %} +
+
\ No newline at end of file diff --git a/_layouts/archive.html b/_layouts/archive.html new file mode 100644 index 0000000000..fe41fba8a6 --- /dev/null +++ b/_layouts/archive.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + +{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} + {% include page__hero.html %} +{% endif %} + +{% if page.url != "/" and site.breadcrumbs %} + {% unless paginator %} + {% include breadcrumbs.html %} + {% endunless %} +{% endif %} + +
+ {% include sidebar.html %} + +
+ {% unless page.header.overlay_color or page.header.overlay_image %} +

{{ page.title }}

+ {% endunless %} + {{ content }} +
+
\ No newline at end of file diff --git a/_layouts/compress.html b/_layouts/compress.html new file mode 100644 index 0000000000..8248010b4a --- /dev/null +++ b/_layouts/compress.html @@ -0,0 +1,10 @@ +--- +# Jekyll layout that compresses HTML +# v3.0.2 +# http://jch.penibelst.de/ +# © 2014–2015 Anatol Broder +# MIT License +--- + +{% capture _LINE_FEED %} +{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "" %}{% endif %}{% unless _pre_before contains "" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " ;; ;" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %}
Step Bytes
raw {{ content | size }}{% if _profile_endings %}
endings {{ _profile_endings }}{% endif %}{% if _profile_startings %}
startings {{ _profile_startings }}{% endif %}{% if _profile_comments %}
comments {{ _profile_comments }}{% endif %}{% if _profile_collapse %}
collapse {{ _profile_collapse }}{% endif %}{% if _profile_clippings %}
clippings {{ _profile_clippings }}{% endif %}
{% endif %}{% endif %} diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000000..1deb90148c --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,28 @@ +--- +--- + + + + + {% include head.html %} + {% include head/custom.html %} + + + + + {% include browser-upgrade.html %} + {% include masthead.html %} + + {{ content }} + + + + {% include scripts.html %} + + + diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000000..bcce92aba4 --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,11 @@ +--- +layout: archive +--- + +

{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}

+ +{% for post in paginator.posts %} + {% include archive-single.html %} +{% endfor %} + +{% include paginator.html %} diff --git a/_layouts/single.html b/_layouts/single.html new file mode 100644 index 0000000000..9035528590 --- /dev/null +++ b/_layouts/single.html @@ -0,0 +1,74 @@ +--- +layout: default +--- + +{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} + {% include page__hero.html %} +{% endif %} + +{% if page.url != "/" and site.breadcrumbs %} + {% unless paginator %} + {% include breadcrumbs.html %} + {% endunless %} +{% endif %} + +
+ {% include sidebar.html %} + +
+ {% if page.title %}{% endif %} + {% if page.excerpt %}{% endif %} + {% if page.date %}{% endif %} + {% if page.modified %}{% endif %} + +
+ {% unless page.header.overlay_color or page.header.overlay_image %} +
+ {% if page.title %}

{{ page.title | markdownify | remove: "

" | remove: "

" }}

{% endif %} + {% if page.read_time %} +

{% include read-time.html %}

+ {% endif %} +
+ {% endunless %} + +
+ {{ content }} + {% if page.link %}{% endif %} +
+ +
+ {% if site.data.ui-text[site.locale].meta_label %} +

{{ site.data.ui-text[site.locale].meta_label }}

+ {% endif %} + {% include page__taxonomy.html %} + {% if page.modified %} +

{{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}

+ {% elsif page.date %} +

{{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}

+ {% endif %} +
+ + {% if page.share %}{% include social-share.html %}{% endif %} + + {% include post_pagination.html %} +
+ + {% if site.comments.provider and page.comments %} + {% include comments.html %} + {% endif %} +
+ + {% comment %}{% endcomment %} + {% if page.id and page.related and site.related_posts.size > 0 %} + + {% endif %} +
\ No newline at end of file diff --git a/_layouts/splash.html b/_layouts/splash.html new file mode 100644 index 0000000000..f2b310b9a7 --- /dev/null +++ b/_layouts/splash.html @@ -0,0 +1,20 @@ +--- +layout: default +--- + +{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} + {% include page__hero.html %} +{% endif %} + +
+
+ {% if page.title %}{% endif %} + {% if page.excerpt %}{% endif %} + {% if page.date %}{% endif %} + {% if page.modified %}{% endif %} + +
+ {{ content }} +
+
+
\ No newline at end of file diff --git a/_pages/about.md b/_pages/about.md new file mode 100644 index 0000000000..fb49ca89c8 --- /dev/null +++ b/_pages/about.md @@ -0,0 +1,8 @@ +--- +permalink: /about/ +title: "About" +excerpt: "Anything about RocketMQ." +modified: 2016-12-16T11:55:22-04:00 +--- + +**TODO** \ No newline at end of file diff --git a/_pages/community.md b/_pages/community.md new file mode 100644 index 0000000000..8ccbb28b57 --- /dev/null +++ b/_pages/community.md @@ -0,0 +1,45 @@ +--- +layout: splash +permalink: /community/ +title: "Community" +header: + overlay_color: "#5e616c" + overlay_image: /assets/images/rmq-home-page.jpg + cta_label: " Try it Now" + cta_url: "/docs/quick-start-guide/" + caption: +excerpt: 'Apache RocketMQ is a low latency, reliable, scalable, distributed, easy to use message-oriented middleware, especially for processing large amounts of streaming data.
Latest release v3.5.8

{::nomarkdown} {:/nomarkdown}' +feature_row: + - image_path: /assets/images/community/alibaba-logo.png + alt: "Alibaba Group" + - image_path: /assets/images/community/ant-logo.png + alt: "China Telecom Group" + - image_path: /assets/images/community/yeahmobi-logo.png + alt: "YeahMobi Group" +feature_row1: + - image_path: /assets/images/community/egov-logo.png + alt: "Egov Group" + - image_path: /assets/images/community/china-telecom-logo.png + alt: "China Telecom Group" + - image_path: /assets/images/community/media-logo.jpg + alt: "Media Group" +feature_row2: + - image_path: /assets/images/community/decent-logo.png + alt: "Decent Group" + - image_path: /assets/images/community/yunpan-logo.png + alt: "Yunpan Group" + - image_path: /assets/images/community/shihai-logo.jpg + alt: "Shihai Group" +github: + - excerpt: '{::nomarkdown} {:/nomarkdown}' +intro: + - excerpt: "Who's Involved in RocketMQ ?   [ See the Full List](https://github.com/alibaba/RocketMQ/issues/1){: .btn .btn--twitter}" +--- + +{% include feature_row id="intro" type="center" %} + +{% include feature_row %} + +{% include feature_row id="feature_row1" %} + +{% include feature_row id="feature_row2" %} \ No newline at end of file diff --git a/_pages/year-archive.html b/_pages/year-archive.html new file mode 100644 index 0000000000..da39ed3320 --- /dev/null +++ b/_pages/year-archive.html @@ -0,0 +1,16 @@ +--- +layout: archive +permalink: /year-archive/ +title: "Read and Comment" +author_profile: true +--- + +{% capture written_year %}'None'{% endcapture %} +{% for post in site.posts %} + {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} + {% if year != written_year %} +

{{ year }}

+ {% capture written_year %}{{ year }}{% endcapture %} + {% endif %} + {% include archive-single.html %} +{% endfor %} \ No newline at end of file diff --git a/_sass/_animations.scss b/_sass/_animations.scss new file mode 100644 index 0000000000..25ef77fbbf --- /dev/null +++ b/_sass/_animations.scss @@ -0,0 +1,21 @@ +/* ========================================================================== + ANIMATIONS + ========================================================================== */ + +@-webkit-keyframes intro { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes intro { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} \ No newline at end of file diff --git a/_sass/_archive.scss b/_sass/_archive.scss new file mode 100644 index 0000000000..c5d0709b81 --- /dev/null +++ b/_sass/_archive.scss @@ -0,0 +1,238 @@ +/* ========================================================================== + ARCHIVE + ========================================================================== */ + +.archive { + margin-bottom: 2em; + + @include breakpoint($medium) { + @include span(12 of 12); + } + + @include breakpoint($large) { + @include span(10 of 12 last); + @include prefix(0.5 of 12); + } + + a { + color: inherit; + text-decoration: none; + } +} + +.archive__subtitle { + margin: 1.414em 0 0; + padding-bottom: 0.5em; + font-size: $type-size-5; + color: mix(#fff, $gray, 25%); + border-bottom: 1px solid $border-color; + + + .list__item .archive__item-title { + margin-top: 0.5em; + } +} + +.archive__item-title { + margin-bottom: 0.25em; + font-family: $sans-serif-narrow; + + a + a { + opacity: 0.5; + } +} + +/* remove border*/ +.page__content { + + .archive__item-title { + margin-top: 1em; + border-bottom: none; + } +} + +.archive__item-excerpt { + margin-top: 0; + font-size: $type-size-6; + + & + p { + text-indent: 0; + } +} + +.archive__item-teaser { + border-radius: $border-radius; + overflow: hidden; + img { + width: 100%; + } +} + +.archive__item:hover { + .archive__item-teaser { + box-shadow: 0 0 10px rgba(#000, 0.25); + } + + .archive__item-title { + text-decoration: underline; + } +} + + +/* + List view + ========================================================================== */ + +.list__item { + @include breakpoint($medium) { + padding-right: $right-sidebar-width-narrow; + } + + @include breakpoint($large) { + padding-right: $right-sidebar-width; + } + + @include breakpoint($x-large) { + padding-right: $right-sidebar-width-wide; + } + + .page__meta { + margin: 0 0 4px; + } +} + + +/* + Grid view + ========================================================================== */ + +.grid__item { + margin-bottom: 2em; + + .page__meta { + margin: 0 0 4px; + } + + .archive__item-title { + margin-top: 0.5em; + font-size: $type-size-5; + } + + .archive__item-excerpt { + display: none; + } + + @include breakpoint($small) { + @include gallery(5 of 10); + .archive__item-teaser { + max-height: 200px; + } + } + + @include breakpoint($medium) { + margin-left: 0; /* reset before mixin does its thing*/ + margin-right: 0; /* reset before mixin does its thing*/ + @include gallery(2.5 of 10); + + .archive__item-teaser { + max-height: 120px; + } + + .archive__item-excerpt { + display: block; + font-size: $type-size-6; + } + } +} + + +/* + Features + ========================================================================== */ + +.feature__wrapper { + @include clearfix(); + margin-bottom: 2em; + border-bottom: 1px solid $border-color; +} + +.feature__item { + margin-bottom: 2em; + font-size: 1.25rem; + + @include breakpoint($small) { + margin-bottom: 0; + @include gallery(4 of 12); + + .feature__item-teaser { + max-height: 200px; + overflow: hidden; + } + } + + &--left { + @include full(); + font-size: 1.25rem; + + .archive__item-teaser { + margin-bottom: 2em; + } + + @include breakpoint($small) { + .archive__item-teaser { + @include span(5 of 12); + } + + .archive__item-body { + @include span(7 of 12 last); + @include prefix(0.5 of 12); + @include suffix(1 of 12); + } + } + } + + &--right { + @include full(); + font-size: 1.25rem; + + .archive__item-teaser { + margin-bottom: 2em; + } + + @include breakpoint($small) { + text-align: right; + + .archive__item-teaser { + @include span(5 of 12 rtl); + } + + .archive__item-body { + @include span(7 of 12 last rtl); + @include prefix(0.5 of 12); + @include suffix(1 of 12); + } + } + } + + &--center { + @include full(); + font-size: 1.25rem; + + .archive__item-teaser { + margin-bottom: 2em; + } + + @include breakpoint($small) { + text-align: center; + + .archive__item-teaser { + margin: 0 auto; + width: span(5 of 12); + } + + .archive__item-body { + margin: 0 auto; + width: span(7 of 12); + } + } + } +} \ No newline at end of file diff --git a/_sass/_base.scss b/_sass/_base.scss new file mode 100644 index 0000000000..c5311a29b8 --- /dev/null +++ b/_sass/_base.scss @@ -0,0 +1,315 @@ +/* ========================================================================== + BASE ELEMENTS + ========================================================================== */ + +html { + /* sticky footer fix */ + position: relative; + min-height: 100%; +} + +body { + margin: 0; + padding: 0; + color: $text-color; + font-family: $global-font-family; + line-height: 1.5; + + &.overflow--hidden { + /* when primary navigation is visible, the content in the background won't scroll */ + overflow: hidden; + } +} + +h1, h2, h3, h4, h5, h6 { + margin: 2em 0 0.5em; + line-height: 1.2; + font-family: $header-font-family; + font-weight: bold; +} + +h1 { + margin-top: 0; + font-size: $type-size-3; +} + +h2 { + font-size: $type-size-4; +} + +h3 { + font-size: $type-size-5; +} + +h4 { + font-size: $type-size-6; +} + +h5 { + font-size: $type-size-6; +} + +h6 { + font-size: $type-size-6; +} + +small, .small { + font-size: $type-size-6; +} + +p { + margin-bottom: 1.3em; +} + +u, +ins { + text-decoration: none; + border-bottom: 1px solid $text-color; + a { + color: inherit; + } +} + +del a { + color: inherit; +} + +/* reduce orphans and widows when printing */ + +p, pre, blockquote, ul, ol, dl, figure, table, fieldset { + orphans: 3; + widows: 3; +} + +/* abbreviations */ + +abbr[title], +abbr[data-original-title] { + text-decoration: none; + cursor: help; + border-bottom: 1px dotted $text-color; +} + +/* blockquotes */ + +blockquote { + margin: 2em 1em 2em 0; + padding-left: 1em; + padding-right: 1em; + font-style: italic; + border-left: 0.25em solid $primary-color; + + cite { + font-style: italic; + + &:before { + content: "\2014"; + padding-right: 5px; + } + } +} + +/* links */ + +a { + &:focus { + @extend %tab-focus; + } + + &:hover, + &:active { + outline: 0; + } +} + +/* code */ + +tt, code, kbd, samp, pre { + font-family: $monospace; +} + +pre { + overflow-x: auto; /* add scrollbars to wide code blocks*/ +} + +p > code, +a > code, +li > code, +figcaption > code, +td > code { + padding-top: 0.1rem; + padding-bottom: 0.1rem; + font-size: $type-size-6; + background: $code-background-color; + border: 1px solid $lighter-gray; + border-radius: $border-radius; + box-shadow: $box-shadow; + + &:before, &:after { + letter-spacing: -0.2em; + content: "\00a0"; /* non-breaking space*/ + } +} + +/* horizontal rule */ + +hr { + display: block; + margin: 1em 0; + border: 0; + border-top: 1px solid $border-color; +} + +/* lists */ + +ul li, +ol li { + margin-bottom: 0.5em; +} + +li ul, +li ol { + margin-top: 0.5em; +} + +/* + Media and embeds + ========================================================================== */ + +/* Figures and images */ + +figure { + display: -webkit-box; + display: flex; + -webkit-box-pack: justify; + justify-content: space-between; + -webkit-box-align: start; + align-items: flex-start; + flex-wrap: wrap; + margin: 2em 0; + + img, + iframe, + .fluid-width-video-wrapper { + margin-bottom: 1em; + } + + img { + width: 100%; + border-radius: $border-radius; + -webkit-transition: $global-transition; + transition: $global-transition; + } + + > a { + display: block; + } + + &.half { + > a, + > img { + @include breakpoint($small) { + width: calc(50% - 0.5em); + } + } + + figcaption { + width: 100%; + } + } + + &.third { + > a, + > img { + @include breakpoint($small) { + width: calc(33.3333% - 0.5em); + } + } + + figcaption { + width: 100%; + } + } +} + +/* Figure captions */ + +figcaption { + margin-bottom: 0.5em; + color: mix(#fff, $text-color, 25%); + font-family: $caption-font-family; + font-size: $type-size-6; + + a { + color: inherit; + text-decoration: none; + border-bottom: 1px solid $light-gray; + -webkit-transition: $global-transition; + transition: $global-transition; + + &:hover { + color: #000; + border-bottom-color: #000; + } + } +} + + +/* Fix IE9 SVG bug */ + +svg:not(:root) { + overflow: hidden; +} + + +/* + Navigation lists + ========================================================================== */ + +/** + * Removes margins, padding, and bullet points from navigation lists + * + * Example usage: + * + */ + +nav { + ul { + margin: 0; + padding: 0; + } + + li { + list-style: none; + } + + a { + text-decoration: none; + } + + /* override white-space for nested lists */ + ul li, + ol li { + margin-bottom: 0; + } + + li ul, + li ol { + margin-top: 0; + } +} + +/* + Global animation transition + ========================================================================== */ + +b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, tr, td, form button, input[type="submit"], .btn, .highlight, .archive__item-teaser { + -webkit-transition: $global-transition; + transition: $global-transition; +} \ No newline at end of file diff --git a/_sass/_buttons.scss b/_sass/_buttons.scss new file mode 100644 index 0000000000..d6cf90eaa2 --- /dev/null +++ b/_sass/_buttons.scss @@ -0,0 +1,153 @@ +/* ========================================================================== + BUTTONS + ========================================================================== */ + +/* + Default button + ========================================================================== */ + +.btn { + /* default button */ + display: inline-block; + margin-bottom: 0.25em; + padding: 0.5em 1em; + color: #fff !important; + font-family: $sans-serif; + font-size: $type-size-6; + font-weight: bold; + text-align: center; + text-decoration: none; + background-color: $primary-color; + border: 0 !important; + border-radius: $border-radius; + cursor: pointer; + + &:hover { + background-color: mix(white, #000, 20%); + } + + .icon { + margin-right: 0.5em; + } + + .icon + .hidden { + margin-left: -0.5em; /* override for hidden text*/ + } + + /* fills width of parent container */ + + &--block { + display: block; + width: 100%; + + + .btn--block { + margin-top: 0.25em; + } + } + + /* for dark backgrounds */ + + &--inverse { + color: $gray !important; + border: 1px solid $light-gray !important; /* override*/ + background-color: #fff; + + &:hover { + color: #fff !important; + border-color: $gray; + } + } + + /* light outline */ + + &--light-outline { + border: 1px solid #fff !important; /* override*/ + background-color: transparent; + } + + /* information */ + + &--info { + background-color: $info-color; + + &:hover { + background-color: mix(#000, $info-color, 20%); + } + } + + /* warning */ + + &--warning { + background-color: $warning-color; + + &:hover { + background-color: mix(#000, $warning-color, 20%); + } + } + + /* success */ + + &--success { + background-color: $success-color; + + &:hover { + background-color: mix(#000, $success-color, 20%); + } + } + + /* danger */ + + &--danger { + background-color: $danger-color; + + &:hover { + background-color: mix(#000, $danger-color, 20%); + } + } + + /* disabled */ + + &--disabled { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + box-shadow: none; + opacity: 0.65; + } + + /* social buttons */ + + $social: + (facebook, $facebook-color), + (twitter, $twitter-color), + (google-plus, $google-plus-color), + (linkedin, $linkedin-color); + + @each $socialnetwork, $color in $social { + &--#{$socialnetwork} { + background-color: $color; + + &:hover { + background-color: mix(#000, $color, 20%); + } + } + } + + /* extra large button */ + + &--x-large { + font-size: $type-size-4; + } + + /* large button */ + + &--large { + font-size: $type-size-5; + } + + /* small button */ + + &--small { + font-size: $type-size-7; + } +} \ No newline at end of file diff --git a/_sass/_footer.scss b/_sass/_footer.scss new file mode 100644 index 0000000000..598bd400ae --- /dev/null +++ b/_sass/_footer.scss @@ -0,0 +1,80 @@ +/* ========================================================================== + FOOTER + ========================================================================== */ + +.page__footer { + @include full(); + @include clearfix; + /* sticky footer fix start */ + position: absolute; + bottom: 0; + width: 100%; + clear: both; + height: auto; + /* sticky footer fix end */ + margin-top: 3em; + color: mix(#fff, $gray, 25%); + -webkit-animation: intro 0.3s both; + animation: intro 0.3s both; + -webkit-animation-delay: 0.45s; + animation-delay: 0.45s; + background-color: $lighter-gray; + border-top: 1px solid $light-gray; + + footer { + @include container; + @include clearfix; + margin-top: 2em; + padding: 0 1em 2em; + + @include breakpoint($x-large) { + max-width: $x-large; + } + } + + a { + color: inherit; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } + + .fa { + color: mix(#fff, $gray, 25%); + } +} + +.page__footer-copyright { + font-family: $global-font-family; + font-size: $type-size-7; +} + +.page__footer-follow { + + ul { + margin: 0; + padding: 0; + list-style-type: none; + } + + li { + display: inline-block; + padding-top: 5px; + padding-bottom: 5px; + font-family: $sans-serif-narrow; + font-size: $type-size-6; + text-transform: uppercase; + } + + li + li:before { + content: ""; + padding-right: 5px; + } + + a { + padding-right: 10px; + font-weight: bold; + } +} \ No newline at end of file diff --git a/_sass/_forms.scss b/_sass/_forms.scss new file mode 100644 index 0000000000..a1f0f14648 --- /dev/null +++ b/_sass/_forms.scss @@ -0,0 +1,391 @@ +/* ========================================================================== + Forms + ========================================================================== */ + +form { + margin: 0 0 5px 0; + + fieldset { + margin-bottom: 5px; + padding: 0; + border-width: 0; + } + + legend { + display: block; + width: 100%; + margin-bottom: 5px * 2; + *margin-left: -7px; + padding: 0; + color: $text-color; + border: 0; + border-bottom: 1px solid mix(#fff, #000, 80%); + white-space: normal; + } + + p { + margin-bottom: 5px / 2; + } + + ul { + list-style-type: none; + margin: 0 0 5px 0; + padding: 0; + } + + br { + display: none; + } +} + +label, +input, +button, +select, +textarea { + vertical-align: baseline; + *vertical-align: middle; +} + +input, +button, +select, +textarea { + box-sizing: border-box; + font-family: $sans-serif; +} + +label { + display: block; + margin-bottom: 0.25em; + color: $text-color; + cursor: pointer; + + small { + font-size: $type-size-6; + } + + input, + textarea, + select { + display: block; + } +} + +input, +textarea, +select { + display: inline-block; + width: 100%; + padding: 0.25em; + margin-bottom: 0.5em; + color: $text-color; + background-color: #fff; + border: 1px solid mix(#fff, #000, 80%); + border-radius: $border-radius; + box-shadow: $box-shadow; + + &:hover { + border-color: mix(#fff, $primary-color, 50%); + } +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; + line-height: normal; + cursor: pointer; + border-radius: 0; + border: 0 \9; +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; + *width: 13px; + *height: 13px; +} + +input[type="image"] { + border: 0; + box-shadow: none; +} + +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + border: initial; + background-color: transparent; + background-color: initial; + box-shadow: none; +} + +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; + cursor: pointer; + *overflow: visible; +} + +select, +input[type="file"] { + *margin-top: 4px; +} + +select { + width: auto; + background-color: #fff; +} + +select[multiple], +select[size] { + height: auto; +} + +textarea { + resize: vertical; + height: auto; + overflow: auto; + vertical-align: top; +} + +input[type="hidden"] { + display: none; +} + +.form { + position: relative; +} + +.radio, +.checkbox { + padding-left: 18px; + font-weight: normal; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + + +/* + Disabled state + ========================================================================== */ + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + opacity: 0.5; + cursor: not-allowed; +} + + +/* + Focus & active state + ========================================================================== */ + +input:focus, +textarea:focus { + border-color: $primary-color; + outline: 0; + outline: thin dotted \9; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + box-shadow: none; +} + + +/* + Help text + ========================================================================== */ + +.help-block, +.help-inline { + color: $info-color; +} + +.help-block { + display: block; + margin-bottom: 1em; + line-height: 1em; +} + +.help-inline { + display: inline-block; + vertical-align: middle; + padding-left: 5px; +} + + +/* + .form-inline + ========================================================================== */ + +.form-inline input, +.form-inline textarea, +.form-inline select { + display: inline-block; + margin-bottom: 0; +} + +.form-inline label { + display: inline-block; +} + +.form-inline .radio, +.form-inline .checkbox, +.form-inline .radio { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; } + + +/* + .form-search + ========================================================================== */ + +.form-search input, +.form-search textarea, +.form-search select { + display: inline-block; + margin-bottom: 0; +} + +.form-search .search-query { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; + border-radius: 14px; +} + +.form-search label { + display: inline-block; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; +} + + +/* + .form--loading + ========================================================================== */ + +.form--loading:before { + content: ''; +} + +.form--loading .form__spinner { + display: block; +} + +.form:before { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, 0.7); + z-index: 10; +} + +.form__spinner { + display: none; + position: absolute; + top: 50%; + left: 50%; + z-index: 11; +} + + + +/* + Google search form + ========================================================================== */ + +#goog-fixurl { + ul { + list-style: none; + margin-left: 0; + padding-left: 0; + li { + list-style-type: none; + } + } +} + +#goog-wm-qt { + width: auto; + margin-right: 10px; + margin-bottom: 20px; + padding: 8px 20px; + display: inline-block; + font-size: $type-size-6; + background-color: #fff; + color: #000; + border-width: 2px !important; + border-style: solid !important; + border-color: lighten(#000,50); + border-radius: $border-radius; +} + +#goog-wm-sb { + @extend .btn; +} \ No newline at end of file diff --git a/_sass/_masthead.scss b/_sass/_masthead.scss new file mode 100644 index 0000000000..dec55cd1ea --- /dev/null +++ b/_sass/_masthead.scss @@ -0,0 +1,53 @@ +/* ========================================================================== + MASTHEAD + ========================================================================== */ + +.masthead { + position: relative; + border-bottom: 1px solid $border-color; + -webkit-animation: intro 0.3s both; + animation: intro 0.3s both; + -webkit-animation-delay: 0.15s; + animation-delay: 0.15s; + z-index: 20; + + &__inner-wrap { + @include container; + @include clearfix; + padding: 1em 1em 1em; + font-family: $sans-serif-narrow; + + @include breakpoint($x-large) { + max-width: $x-large; + } + + nav { + z-index: 10; + } + + a { + text-decoration: none; + } + } +} + +.masthead__menu { + + ul { + margin: 0; + padding: 0; + clear: both; + list-style-type: none; + } +} + +.masthead__menu-item { + display: block; + list-style-type: none; + white-space: nowrap; + + &--lg { + padding-right: 2em; + font-weight: 700; + } +} \ No newline at end of file diff --git a/_sass/_mixins.scss b/_sass/_mixins.scss new file mode 100644 index 0000000000..14782b1942 --- /dev/null +++ b/_sass/_mixins.scss @@ -0,0 +1,53 @@ +/* ========================================================================== + MIXINS + ========================================================================== */ + +%tab-focus { + /* Default*/ + outline: thin dotted $warning-color; + /* Webkit*/ + outline: 5px auto $warning-color; + outline-offset: -2px; +} + +/* + em function + ========================================================================== */ + +@function em($target, $context: $doc-font-size) { + @return ($target / $context) * 1em; +} + + +/* + Bourbon clearfix + ========================================================================== */ + +/* + * Provides an easy way to include a clearfix for containing floats. + * link http://cssmojo.com/latest_new_clearfix_so_far/ + * + * example scss - Usage + * + * .element { + * @include clearfix; + * } + * + * example css - CSS Output + * + * .element::after { + * clear: both; + * content: ""; + * display: table; + * } +*/ + +@mixin clearfix { + clear: both; + + &::after { + clear: both; + content: ""; + display: table; + } +} \ No newline at end of file diff --git a/_sass/_navigation.scss b/_sass/_navigation.scss new file mode 100644 index 0000000000..a5da695dd8 --- /dev/null +++ b/_sass/_navigation.scss @@ -0,0 +1,544 @@ +/* ========================================================================== + NAVIGATION + ========================================================================== */ + +/* + Breadcrumb navigation links + ========================================================================== */ + +.breadcrumbs { + @include container; + @include clearfix; + margin-top: 0; + margin-bottom: 0; + padding-left: 2em; + padding-right: 2em; + font-family: $sans-serif; + -webkit-animation: intro 0.3s both; + animation: intro 0.3s both; + -webkit-animation-delay: 0.30s; + animation-delay: 0.30s; + + @include breakpoint($large) { + padding-left: 1em; + padding-right: 1em; + } + + @include breakpoint($x-large) { + max-width: $x-large; + } + + ol { + padding: 0; + list-style: none; + font-size: $type-size-6; + + @include breakpoint($large) { + @include span(10 of 12 last); + } + + @include breakpoint($x-large) { + @include prefix(0.5 of 12); + } + } + + li { + display: inline; + } + + .current { + font-weight: bold; + } +} + + +/* + Post pagination navigation links + ========================================================================== */ + +.pagination { + @include full(); + @include clearfix(); + margin-top: 1em; + padding-top: 1em; + + ul { + margin: 0; + padding: 0; + list-style-type: none; + font-family: $sans-serif; + } + + li { + display: block; + float: left; + margin-left: -1px; + + a { + display: block; + margin-bottom: 0.25em; + padding: 0.5em 1em; + font-family: $sans-serif; + font-size: 14px; + font-weight: bold; + line-height: 1.5; + text-align: center; + text-decoration: none; + color: mix(#fff, $gray, 25%); + border: 1px solid $light-gray; + border-radius: 0; + + &:hover { + color: $link-color-hover; + } + + &.current { + color: #fff; + background: $primary-color; + } + + &.disabled { + color: mix(#fff, $gray, 75%); + pointer-events: none; + cursor: not-allowed; + } + } + + &:first-child { + margin-left: 0; + + a { + border-top-left-radius: $border-radius; + border-bottom-left-radius: $border-radius; + } + } + + &:last-child { + a { + border-top-right-radius: $border-radius; + border-bottom-right-radius: $border-radius; + } + } + } + + /* next/previous buttons */ + &--pager { + display: block; + padding: 1em 2em; + float: left; + width: 50%; + font-family: $sans-serif; + font-size: $type-size-5; + font-weight: bold; + text-align: center; + text-decoration: none; + color: $link-color; + border: 1px solid $light-gray; + border-radius: $border-radius; + + &:hover { + color: $link-color-hover; + } + + &:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + &:last-child { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + &.disabled { + color: mix(#fff, $gray, 75%); + pointer-events: none; + cursor: not-allowed; + } + } +} + +.page__content + .pagination, +.page__meta + .pagination, +.page__share + .pagination, +.page__comments + .pagination { + margin-top: 2em; + padding-top: 2em; + border-top: 1px solid $border-color; +} + + +/* + Priority plus navigation + ========================================================================== */ + +.greedy-nav { + position: relative; + min-width: 250px; + background: $background-color; + + a { + display: block; + margin: 0 1rem; + padding: 0.5rem 0; + color: $masthead-link-color; + text-decoration: none; + + &:hover { + color: $masthead-link-color-hover; + } + } + + button { + position: absolute; + height: 100%; + right: 0; + padding: 0 0.5rem; + border: 0; + outline: none; + background-color: $primary-color; + color: #fff; + cursor: pointer; + } + + .visible-links { + display: table; + + li { + display: table-cell; + vertical-align: middle; + + &:first-child { + font-weight: bold; + + a { + margin-left: 0; + } + } + + &:last-child { + a { + margin-right: 0; + } + } + } + + a { + position: relative; + + &:before { + content: ""; + position: absolute; + left: 0; + bottom: 0; + height: 4px; + background: mix(#fff, $primary-color, 50%); + width: 100%; + -webkit-transition: $global-transition; + transition: $global-transition; + -webkit-transform: scaleX(0) translate3d(0, 0 , 0); + -ms-transform: scaleX(0) translate3d(0, 0 , 0); + transform: scaleX(0) translate3d(0, 0 , 0); /* hide*/ + } + + &:hover:before { + -webkit-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); /* reveal*/ + } + } + } + + .hidden-links { + position: absolute; + top: 100%; + right: 0; + margin-top: 15px; + padding: 5px; + border: 1px solid $border-color; + border-radius: $border-radius; + background: #fff; + box-shadow: 0 0 10px rgba(#000, 0.25); + + a { + margin: 0; + padding: 10px 20px; + font-size: $type-size-5; + + &:hover { + color: $masthead-link-color-hover; + background: mix(#fff, $primary-color, 75%); + } + } + + &:before { + content: ""; + position: absolute; + top: -11px; + right: 10px; + width: 0; + border-style: solid; + border-width: 0 10px 10px; + border-color: $border-color transparent; + display: block; + z-index: 0; + } + + &:after { + content: ""; + position: absolute; + top: -10px; + right: 10px; + width: 0; + border-style: solid; + border-width: 0 10px 10px; + border-color: #fff transparent; + display: block; + z-index: 1; + } + + li { + display: block; + border-bottom: 1px solid $border-color; + + &:last-child { + border-bottom: none; + } + } + } +} + + +/* + Navigation list + ========================================================================== */ + +.nav__list { + margin-bottom: 1.5em; + + input[type="checkbox"], + label { + display: none; + } + + @include breakpoint(max-width ($large - 1px)) { + + label { + position: relative; + display: inline-block; + padding: 0.5em 2.5em 0.5em 1em; + color: $gray; + font-size: $type-size-6; + font-weight: bold; + border: 1px solid $light-gray; + border-radius: $border-radius; + z-index: 20; + -webkit-transition: 0.2s ease-out; + transition: 0.2s ease-out; + cursor: pointer; + + &:before, + &:after { + content: ''; + position: absolute; + right: 1em; + top: 1.25em; + width: 0.75em; + height: 0.125em; + line-height: 1; + background-color: $gray; + transition: 0.2s ease-out; + } + + &:after { + transform: rotate(90deg); + } + + &:hover { + color: #fff; + border-color: $gray; + background-color: mix(white, #000, 20%); + + &:before, + &:after { + background-color: #fff; + } + } + } + + /* selected*/ + input:checked + label { + color: white; + background-color: mix(white, #000, 20%); + + &:before, + &:after { + background-color: #fff; + } + } + + // on hover show expand + label:hover:after { + transform: rotate(90deg); + } + + input:checked + label:hover:after { + transform: rotate(0); + } + + ul { + margin-bottom: 1em; + } + + a { + display: block; + padding: 0.25em 0; + + @include breakpoint($large) { + padding-top: 0.125em; + padding-bottom: 0.125em; + } + + &:hover { + text-decoration: underline; + } + } + } +} + +.nav__list .nav__items { + margin: 0; + font-size: 1.25rem; + + a { + color: inherit; + } + + .active { + margin-left: -0.5em; + padding-left: 0.5em; + padding-right: 0.5em; + color: #fff; + font-weight: bold; + background: $primary-color; + border-radius: $border-radius; + + &:hover { + color: #fff; + } + } + + @include breakpoint(max-width ($large - 1px)) { + position: relative; + max-height: 0; + opacity: 0%; + overflow: hidden; + z-index: 10; + -webkit-transition: 0.3s ease-in-out; + transition: 0.3s ease-in-out; + -webkit-transform: translate(0, 10%); + -ms-transform: translate(0, 10%); + transform: translate(0, 10%); + } +} + +@include breakpoint(max-width ($large - 1px)) { + .nav__list input:checked ~ .nav__items { + -webkit-transition: 0.5s ease-in-out; + transition: 0.5s ease-in-out; + max-height: 9999px; // exaggerate max-height to accommodate tall lists + overflow: visible; + opacity: 1; + margin-top: 1em; + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); + } +} + +.nav__title { + margin: 0; + padding: 0.5rem 1rem; + font-family: $sans-serif-narrow; + font-size: $type-size-5; + font-weight: bold; +} + +.nav__sub-title { + display: block; + margin: 0.5rem 0; + padding: 0.5rem 0; + font-family: $sans-serif-narrow; + font-size: $type-size-6; + font-weight: bold; + text-transform: uppercase; + border-bottom: 1px solid $border-color; +} + + +/* + Table of contents navigation + ========================================================================== */ + +.toc { + font-family: $sans-serif-narrow; + color: $gray; + text-transform: uppercase; + letter-spacing: 1px; + background-color: #fff; + border: 1px solid $border-color; + border-radius: $border-radius; + box-shadow: $box-shadow; + + .nav__title { + color: #fff; + font-size: $type-size-6; + background: $primary-color; + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + } +} + +.toc__menu { + margin: 0; + padding: 0; + width: 100%; + list-style: none; + font-size: 0.8rem; + + a { + display: block; + padding: 0.5rem 1rem; + color: $gray; + font-size: $type-size-7; + font-weight: bold; + line-height: 1.5; + border-bottom: 1px solid $border-color; + + &:hover { + color: #000; + background: $lighter-gray; + } + } + + > li:last-child { + a { + border-bottom: none; + } + } + + li ul > li a { + padding-left: 2rem; + font-weight: normal; + } + + /* hide sub sub links on small screens*/ + li > ul li { + display: none; + + @include breakpoint($medium) { + display: block; + } + } +} \ No newline at end of file diff --git a/_sass/_notices.scss b/_sass/_notices.scss new file mode 100644 index 0000000000..26afa319d0 --- /dev/null +++ b/_sass/_notices.scss @@ -0,0 +1,99 @@ +/* ========================================================================== + NOTICE TEXT BLOCKS + ========================================================================== */ + +/** + * Default Kramdown usage (no indents!): + *
+ * #### Headline for the Notice + * Text for the notice + *
+ */ + +@mixin notice($notice-color) { + margin: 2em 0 !important; /* override*/ + padding: 1em; + font-family: $global-font-family; + font-size: $type-size-6 !important; + text-indent: initial; /* override*/ + background-color: mix(#fff, $notice-color, 90%); + border-radius: $border-radius; + box-shadow: 0 1px 1px rgba($notice-color, 0.25); + + h4 { + margin-top: 0 !important; /* override*/ + margin-bottom: 0.75em; + } + + @at-root .page__content #{&} h4 { + /* using at-root to override .page-content h4 font size*/ + margin-bottom: 0; + font-size: 1em; + } + + p { + &:last-child { + margin-bottom: 0 !important; /* override*/ + } + } + + h4 + p { + /* remove space above paragraphs that appear directly after notice headline*/ + margin-top: 0; + padding-top: 0; + } + + a { + color: $notice-color; + + &:hover { + color: mix(#000, $notice-color, 40%); + } + } + + code { + background-color: mix(#fff, $notice-color, 95%) + } + + ul { + &:last-child { + margin-bottom: 0; /* override*/ + } + } +} + +/* Default notice */ + +.notice { + @include notice($light-gray); +} + +/* Primary notice */ + +.notice--primary { + @include notice($primary-color); +} + +/* Info notice */ + +.notice--info { + @include notice($info-color); +} + +/* Warning notice */ + +.notice--warning { + @include notice($warning-color); +} + +/* Success notice */ + +.notice--success { + @include notice($success-color); +} + +/* Danger notice */ + +.notice--danger { + @include notice($danger-color); +} \ No newline at end of file diff --git a/_sass/_page.scss b/_sass/_page.scss new file mode 100644 index 0000000000..1c8223977f --- /dev/null +++ b/_sass/_page.scss @@ -0,0 +1,401 @@ +/* ========================================================================== + SINGLE PAGE/POST + ========================================================================== */ + +#main { + @include container; + @include clearfix; + margin-top: 2em; + padding-left: 1em; + padding-right: 1em; + animation: intro 0.3s both; + animation-delay: 0.35s; + + @include breakpoint($x-large) { + max-width: $x-large; + } +} + +.page { + @include breakpoint($large) { + @include span(10 of 12 last); + @include prefix(0.5 of 12); + @include suffix(2 of 12); + } + + .page__inner-wrap { + @include full(); + + .page__content, + .page__meta, + .page__share { + @include full(); + } + } +} + +.page__title { + margin-top: 0; + line-height: 1; + + & + .page__meta { + margin-top: -0.5em; + } +} + +.page__lead { + font-family: $global-font-family; + font-size: $type-size-4; +} + +.page__content { + + h2 { + padding-bottom: 0.5em; + border-bottom: 1px solid $border-color; + } + + p, li, dl { + font-size: 1em; + } + + /* paragraph indents */ + p { + margin: 0 0 $indent-var; + + /* sibling indentation*/ + @if $paragraph-indent == true { + & + p { + text-indent: $indent-var; + margin-top: -($indent-var); + } + } + } + + a { + text-decoration: none; + + &:hover { + text-decoration: underline; + + img { + box-shadow: 0 0 10px rgba(#000, 0.25); + } + } + } + + dt { + margin-top: 1em; + font-family: $sans-serif; + font-weight: bold; + } + + dd { + margin-left: 1em; + font-family: $sans-serif; + font-size: $type-size-6; + } + + .small { + font-size: $type-size-6; + } + + /* blockquote citations */ + blockquote + .small { + margin-top: -1.5em; + padding-left: 1.25rem; + } +} + +.page__hero { + position: relative; + margin-bottom: 2em; + @include clearfix; + animation: intro 0.3s both; + animation-delay: 0.25s; + + &--overlay { + position: relative; + margin-bottom: 2em; + padding: 3em 0; + @include clearfix; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + animation: intro 0.3s both; + animation-delay: 0.25s; + + a { + color: #fff; + } + + .wrapper { + padding-left: 1em; + padding-right: 1em; + + @include breakpoint($x-large) { + max-width: $x-large; + } + } + + .page__title, + .page__meta, + .page__lead, + .btn { + color: #fff; + text-shadow: 1px 1px 4px rgba(#000, 0.5); + } + + .page__lead { + max-width: $medium; + } + + .page__title { + font-size: $type-size-2; + + @include breakpoint($small) { + font-size: $type-size-1; + } + } + } +} + +.page__hero-image { + width: 100%; + height: auto; + -ms-interpolation-mode: bicubic; +} + +.page__hero-caption { + position: absolute; + bottom: 0; + right: 0; + margin: 0 auto; + padding: 2px 5px; + color: #fff; + font-family: $caption-font-family; + font-size: $type-size-7; + background: #000; + text-align: right; + z-index: 5; + opacity: 0.5; + border-radius: $border-radius 0 $border-radius 0; + + @include breakpoint($large) { + padding: 5px 10px; + } + + a { + color: #fff; + text-decoration: none; + } +} + +/* + Social sharing + ========================================================================== */ + +.page__share { + margin-top: 2em; + padding-top: 1em; + border-top: 1px solid $border-color; + + @include breakpoint(max-width $small) { + .btn span { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + } + } +} + +.page__share-title { + margin-bottom: 10px; + font-size: $type-size-6; + text-transform: uppercase; +} + + +/* + Page meta + ========================================================================== */ + +.page__meta { + margin-top: 2em; + color: mix(#fff, $gray, 25%); + font-family: $sans-serif; + font-size: $type-size-6; + + p { + margin: 0; + } + + a { + color: inherit; + } +} + +.page__meta-title { + margin-bottom: 10px; + font-size: $type-size-6; + text-transform: uppercase; +} + + +/* + Page taxonomy + ========================================================================== */ + +.page__taxonomy { + .sep { + display: none; + } + + strong { + margin-right: 10px; + } +} + +.page__taxonomy-item { + display: inline-block; + margin-right: 5px; + margin-bottom: 8px; + padding: 5px 10px; + text-decoration: none; + border: 1px solid $light-gray; + border-radius: $border-radius; + + &:hover { + text-decoration: none; + color: $link-color-hover; + } +} + + +/* + Comments + ========================================================================== */ + +.page__comments { + @include full(); +} + +.page__comments-title { + margin-top: 2rem; + margin-bottom: 10px; + padding-top: 2rem; + font-size: $type-size-6; + border-top: 1px solid $border-color; + text-transform: uppercase; +} + +.page__comments-form { + padding: 1em; + background: $lighter-gray; + transition: $global-transition; + + &.disabled { + input, + button, + textarea, + label { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + box-shadow: none; + opacity: 0.65; + } + } +} + +.comment { + @include clearfix(); + margin: 1em 0; + + &:not(:last-child) { + border-bottom: 1px solid $border-color; + } +} + +.comment__avatar-wrapper { + float: left; + width: 60px; + height: 60px; + + @include breakpoint($large) { + width: 100px; + height: 100px; + } +} + +.comment__avatar { + width: 40px; + height: 40px; + border-radius: 50%; + + @include breakpoint($large) { + width: 80px; + height: 80px; + padding: 5px; + border: 1px solid $border-color; + } +} + +.comment__content-wrapper { + float: right; + width: calc(100% - 60px); + + @include breakpoint($large) { + width: calc(100% - 100px); + } +} + +.comment__author { + margin: 0; + + a { + text-decoration: none; + } +} + +.comment__date { + @extend .page__meta; + margin: 0; + + a { + text-decoration: none; + } +} + + +/* + Related + ========================================================================== */ + +.page__related { + margin-top: 2em; + padding-top: 1em; + border-top: 1px solid $border-color; + @include clearfix(); + float: left; + + @include breakpoint($large) { + @include pre(2.5 of 12); + } + + a { + color: inherit; + text-decoration: none; + } +} + +.page__related-title { + margin-bottom: 10px; + font-size: $type-size-6; + text-transform: uppercase; +} \ No newline at end of file diff --git a/_sass/_print.scss b/_sass/_print.scss new file mode 100644 index 0000000000..04201cddd4 --- /dev/null +++ b/_sass/_print.scss @@ -0,0 +1,18 @@ +/* ========================================================================== + PRINT STYLES + ========================================================================== */ + +/* + Hide the following elements on print + ========================================================================== */ + +@media print { + .masthead, + .toc, + .page__share, + .page__related, + .ads, + .page__footer { + display: none; + } +} \ No newline at end of file diff --git a/_sass/_reset.scss b/_sass/_reset.scss new file mode 100644 index 0000000000..2b3b0cf8da --- /dev/null +++ b/_sass/_reset.scss @@ -0,0 +1,187 @@ +/* ========================================================================== + STYLE RESETS + ========================================================================== */ + +@include border-box-sizing; + +html { + /* apply a natural box layout model to all elements */ + box-sizing: border-box; + background-color: $background-color; + font-size: 16px; + + @include breakpoint($medium) { + font-size: 18px; + } + + @include breakpoint($large) { + font-size: 20px; + } + + @include breakpoint($x-large) { + font-size: 22px; + } + + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +/* Remove margin */ + +body { margin: 0; } + +/* Selected elements */ + +::-moz-selection { + color: #fff; + background: #000; +} + +::selection { + color: #fff; + background: #000; +} + +/* Display HTML5 elements in IE6-9 and FF3 */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { + display: block; +} + +/* Display block in IE6-9 and FF3 */ + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/* Prevents modern browsers from displaying 'audio' without controls */ + +audio:not([controls]) { + display: none; +} + +a { + color: $link-color; +} + +/* Apply focus state */ + +a:focus { + @extend %tab-focus; +} + +/* Remove outline from links */ + +a:hover, +a:active { + outline: 0; +} + +/* Prevent sub and sup affecting line-height in all browsers */ + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* img border in anchor's and image quality */ + +img { + /* Responsive images (ensure images don't scale beyond their parents) */ + max-width: 100%; /* part 1: Set a maximum relative to the parent*/ + width: auto\9; /* IE7-8 need help adjusting responsive images*/ + height: auto; /* part 2: Scale the height according to the width, otherwise you get stretching*/ + + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +/* Prevent max-width from affecting Google Maps */ + +#map_canvas img, +.google-maps img { + max-width: none; +} + +/* Consistent form font size in all browsers, margin changes, misc */ + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; /* inner spacing ie IE6/7*/ + line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/ +} + +button::-moz-focus-inner, +input::-moz-focus-inner { /* inner padding and border oddities in FF3/4*/ + padding: 0; + border: 0; +} + +button, +html input[type="button"], // avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* corrects inability to style clickable `input` types in iOS*/ + cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/ +} + +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/ +} + +input[type="search"] { /* Appearance in Safari/Chrome*/ + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; /* inner-padding issues in Chrome OSX, Safari 5*/ +} + +textarea { + overflow: auto; /* remove vertical scrollbar in IE6-9*/ + vertical-align: top; /* readability and alignment cross-browser*/ +} \ No newline at end of file diff --git a/_sass/_sidebar.scss b/_sass/_sidebar.scss new file mode 100644 index 0000000000..8938060039 --- /dev/null +++ b/_sass/_sidebar.scss @@ -0,0 +1,231 @@ +/* ========================================================================== + SIDEBAR + ========================================================================== */ + +/* + Default + ========================================================================== */ + +.sidebar { + -webkit-transform: translate3d(0, 0 , 0); + transform: translate3d(0, 0 , 0); + + @include clearfix(); + margin-bottom: 1em; + + @include breakpoint($large) { + @include span(2 of 12); + opacity: 0.75; + -webkit-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; + + &:hover { + opacity: 1; + } + } + + @include breakpoint($x-large) { + padding-right: 0; + } + + h2, h3, h4, h5, h6 { + margin-bottom: 0; + font-family: $sans-serif-narrow; + } + + p, li { + font-family: $sans-serif; + font-size: $type-size-6; + line-height: 1.5; + } + + img { + width: 100%; + } +} + +.sidebar__right { + margin-bottom: 1em; + + @include breakpoint($large) { + position: relative; + float: right; + width: $right-sidebar-width-narrow; + margin-left: span(0.5 of 12); + z-index: 10; + } + + @include breakpoint($x-large) { + width: $right-sidebar-width; + } +} + +/* + Author profile and links + ========================================================================== */ + +.author__avatar { + display: table-cell; + vertical-align: top; + width: 36px; + height: 36px; + + @include breakpoint($large) { + display: block; + width: auto; + height: auto; + } + + img { + max-width: 110px; + border-radius: 50%; + + @include breakpoint($large) { + padding: 5px; + border: 1px solid $border-color; + } + } +} + +.author__content { + display: table-cell; + vertical-align: top; + padding-left: 15px; + padding-right: 25px; + line-height: 1; + + @include breakpoint($large) { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; + } +} + +.author__name { + margin: 0; + + @include breakpoint($large) { + margin-top: 10px; + margin-bottom: 10px; + } +} +.sidebar .author__name { + font-family: $sans-serif; + font-size: $type-size-5; +} + +.author__bio { + margin: 0; + + @include breakpoint($large) { + margin-top: 10px; + margin-bottom: 20px; + } +} + +.author__urls-wrapper { + position: relative; + display: table-cell; + vertical-align: middle; + font-family: $sans-serif; + z-index: 10; + position: relative; + cursor: pointer; + + li:last-child { + a { + margin-bottom: 0; + } + } + + @include breakpoint($large) { + display: block; + } + + button { + margin-bottom: 0; + + @include breakpoint($large) { + display: none; + } + } +} + +.author__urls { + display: none; + position: absolute; + right: 0; + margin-top: 15px; + padding: 10px; + list-style-type: none; + border: 1px solid $border-color; + border-radius: $border-radius; + background: #fff; + z-index: -1; + box-shadow: 0 0 10px rgba(#000, 0.25); + cursor: default; + + @include breakpoint($large) { + display: block; + position: relative; + margin: 0; + padding: 0; + border: 0; + background: transparent; + box-shadow: none; + } + + &:before { + display: block; + content: ""; + position: absolute; + top: -11px; + left: calc(50% - 10px); + width: 0; + border-style: solid; + border-width: 0 10px 10px; + border-color: $border-color transparent; + z-index: 0; + + @include breakpoint($large) { + display: none; + } + } + + &:after { + display: block; + content: ""; + position: absolute; + top: -10px; + left: calc(50% - 10px); + width: 0; + border-style: solid; + border-width: 0 10px 10px; + border-color: #fff transparent; + z-index: 1; + + @include breakpoint($large) { + display: none; + } + } + + li { + white-space: nowrap; + } + + a { + display: block; + margin-bottom: 5px; + padding-right: 5px; + padding-top: 2px; + padding-bottom: 2px; + color: inherit; + font-size: $type-size-5; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } +} \ No newline at end of file diff --git a/_sass/_syntax.scss b/_sass/_syntax.scss new file mode 100644 index 0000000000..fb13b73add --- /dev/null +++ b/_sass/_syntax.scss @@ -0,0 +1,146 @@ +/* ========================================================================== + Syntax highlighting + ========================================================================== */ + +div.highlighter-rouge, +figure.highlight { + position: relative; + margin-bottom: 1em; + font-family: $monospace; + font-size: $type-size-7; + line-height: 1.8; + border: 1px solid $border-color; + border-radius: $border-radius; + background-color: $code-background-color; + box-shadow: $box-shadow; + + &:before { + position: absolute; + top: 0; + right: 0; + padding: 0.5em; + background-color: $lighter-gray; + content: "\f121"; + font-family: "fontawesome" !important; + line-height: 1; + text-transform: none; + speak: none; + } + + .highlight { + margin: 0; + padding: 1em; + } +} + +figure.highlight { + padding-left: 1em; + padding-right: 1em; +} + +.highlight table { + font-size: 1em; + border: 0; + + td { + padding: 5px; + border: 0; + + // line numbers + &.gutter { + padding-right: 1em; + color: $light-gray; + } + } + + pre { + margin: 0; + } +} + +.highlight pre { width: 100%; } + +/* + Solarized Light + http://ethanschoonover.com/solarized + + SOLARIZED HEX ROLE + --------- -------- ------------------------------------------ + base01 #586e75 body text / default code / primary content + base1 #93a1a1 comments / secondary content + base3 #fdf6e3 background + orange #cb4b16 constants + red #dc322f regex, special keywords + blue #22b3eb reserved keywords + cyan #2aa198 strings, numbers + green #859900 operators, other keywords + ========================================================================== */ + +.highlight .c { color: #93a1a1 } /* Comment */ +.highlight .err { color: #586e75 } /* Error */ +.highlight .g { color: #586e75 } /* Generic */ +.highlight .k { color: #859900 } /* Keyword */ +.highlight .l { color: #586e75 } /* Literal */ +.highlight .n { color: #586e75 } /* Name */ +.highlight .o { color: #859900 } /* Operator */ +.highlight .x { color: #cb4b16 } /* Other */ +.highlight .p { color: #586e75 } /* Punctuation */ +.highlight .cm { color: #93a1a1 } /* Comment.Multiline */ +.highlight .cp { color: #859900 } /* Comment.Preproc */ +.highlight .c1 { color: #93a1a1 } /* Comment.Single */ +.highlight .cs { color: #859900 } /* Comment.Special */ +.highlight .gd { color: #2aa198 } /* Generic.Deleted */ +.highlight .ge { color: #586e75; font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #dc322f } /* Generic.Error */ +.highlight .gh { color: #cb4b16 } /* Generic.Heading */ +.highlight .gi { color: #859900 } /* Generic.Inserted */ +.highlight .go { color: #586e75 } /* Generic.Output */ +.highlight .gp { color: #586e75 } /* Generic.Prompt */ +.highlight .gs { color: #586e75; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #cb4b16 } /* Generic.Subheading */ +.highlight .gt { color: #586e75 } /* Generic.Traceback */ +.highlight .kc { color: #cb4b16 } /* Keyword.Constant */ +.highlight .kd { color: #22b3eb } /* Keyword.Declaration */ +.highlight .kn { color: #859900 } /* Keyword.Namespace */ +.highlight .kp { color: #859900 } /* Keyword.Pseudo */ +.highlight .kr { color: #22b3eb } /* Keyword.Reserved */ +.highlight .kt { color: #dc322f } /* Keyword.Type */ +.highlight .ld { color: #586e75 } /* Literal.Date */ +.highlight .m { color: #2aa198 } /* Literal.Number */ +.highlight .s { color: #2aa198 } /* Literal.String */ +.highlight .na { color: #586e75 } /* Name.Attribute */ +.highlight .nb { color: #B58900 } /* Name.Builtin */ +.highlight .nc { color: #22b3eb } /* Name.Class */ +.highlight .no { color: #cb4b16 } /* Name.Constant */ +.highlight .nd { color: #22b3eb } /* Name.Decorator */ +.highlight .ni { color: #cb4b16 } /* Name.Entity */ +.highlight .ne { color: #cb4b16 } /* Name.Exception */ +.highlight .nf { color: #22b3eb } /* Name.Function */ +.highlight .nl { color: #586e75 } /* Name.Label */ +.highlight .nn { color: #586e75 } /* Name.Namespace */ +.highlight .nx { color: #586e75 } /* Name.Other */ +.highlight .py { color: #586e75 } /* Name.Property */ +.highlight .nt { color: #22b3eb } /* Name.Tag */ +.highlight .nv { color: #22b3eb } /* Name.Variable */ +.highlight .ow { color: #859900 } /* Operator.Word */ +.highlight .w { color: #586e75 } /* Text.Whitespace */ +.highlight .mf { color: #2aa198 } /* Literal.Number.Float */ +.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */ +.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */ +.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */ +.highlight .sb { color: #93a1a1 } /* Literal.String.Backtick */ +.highlight .sc { color: #2aa198 } /* Literal.String.Char */ +.highlight .sd { color: #586e75 } /* Literal.String.Doc */ +.highlight .s2 { color: #2aa198 } /* Literal.String.Double */ +.highlight .se { color: #cb4b16 } /* Literal.String.Escape */ +.highlight .sh { color: #586e75 } /* Literal.String.Heredoc */ +.highlight .si { color: #2aa198 } /* Literal.String.Interpol */ +.highlight .sx { color: #2aa198 } /* Literal.String.Other */ +.highlight .sr { color: #dc322f } /* Literal.String.Regex */ +.highlight .s1 { color: #2aa198 } /* Literal.String.Single */ +.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */ +.highlight .bp { color: #22b3eb } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #22b3eb } /* Name.Variable.Class */ +.highlight .vg { color: #22b3eb } /* Name.Variable.Global */ +.highlight .vi { color: #22b3eb } /* Name.Variable.Instance */ +.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_sass/_tables.scss b/_sass/_tables.scss new file mode 100644 index 0000000000..d31dc24ae0 --- /dev/null +++ b/_sass/_tables.scss @@ -0,0 +1,38 @@ +/* ========================================================================== + TABLES + ========================================================================== */ + +table { + margin-bottom: 1em; + width: 100%; + font-family: $global-font-family; + font-size: $type-size-6; + border-collapse: collapse; + border: 1px solid $light-gray; + + & + table { + margin-top: 1em; + } +} + +thead { + background-color: $lighter-gray; + border-bottom: 1px solid $light-gray; +} + +th { + padding: 0.5em; + font-weight: bold; + text-align: left; + border-right: 1px solid $light-gray; +} + +td { + padding: 0.5em; + border-bottom: 1px solid $light-gray; + border-right: 1px solid $light-gray; +} + +tr, td, th { + vertical-align: middle; +} \ No newline at end of file diff --git a/_sass/_utilities.scss b/_sass/_utilities.scss new file mode 100644 index 0000000000..7ffae3b3f6 --- /dev/null +++ b/_sass/_utilities.scss @@ -0,0 +1,470 @@ +/* ========================================================================== + UTILITY CLASSES + ========================================================================== */ + +/* + Visibility + ========================================================================== */ + +/* http://www.456bereastreet.com/archive/200711/screen_readers_sometimes_ignore_displaynone/ */ + +.hidden { + display: none; + visibility: hidden; +} + +/* for preloading images */ + +.load { + display: none; +} + +.transparent { + opacity: 0; +} + +/* https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html */ + +.visually-hidden, +.screen-reader-text, +.screen-reader-text span, +.screen-reader-shortcut { + position: absolute !important; + clip: rect(1px, 1px, 1px, 1px); + height: 1px !important; + width: 1px !important; + border: 0 !important; + overflow: hidden; +} + +body:hover .visually-hidden a, +body:hover .visually-hidden input, +body:hover .visually-hidden button { + display: none !important; +} + +/* screen readers */ + +.screen-reader-text:focus, +.screen-reader-shortcut:focus { + clip: auto !important; + height: auto !important; + width: auto !important; + display: block; + font-size: 1em; + font-weight: bold; + padding: 15px 23px 14px; + background: #fff; + z-index: 100000; + text-decoration: none; + box-shadow: 0 0 2px 2px rgba(0,0,0,.6); +} + + +/* + Skip links + ========================================================================== */ + +.skip-link { + position: fixed; + z-index: 20; + margin: 0; + font-family: $sans-serif; + white-space: nowrap; +} + +.skip-link li { + height: 0; + width: 0; + list-style: none; +} + + +/* + Type + ========================================================================== */ + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-justify { + text-align: justify; +} + +.text-nowrap { + white-space: nowrap; +} + + +/* + Alignment + ========================================================================== */ + +/* clearfix */ + +.cf { clear: both; } + +.wrapper { + @include container(); +} + + +/* + Images + ========================================================================== */ + +/* image align left */ + +.align-left { + display: block; + margin-left: auto; + margin-right: auto; + + @include breakpoint($small) { + float: left; + margin-right: 1em; + } +} + +/* image align right */ + +.align-right { + display: block; + margin-left: auto; + margin-right: auto; + + @include breakpoint($small) { + float: right; + margin-left: 1em; + } +} + +/* image align center */ + +.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +/* file page content container */ + +.full { + @include breakpoint($large){ + margin-right: -1 * span(2.5 of 12) !important; + } +} + +/* + Icons + ========================================================================== */ + +.icon { + display: inline-block; + fill: currentColor; + width: 1em; + height: 1.1em; + line-height: 1; + position: relative; + top: -0.1em; + vertical-align: middle; +} + +/* social icons*/ + +.social-icons { + .fa { + color: #000; + } + + .fa-behance, + .fa-behance-square { + color: $behance-color; + } + + .fa-dribbble { + color: $dribbble-color; + } + + .fa-facebook, + .fa-facebook-square { + color: $facebook-color; + } + + .fa-flickr { + color: $flickr-color; + } + + .fa-foursquare { + color: $foursquare-color; + } + + .fa-github, + .fa-github-alt, + .fa-github-square { + color: $github-color; + } + + .fa-google-plus, + .fa-google-plus-square { + color: $google-plus-color; + } + + .fa-instagram { + color: $instagram-color; + } + + .fa-lastfm, + .fa-lastfm-square { + color: $lastfm-color; + } + + .fa-linkedin, + .fa-linkedin-square { + color: $linkedin-color; + } + + .fa-pinterest, + .fa-pinterest-p, + .fa-pinterest-square { + color: $pinterest-color; + } + + .fa-rss, + .fa-rss-square { + color: $rss-color; + } + + .fa-soundcloud { + color: $soundcloud-color; + } + + .fa-stack-exchange, + .fa-stack-overflow { + color: $stackoverflow-color; + } + + .fa-tumblr, + .fa-tumblr-square { + color: $tumblr-color; + } + + .fa-twitter, + .fa-twitter-square { + color: $twitter-color; + } + + .fa-vimeo, + .fa-vimeo-square { + color: $vimeo-color; + } + + .fa-vine { + color: $vine-color; + } + + .fa-youtube, + .fa-youtube-square, + .fa-youtube-play { + color: $youtube-color; + } + + .fa-xing, + .fa-xing-square { + color: $xing-color; + } +} + + +/* + Navicons + ========================================================================== */ + +.navicon { + position: relative; + width: $navicon-width; + height: $navicon-height; + background: #fff; + margin: auto; + -webkit-transition: 0.3s; + transition: 0.3s; + + &:before, + &:after { + content: ""; + position: absolute; + left: 0; + width: $navicon-width; + height: $navicon-height; + background: #fff; + -webkit-transition: 0.3s; + transition: 0.3s; + } + + &:before { + top: (-2 * $navicon-height); + } + + &:after { + bottom: (-2 * $navicon-height); + } +} + +.close .navicon { + /* hide the middle line*/ + background: transparent; + + /* overlay the lines by setting both their top values to 0*/ + &:before, &:after{ + -webkit-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; + top: 0; + width: $navicon-width; + } + + /* rotate the lines to form the x shape*/ + &:before{ + -webkit-transform: rotate3d(0,0,1,45deg); + transform: rotate3d(0,0,1,45deg); + } + &:after{ + -webkit-transform: rotate3d(0,0,1,-45deg); + transform: rotate3d(0,0,1,-45deg); + } +} + + +/* + Sticky, fixed to top content + ========================================================================== */ + +.sticky { + @include breakpoint($large) { + @include clearfix(); + position: -webkit-sticky; + position: sticky; + top: 2em; + + > * { + display: block; + } + } +} + + +/* + Wells + ========================================================================== */ + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: $border-radius; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + + +/* + Modals + ========================================================================== */ + +.show-modal { + overflow: hidden; + position: relative; + + &:before { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999; + background-color: rgba(255, 255, 255, 0.85); + } + + .modal { + display: block; + } +} + +.modal { + display: none; + position: fixed; + width: 300px; + top: 50%; + left: 50%; + margin-left: -150px; + margin-top: -150px; + min-height: 0; + z-index: 9999; + background: #fff; + border: 1px solid $border-color; + border-radius: $border-radius; + box-shadow: $box-shadow; + + &__title { + margin: 0; + padding: 0.5em 1em; + } + + &__supporting-text { + padding: 0 1em 0.5em 1em; + } + + &__actions { + padding: 0.5em 1em; + border-top: 1px solid $border-color; + } +} + + +/* + Footnotes + ========================================================================== */ + +.footnote { + color: mix(#fff, $gray, 25%); + text-decoration: none; +} + +.footnotes { + color: mix(#fff, $gray, 25%); + + ol, li, p { + margin-bottom: 0; + font-size: $type-size-6; + } +} + +a.reversefootnote { + color: $gray; + text-decoration: none; + + &:hover { + text-decoration: underline; + } +} + + +/* + Required + ========================================================================== */ + +.required { + color: $danger-color; + font-weight: bold; +} \ No newline at end of file diff --git a/_sass/_variables.scss b/_sass/_variables.scss new file mode 100644 index 0000000000..b662d7fa4e --- /dev/null +++ b/_sass/_variables.scss @@ -0,0 +1,128 @@ +/* ========================================================================== + Variables + ========================================================================== */ + +/* + Typography + ========================================================================== */ + +$doc-font-size : 16 !default; + +/* paragraph indention */ +$paragraph-indent : false !default; // true, false (default) +$indent-var : 1.3em !default; + +/* system typefaces */ +$serif : Georgia, Times, serif !default; +$sans-serif : -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default; +$monospace : Monaco, Consolas, "Lucida Console", monospace !default; + +/* sans serif typefaces */ +$sans-serif-narrow : $sans-serif !default; +$helvetica : Helvetica, "Helvetica Neue", Arial, sans-serif !default; + +/* serif typefaces */ +$georgia : Georgia, serif !default; +$times : Times, serif !default; +$bodoni : "Bodoni MT", serif !default; +$calisto : "Calisto MT", serif !default; +$garamond : Garamond, serif !default; + +$global-font-family : $sans-serif !default; +$header-font-family : $sans-serif !default; +$caption-font-family : $serif !default; + +/* type scale */ +$type-size-1 : 2.441em !default; // ~39.056px +$type-size-2 : 1.953em !default; // ~31.248px +$type-size-3 : 1.563em !default; // ~25.008px +$type-size-4 : 1.25em !default; // ~20px +$type-size-5 : 1em !default; // ~16px +$type-size-6 : 0.75em !default; // ~12px +$type-size-7 : 0.6875em !default; // ~11px +$type-size-8 : 0.625em !default; // ~10px + + +/* + Colors + ========================================================================== */ + +$gray : #7a8288 !default; +$dark-gray : mix(#000, $gray, 40%) !default; +$darker-gray : mix(#000, $gray, 60%) !default; +$light-gray : mix(#fff, $gray, 50%) !default; +$lighter-gray : mix(#fff, $gray, 90%) !default; + +$body-color : #fff !default; +$background-color : #fff !default; +$code-background-color : #fafafa !default; +$code-background-color-dark : $light-gray !default; +$text-color : $dark-gray !default; +$border-color : $lighter-gray !default; + +$primary-color : #7a8288 !default; +$success-color : #62c462 !default; +$warning-color : #f89406 !default; +$danger-color : #ee5f5b !default; +$info-color : #52adc8 !default; + +/* brands */ +$behance-color : #1769FF !default; +$dribbble-color : #ea4c89 !default; +$facebook-color : #3b5998 !default; +$flickr-color : #ff0084 !default; +$foursquare-color : #0072b1 !default; +$github-color : #171516 !default; +$google-plus-color : #dd4b39 !default; +$instagram-color : #517fa4 !default; +$lastfm-color : #d51007 !default; +$linkedin-color : #007bb6 !default; +$pinterest-color : #cb2027 !default; +$rss-color : #fa9b39 !default; +$soundcloud-color : #ff3300 !default; +$stackoverflow-color : #fe7a15 !default; +$tumblr-color : #32506d !default; +$twitter-color : #55acee !default; +$vimeo-color : #1ab7ea !default; +$vine-color : #00bf8f !default; +$youtube-color : #bb0000 !default; +$xing-color : #006567 !default; + + +/* links */ +$link-color : $info-color !default; +$link-color-hover : mix(#000, $link-color, 25%) !default; +$link-color-visited : mix(#fff, $link-color, 25%) !default; +$masthead-link-color : $primary-color !default; +$masthead-link-color-hover : mix(#000, $primary-color, 25%) !default; + + +/* + Breakpoints + ========================================================================== */ + +$small : 600px !default; +$medium : 768px !default; +$medium-wide : 900px !default; +$large : 1024px !default; +$x-large : 1280px !default; + + +/* + Grid + ========================================================================== */ + +$right-sidebar-width-narrow : 200px !default; +$right-sidebar-width : 300px !default; +$right-sidebar-width-wide : 400px !default; + + +/* + Other + ========================================================================== */ + +$border-radius : 4px !default; +$box-shadow : 0 1px 1px rgba(0, 0, 0, 0.125) !default; +$navicon-width : 28px !default; +$navicon-height : 4px !default; +$global-transition : all 0.2s ease-in-out !default; \ No newline at end of file diff --git a/_sass/vendor/breakpoint/_breakpoint.scss b/_sass/vendor/breakpoint/_breakpoint.scss new file mode 100644 index 0000000000..a0528eb8bc --- /dev/null +++ b/_sass/vendor/breakpoint/_breakpoint.scss @@ -0,0 +1,114 @@ +////////////////////////////// +// Default Variables +////////////////////////////// +$Breakpoint-Settings: ( + 'default media': all, + 'default feature': min-width, + 'default pair': width, + + 'force all media type': false, + 'to ems': false, + 'transform resolutions': true, + + 'no queries': false, + 'no query fallbacks': false, + + 'base font size': 16px, + + 'legacy syntax': false +); + +$breakpoint: () !default; + +////////////////////////////// +// Imports +////////////////////////////// +@import "settings"; +@import "context"; +@import "helpers"; +@import "parsers"; +@import "no-query"; + +@import "respond-to"; + +@import "legacy-settings"; + +////////////////////////////// +// Breakpoint Mixin +////////////////////////////// + +@mixin breakpoint($query, $no-query: false) { + @include legacy-settings-warning; + + // Reset contexts + @include private-breakpoint-reset-contexts(); + + $breakpoint: breakpoint($query, false); + + $query-string: map-get($breakpoint, 'query'); + $query-fallback: map-get($breakpoint, 'fallback'); + + $private-breakpoint-context-holder: map-get($breakpoint, 'context holder') !global; + $private-breakpoint-query-count: map-get($breakpoint, 'query count') !global; + + // Allow for an as-needed override or usage of no query fallback. + @if $no-query != false { + $query-fallback: $no-query; + } + + @if $query-fallback != false { + $context-setter: private-breakpoint-set-context('no-query', $query-fallback); + } + + // Print Out Query String + @if not breakpoint-get('no queries') { + @media #{$query-string} { + @content; + } + } + + @if breakpoint-get('no query fallbacks') != false or breakpoint-get('no queries') == true { + + $type: type-of(breakpoint-get('no query fallbacks')); + $print: false; + + @if ($type == 'bool') { + $print: true; + } + @else if ($type == 'string') { + @if $query-fallback == breakpoint-get('no query fallbacks') { + $print: true; + } + } + @else if ($type == 'list') { + @each $wrapper in breakpoint-get('no query fallbacks') { + @if $query-fallback == $wrapper { + $print: true; + } + } + } + + // Write Fallback + @if ($query-fallback != false) and ($print == true) { + $type-fallback: type-of($query-fallback); + + @if ($type-fallback != 'bool') { + #{$query-fallback} & { + @content; + } + } + @else { + @content; + } + } + } + + @include private-breakpoint-reset-contexts(); +} + + +@mixin mq($query, $no-query: false) { + @include breakpoint($query, $no-query) { + @content; + } +} diff --git a/_sass/vendor/breakpoint/_context.scss b/_sass/vendor/breakpoint/_context.scss new file mode 100644 index 0000000000..57947f5c8b --- /dev/null +++ b/_sass/vendor/breakpoint/_context.scss @@ -0,0 +1,95 @@ +////////////////////////////// +// Private Breakpoint Variables +////////////////////////////// +$private-breakpoint-context-holder: (); +$private-breakpoint-query-count: 0 !default; + +////////////////////////////// +// Breakpoint Has Context +// Returns whether or not you are inside a Breakpoint query +////////////////////////////// +@function breakpoint-has-context() { + @if length($private-breakpoint-query-count) { + @return true; + } + @else { + @return false; + } +} + +////////////////////////////// +// Breakpoint Get Context +// $feature: Input feature to get it's current MQ context. Returns false if no context +////////////////////////////// +@function breakpoint-get-context($feature) { + @if map-has-key($private-breakpoint-context-holder, $feature) { + $get: map-get($private-breakpoint-context-holder, $feature); + // Special handling of no-query from get side so /false/ prepends aren't returned + @if $feature == 'no-query' { + @if type-of($get) == 'list' and length($get) > 1 and nth($get, 1) == false { + $get: nth($get, length($get)); + } + } + @return $get; + } + @else { + @if breakpoint-has-context() and $feature == 'media' { + @return breakpoint-get('default media'); + } + @else { + @return false; + } + } +} + +////////////////////////////// +// Private function to set context +////////////////////////////// +@function private-breakpoint-set-context($feature, $value) { + @if $value == 'monochrome' { + $feature: 'monochrome'; + } + + $current: map-get($private-breakpoint-context-holder, $feature); + @if $current and length($current) == $private-breakpoint-query-count { + @warn "You have already queried against `#{$feature}`. Unexpected things may happen if you query against the same feature more than once in the same `and` query. Breakpoint is overwriting the current context with `#{$value}`"; + } + + @if not map-has-key($private-breakpoint-context-holder, $feature) { + $v-holder: (); + @for $i from 1 to $private-breakpoint-query-count { + @if $feature == 'media' { + $v-holder: append($v-holder, breakpoint-get('default media')); + } + @else { + $v-holder: append($v-holder, false); + } + } + $v-holder: append($v-holder, $value); + $private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global; + } + @else { + $v-holder: map-get($private-breakpoint-context-holder, $feature); + $length: length($v-holder); + @for $i from $length to $private-breakpoint-query-count - 1 { + @if $feature == 'media' { + $v-holder: append($v-holder, breakpoint-get('default media')); + } + @else { + $v-holder: append($v-holder, false); + } + } + $v-holder: append($v-holder, $value); + $private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global; + } + + @return true; +} + +////////////////////////////// +// Private function to reset context +////////////////////////////// +@mixin private-breakpoint-reset-contexts { + $private-breakpoint-context-holder: () !global; + $private-breakpoint-query-count: 0 !global; +} \ No newline at end of file diff --git a/_sass/vendor/breakpoint/_helpers.scss b/_sass/vendor/breakpoint/_helpers.scss new file mode 100644 index 0000000000..97e522d11a --- /dev/null +++ b/_sass/vendor/breakpoint/_helpers.scss @@ -0,0 +1,151 @@ +////////////////////////////// +// Converts the input value to Base EMs +////////////////////////////// +@function breakpoint-to-base-em($value) { + $value-unit: unit($value); + + // Will convert relative EMs into root EMs. + @if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' { + $base-unit: unit(breakpoint-get('base font size')); + + @if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' { + @return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em; + } + @else { + @warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!'; + @return false; + } + } + @else { + @return base-conversion($value); + } +} + +@function base-conversion($value) { + $unit: unit($value); + + @if $unit == 'px' { + @return $value / 16px * 1em; + } + @else if $unit == '%' { + @return $value / 100% * 1em; + } + @else if $unit == 'em' { + @return $value; + } + @else if $unit == 'pt' { + @return $value / 12pt * 1em; + } + @else { + @return $value; +// @warn 'Everything is terrible! What have you done?!'; + } +} + +////////////////////////////// +// Returns whether the feature can have a min/max pair +////////////////////////////// +$breakpoint-min-max-features: 'color', + 'color-index', + 'aspect-ratio', + 'device-aspect-ratio', + 'device-height', + 'device-width', + 'height', + 'monochrome', + 'resolution', + 'width'; + +@function breakpoint-min-max($feature) { + @each $item in $breakpoint-min-max-features { + @if $feature == $item { + @return true; + } + } + @return false; +} + +////////////////////////////// +// Returns whether the feature can have a string value +////////////////////////////// +$breakpoint-string-features: 'orientation', + 'scan', + 'color', + 'aspect-ratio', + 'device-aspect-ratio', + 'pointer', + 'luminosity'; + +@function breakpoint-string-value($feature) { + @each $item in $breakpoint-string-features { + @if breakpoint-min-max($item) { + @if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' { + @return true; + } + } + @else if $feature == $item { + @return true; + } + } + @return false; +} + +////////////////////////////// +// Returns whether the feature is a media type +////////////////////////////// +$breakpoint-media-types: 'all', + 'braille', + 'embossed', + 'handheld', + 'print', + 'projection', + 'screen', + 'speech', + 'tty', + 'tv'; + +@function breakpoint-is-media($feature) { + @each $media in $breakpoint-media-types { + @if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') { + @return true; + } + } + + @return false; +} + +////////////////////////////// +// Returns whether the feature can stand alone +////////////////////////////// +$breakpoint-single-string-features: 'color', + 'color-index', + 'grid', + 'monochrome'; + +@function breakpoint-single-string($feature) { + @each $item in $breakpoint-single-string-features { + @if $feature == $item { + @return true; + } + } + @return false; +} + +////////////////////////////// +// Returns whether the feature +////////////////////////////// +@function breakpoint-is-resolution($feature) { + $resolutions: 'device-pixel-ratio', 'dpr'; + + @if breakpoint-get('transform resolutions') { + $resolutions: append($resolutions, 'resolution'); + } + + @each $reso in $resolutions { + @if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') { + @return true; + } + } + + @return false; +} diff --git a/_sass/vendor/breakpoint/_legacy-settings.scss b/_sass/vendor/breakpoint/_legacy-settings.scss new file mode 100644 index 0000000000..e060ebe3dc --- /dev/null +++ b/_sass/vendor/breakpoint/_legacy-settings.scss @@ -0,0 +1,50 @@ +@mixin legacy-settings-warning { + $legacyVars: ( + 'default-media': 'default media', + 'default-feature': 'default feature', + 'force-media-all': 'force all media type', + 'to-ems': 'to ems', + 'resolutions': 'transform resolutions', + 'no-queries': 'no queries', + 'no-query-fallbacks': 'no query fallbacks', + 'base-font-size': 'base font size', + 'legacy-syntax': 'legacy syntax' + ); + + @each $legacy, $new in $legacyVars { + @if global-variable-exists('breakpoint-' + $legacy) { + @warn "In order to avoid variable namspace collisions, we have updated the way to change settings for Breakpoint. Please change all instances of `$breakpoint-#{$legacy}: {{setting}}` to `@include breakpoint-set('#{$new}', {{setting}})`. Variable settings, as well as this warning will be deprecated in a future release." + } + }; + + ////////////////////////////// + // Hand correct each setting + ////////////////////////////// + @if global-variable-exists('breakpoint-default-media') and $breakpoint-default-media != breakpoint-get('default media') { + @include breakpoint-set('default media', $breakpoint-default-media); + } + @if global-variable-exists('breakpoint-default-feature') and $breakpoint-default-feature != breakpoint-get('default feature') { + @include breakpoint-set('default feature', $breakpoint-default-feature); + } + @if global-variable-exists('breakpoint-force-media-all') and $breakpoint-force-media-all != breakpoint-get('force all media type') { + @include breakpoint-set('force all media type', $breakpoint-force-media-all); + } + @if global-variable-exists('breakpoint-to-ems') and $breakpoint-to-ems != breakpoint-get('to ems') { + @include breakpoint-set('to ems', $breakpoint-to-ems); + } + @if global-variable-exists('breakpoint-resolutions') and $breakpoint-resolutions != breakpoint-get('transform resolutions') { + @include breakpoint-set('transform resolutions', $breakpoint-resolutions); + } + @if global-variable-exists('breakpoint-no-queries') and $breakpoint-no-queries != breakpoint-get('no queries') { + @include breakpoint-set('no queries', $breakpoint-no-queries); + } + @if global-variable-exists('breakpoint-no-query-fallbacks') and $breakpoint-no-query-fallbacks != breakpoint-get('no query fallbacks') { + @include breakpoint-set('no query fallbacks', $breakpoint-no-query-fallbacks); + } + @if global-variable-exists('breakpoint-base-font-size') and $breakpoint-base-font-size != breakpoint-get('base font size') { + @include breakpoint-set('base font size', $breakpoint-base-font-size); + } + @if global-variable-exists('breakpoint-legacy-syntax') and $breakpoint-legacy-syntax != breakpoint-get('legacy syntax') { + @include breakpoint-set('legacy syntax', $breakpoint-legacy-syntax); + } +} \ No newline at end of file diff --git a/_sass/vendor/breakpoint/_no-query.scss b/_sass/vendor/breakpoint/_no-query.scss new file mode 100644 index 0000000000..0b5a81f697 --- /dev/null +++ b/_sass/vendor/breakpoint/_no-query.scss @@ -0,0 +1,15 @@ +@function breakpoint-no-query($query) { + @if type-of($query) == 'list' { + $keyword: nth($query, 1); + + @if type-of($keyword) == 'string' and ($keyword == 'no-query' or $keyword == 'no query' or $keyword == 'fallback') { + @return nth($query, 2); + } + @else { + @return false; + } + } + @else { + @return false; + } +} diff --git a/_sass/vendor/breakpoint/_parsers.scss b/_sass/vendor/breakpoint/_parsers.scss new file mode 100644 index 0000000000..f0b053feeb --- /dev/null +++ b/_sass/vendor/breakpoint/_parsers.scss @@ -0,0 +1,215 @@ +////////////////////////////// +// Import Parser Pieces +////////////////////////////// +@import "parsers/query"; +@import "parsers/single"; +@import "parsers/double"; +@import "parsers/triple"; +@import "parsers/resolution"; + +$Memo-Exists: function-exists(memo-get) and function-exists(memo-set); + +////////////////////////////// +// Breakpoint Function +////////////////////////////// +@function breakpoint($query, $contexts...) { + $run: true; + $return: (); + + // Grab the Memo Output if Memoization can be a thing + @if $Memo-Exists { + $return: memo-get(breakpoint, breakpoint $query $contexts); + + @if $return != null { + $run: false; + } + } + + @if not $Memo-Exists or $run { + // Internal Variables + $query-string: ''; + $query-fallback: false; + $return: (); + + // Reserve Global Private Breakpoint Context + $holder-context: $private-breakpoint-context-holder; + $holder-query-count: $private-breakpoint-query-count; + + // Reset Global Private Breakpoint Context + $private-breakpoint-context-holder: () !global; + $private-breakpoint-query-count: 0 !global; + + + // Test to see if it's a comma-separated list + $or-list: if(list-separator($query) == 'comma', true, false); + + + @if ($or-list == false and breakpoint-get('legacy syntax') == false) { + $query-string: breakpoint-parse($query); + } + @else { + $length: length($query); + + $last: nth($query, $length); + $query-fallback: breakpoint-no-query($last); + + @if ($query-fallback != false) { + $length: $length - 1; + } + + @if (breakpoint-get('legacy syntax') == true) { + $mq: (); + + @for $i from 1 through $length { + $mq: append($mq, nth($query, $i), comma); + } + + $query-string: breakpoint-parse($mq); + } + @else { + $query-string: ''; + @for $i from 1 through $length { + $query-string: $query-string + if($i == 1, '', ', ') + breakpoint-parse(nth($query, $i)); + } + } + } + + $return: ('query': $query-string, + 'fallback': $query-fallback, + 'context holder': $private-breakpoint-context-holder, + 'query count': $private-breakpoint-query-count + ); + @if length($contexts) > 0 and nth($contexts, 1) != false { + @if $query-fallback != false { + $context-setter: private-breakpoint-set-context('no-query', $query-fallback); + } + $context-map: (); + @each $context in $contexts { + $context-map: map-merge($context-map, ($context: breakpoint-get-context($context))); + } + $return: map-merge($return, (context: $context-map)); + } + + // Reset Global Private Breakpoint Context + $private-breakpoint-context-holder: () !global; + $private-breakpoint-query-count: 0 !global; + + @if $Memo-Exists { + $holder: memo-set(breakpoint, breakpoint $query $contexts, $return); + } + } + + @return $return; +} + +////////////////////////////// +// General Breakpoint Parser +////////////////////////////// +@function breakpoint-parse($query) { + // Increase number of 'and' queries + $private-breakpoint-query-count: $private-breakpoint-query-count + 1 !global; + + // Set up Media Type + $query-print: ''; + + $force-all: ((breakpoint-get('force all media type') == true) and (breakpoint-get('default media') == 'all')); + $empty-media: true; + @if ($force-all == true) or (breakpoint-get('default media') != 'all') { + // Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all) + $query-print: breakpoint-get('default media'); + $empty-media: false; + } + + + $query-resolution: false; + + $query-holder: breakpoint-parse-query($query); + + + + // Loop over each parsed out query and write it to $query-print + $first: true; + + @each $feature in $query-holder { + $length: length($feature); + + // Parse a single feature + @if ($length == 1) { + // Feature is currently a list, grab the actual value + $feature: nth($feature, 1); + + // Media Type must by convention be the first item, so it's safe to flat override $query-print, which right now should only be the default media type + @if (breakpoint-is-media($feature)) { + @if ($force-all == true) or ($feature != 'all') { + // Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all) + $query-print: $feature; + $empty-media: false; + + // Set Context + $context-setter: private-breakpoint-set-context(media, $query-print); + } + } + @else { + $parsed: breakpoint-parse-single($feature, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + } + } + // Parse a double feature + @else if ($length == 2) { + @if (breakpoint-is-resolution($feature) != false) { + $query-resolution: $feature; + } + @else { + $parsed: null; + // If it's a string/number pair, + // we check to see if one is a single-string value, + // then we parse it as a normal double + $alpha: nth($feature, 1); + $beta: nth($feature, 2); + @if breakpoint-single-string($alpha) or breakpoint-single-string($beta) { + $parsed: breakpoint-parse-single($alpha, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + $parsed: breakpoint-parse-single($beta, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + } + @else { + $parsed: breakpoint-parse-double($feature, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + } + } + } + // Parse a triple feature + @else if ($length == 3) { + $parsed: breakpoint-parse-triple($feature, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + } + + } + + @if ($query-resolution != false) { + $query-print: breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first); + } + + // Loop through each feature that's been detected so far and append 'false' to the the value list to increment their counters + @each $f, $v in $private-breakpoint-context-holder { + $v-holder: $v; + $length: length($v-holder); + @if length($v-holder) < $private-breakpoint-query-count { + @for $i from $length to $private-breakpoint-query-count { + @if $f == 'media' { + $v-holder: append($v-holder, breakpoint-get('default media')); + } + @else { + $v-holder: append($v-holder, false); + } + } + } + $private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($f: $v-holder)) !global; + } + + @return $query-print; +} diff --git a/_sass/vendor/breakpoint/_respond-to.scss b/_sass/vendor/breakpoint/_respond-to.scss new file mode 100644 index 0000000000..e2462c5fce --- /dev/null +++ b/_sass/vendor/breakpoint/_respond-to.scss @@ -0,0 +1,82 @@ +//////////////////////// +// Default the Breakpoints variable +//////////////////////// +$breakpoints: () !default; +$BREAKPOINTS: () !default; + +//////////////////////// +// Respond-to API Mixin +//////////////////////// +@mixin respond-to($context, $no-query: false) { + @if length($breakpoints) > 0 and length($BREAKPOINTS) == 0 { + @warn "In order to avoid variable namespace collisions, we have updated the way to add breakpoints for respond-to. Please change all instances of `$breakpoints: add-breakpoint()` to `@include add-breakpoint()`. The `add-breakpoint()` function will be deprecated in a future release."; + $BREAKPOINTS: $breakpoints !global; + $breakpoints: () !global; + } + + @if type-of($BREAKPOINTS) != 'map' { + // Just in case someone writes gibberish to the $breakpoints variable. + @warn "Your breakpoints aren't a map! `respond-to` expects a map. Please check the value of $BREAKPOINTS variable."; + @content; + } + @else if map-has-key($BREAKPOINTS, $context) { + @include breakpoint(map-get($BREAKPOINTS, $context), $no-query) { + @content; + } + } + @else if not map-has-key($BREAKPOINTS, $context) { + @warn "`#{$context}` isn't a defined breakpoint! Please add it using `$breakpoints: add-breakpoint(`#{$context}`, $value);`"; + @content; + } + @else { + @warn "You haven't created any breakpoints yet! Make some already! `@include add-breakpoint($name, $bkpt)`"; + @content; + } +} + +////////////////////////////// +// Add Breakpoint to Breakpoints +// TODO: Remove function in next release +////////////////////////////// +@function add-breakpoint($name, $bkpt, $overwrite: false) { + $output: ($name: $bkpt); + + @if length($breakpoints) == 0 { + @return $output; + } + @else { + @if map-has-key($breakpoints, $name) and $overwrite != true { + @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint."; + @return $breakpoints; + } + @else if not map-has-key($breakpoints, $name) or $overwrite == true { + @return map-merge($breakpoints, $output); + } + } +} + +@mixin add-breakpoint($name, $bkpt, $overwrite: false) { + $output: ($name: $bkpt); + + @if length($BREAKPOINTS) == 0 { + $BREAKPOINTS: $output !global; + } + @else { + @if map-has-key($BREAKPOINTS, $name) and $overwrite != true { + @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint."; + $BREAKPOINTS: $BREAKPOINTS !global; + } + @else if not map-has-key($BREAKPOINTS, $name) or $overwrite == true { + $BREAKPOINTS: map-merge($BREAKPOINTS, $output) !global; + } + } +} + +@function get-breakpoint($name: false) { + @if $name == false { + @return $BREAKPOINTS; + } + @else { + @return map-get($BREAKPOINTS, $name); + } +} diff --git a/_sass/vendor/breakpoint/_settings.scss b/_sass/vendor/breakpoint/_settings.scss new file mode 100644 index 0000000000..05ee689404 --- /dev/null +++ b/_sass/vendor/breakpoint/_settings.scss @@ -0,0 +1,71 @@ +////////////////////////////// +// Has Setting +////////////////////////////// +@function breakpoint-has($setting) { + @if map-has-key($breakpoint, $setting) { + @return true; + } + @else { + @return false; + } +} + +////////////////////////////// +// Get Settings +////////////////////////////// +@function breakpoint-get($setting) { + @if breakpoint-has($setting) { + @return map-get($breakpoint, $setting); + } + @else { + @return map-get($Breakpoint-Settings, $setting); + } +} + +////////////////////////////// +// Set Settings +////////////////////////////// +@function breakpoint-set($setting, $value) { + @if (str-index($setting, '-') or str-index($setting, '_')) and str-index($setting, ' ') == null { + @warn "Words in Breakpoint settings should be separated by spaces, not dashes or underscores. Please replace dashes and underscores between words with spaces. Settings will not work as expected until changed."; + } + $breakpoint: map-merge($breakpoint, ($setting: $value)) !global; + @return true; +} + +@mixin breakpoint-change($setting, $value) { + $breakpoint-change: breakpoint-set($setting, $value); +} + +@mixin breakpoint-set($setting, $value) { + @include breakpoint-change($setting, $value); +} + +@mixin bkpt-change($setting, $value) { + @include breakpoint-change($setting, $value); +} +@mixin bkpt-set($setting, $value) { + @include breakpoint-change($setting, $value); +} + +////////////////////////////// +// Remove Setting +////////////////////////////// +@function breakpoint-reset($settings...) { + @if length($settings) == 1 { + $settings: nth($settings, 1); + } + + @each $setting in $settings { + $breakpoint: map-remove($breakpoint, $setting) !global; + } + @return true; +} + +@mixin breakpoint-reset($settings...) { + $breakpoint-reset: breakpoint-reset($settings); +} + +@mixin bkpt-reset($settings...) { + $breakpoint-reset: breakpoint-reset($settings); +} \ No newline at end of file diff --git a/_sass/vendor/breakpoint/parsers/_double.scss b/_sass/vendor/breakpoint/parsers/_double.scss new file mode 100644 index 0000000000..24580c1516 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/_double.scss @@ -0,0 +1,33 @@ +////////////////////////////// +// Import Pieces +////////////////////////////// +@import "double/default-pair"; +@import "double/double-string"; +@import "double/default"; + +@function breakpoint-parse-double($feature, $empty-media, $first) { + $parsed: ''; + $leader: ''; + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + $first: nth($feature, 1); + $second: nth($feature, 2); + + // If we've got two numbers, we know we need to use the default pair because there are no media queries that has a media feature that is a number + @if type-of($first) == 'number' and type-of($second) == 'number' { + $parsed: breakpoint-parse-default-pair($first, $second); + } + // If they are both strings, we send it through the string parser + @else if type-of($first) == 'string' and type-of($second) == 'string' { + $parsed: breakpoint-parse-double-string($first, $second); + } + // If it's a string/number pair, we parse it as a normal double + @else { + $parsed: breakpoint-parse-double-default($first, $second); + } + + @return $leader + $parsed; +} diff --git a/_sass/vendor/breakpoint/parsers/_query.scss b/_sass/vendor/breakpoint/parsers/_query.scss new file mode 100644 index 0000000000..b138b3933b --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/_query.scss @@ -0,0 +1,82 @@ +@function breakpoint-parse-query($query) { + // Parse features out of an individual query + $feature-holder: (); + $query-holder: (); + $length: length($query); + + @if $length == 2 { + // If we've got a string/number, number/string, check to see if it's a valid string/number pair or two singles + @if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'number') or (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'string') { + + $number: ''; + $value: ''; + + @if type-of(nth($query, 1)) == 'string' { + $number: nth($query, 2); + $value: nth($query, 1); + } + @else { + $number: nth($query, 1); + $value: nth($query, 2); + } + + // If the string value can be a single value, check to see if the number passed in is a valid input for said single value. Fortunately, all current single-value options only accept unitless numbers, so this check is easy. + @if breakpoint-single-string($value) { + @if unitless($number) { + $feature-holder: append($value, $number, space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + } + // If the string is a media type, split the query + @if breakpoint-is-media($value) { + $query-holder: append($query-holder, nth($query, 1)); + $query-holder: append($query-holder, nth($query, 2)); + @return $query-holder; + } + // If it's not a single feature, we're just going to assume it's a proper string/value pair, and roll with it. + @else { + $feature-holder: append($value, $number, space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + + } + // If they're both numbers, we assume it's a double and roll with that + @else if (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'number') { + $feature-holder: append(nth($query, 1), nth($query, 2), space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + // If they're both strings and neither are singles, we roll with that. + @else if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'string') { + @if not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) { + $feature-holder: append(nth($query, 1), nth($query, 2), space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + } + } + @else if $length == 3 { + // If we've got three items and none is a list, we check to see + @if type-of(nth($query, 1)) != 'list' and type-of(nth($query, 2)) != 'list' and type-of(nth($query, 3)) != 'list' { + // If none of the items are single string values and none of the values are media values, we're good. + @if (not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) and not breakpoint-single-string(nth($query, 3))) and ((not breakpoint-is-media(nth($query, 1)) and not breakpoint-is-media(nth($query, 2)) and not breakpoint-is-media(nth($query, 3)))) { + $feature-holder: append(nth($query, 1), nth($query, 2), space); + $feature-holder: append($feature-holder, nth($query, 3), space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + // let's check to see if the first item is a media type + @else if breakpoint-is-media(nth($query, 1)) { + $query-holder: append($query-holder, nth($query, 1)); + $feature-holder: append(nth($query, 2), nth($query, 3), space); + $query-holder: append($query-holder, $feature-holder); + @return $query-holder; + } + } + } + + // If it's a single item, or if it's not a special case double or triple, we can simply return the query. + @return $query; +} diff --git a/_sass/vendor/breakpoint/parsers/_resolution.scss b/_sass/vendor/breakpoint/parsers/_resolution.scss new file mode 100644 index 0000000000..19769adf44 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/_resolution.scss @@ -0,0 +1,31 @@ +@import "resolution/resolution"; + +@function breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first) { + $leader: ''; + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + @if breakpoint-get('transform resolutions') and $query-resolution { + $resolutions: breakpoint-make-resolutions($query-resolution); + $length: length($resolutions); + $query-holder: ''; + + @for $i from 1 through $length { + $query: '#{$query-print} #{$leader}#{nth($resolutions, $i)}'; + @if $i == 1 { + $query-holder: $query; + } + @else { + $query-holder: '#{$query-holder}, #{$query}'; + } + } + + @return $query-holder; + } + @else { + // Return with attached resolution + @return $query-print; + } +} diff --git a/_sass/vendor/breakpoint/parsers/_single.scss b/_sass/vendor/breakpoint/parsers/_single.scss new file mode 100644 index 0000000000..d9fd764a72 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/_single.scss @@ -0,0 +1,26 @@ +////////////////////////////// +// Import Pieces +////////////////////////////// +@import "single/default"; + +@function breakpoint-parse-single($feature, $empty-media, $first) { + $parsed: ''; + $leader: ''; + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + // If it's a single feature that can stand alone, we let it + @if (breakpoint-single-string($feature)) { + $parsed: $feature; + // Set Context + $context-setter: private-breakpoint-set-context($feature, $feature); + } + // If it's not a stand alone feature, we pass it off to the default handler. + @else { + $parsed: breakpoint-parse-default($feature); + } + + @return $leader + '(' + $parsed + ')'; +} diff --git a/_sass/vendor/breakpoint/parsers/_triple.scss b/_sass/vendor/breakpoint/parsers/_triple.scss new file mode 100644 index 0000000000..e2732067f9 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/_triple.scss @@ -0,0 +1,36 @@ +////////////////////////////// +// Import Pieces +////////////////////////////// +@import "triple/default"; + +@function breakpoint-parse-triple($feature, $empty-media, $first) { + $parsed: ''; + $leader: ''; + + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + // separate the string features from the value numbers + $string: null; + $numbers: null; + @each $val in $feature { + @if type-of($val) == string { + $string: $val; + } + @else { + @if type-of($numbers) == 'null' { + $numbers: $val; + } + @else { + $numbers: append($numbers, $val); + } + } + } + + $parsed: breakpoint-parse-triple-default($string, nth($numbers, 1), nth($numbers, 2)); + + @return $leader + $parsed; + +} diff --git a/_sass/vendor/breakpoint/parsers/double/_default-pair.scss b/_sass/vendor/breakpoint/parsers/double/_default-pair.scss new file mode 100644 index 0000000000..f88432ccdb --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/double/_default-pair.scss @@ -0,0 +1,21 @@ +@function breakpoint-parse-default-pair($first, $second) { + $default: breakpoint-get('default pair'); + $min: ''; + $max: ''; + + // Sort into min and max + $min: min($first, $second); + $max: max($first, $second); + + // Set Context + $context-setter: private-breakpoint-set-context(min-#{$default}, $min); + $context-setter: private-breakpoint-set-context(max-#{$default}, $max); + + // Make them EMs if need be + @if (breakpoint-get('to ems') == true) { + $min: breakpoint-to-base-em($min); + $max: breakpoint-to-base-em($max); + } + + @return '(min-#{$default}: #{$min}) and (max-#{$default}: #{$max})'; +} diff --git a/_sass/vendor/breakpoint/parsers/double/_default.scss b/_sass/vendor/breakpoint/parsers/double/_default.scss new file mode 100644 index 0000000000..73190ed590 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/double/_default.scss @@ -0,0 +1,22 @@ +@function breakpoint-parse-double-default($first, $second) { + $feature: ''; + $value: ''; + + @if type-of($first) == 'string' { + $feature: $first; + $value: $second; + } + @else { + $feature: $second; + $value: $first; + } + + // Set Context + $context-setter: private-breakpoint-set-context($feature, $value); + + @if (breakpoint-get('to ems') == true) { + $value: breakpoint-to-base-em($value); + } + + @return '(#{$feature}: #{$value})' +} diff --git a/_sass/vendor/breakpoint/parsers/double/_double-string.scss b/_sass/vendor/breakpoint/parsers/double/_double-string.scss new file mode 100644 index 0000000000..c6fd0cb033 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/double/_double-string.scss @@ -0,0 +1,22 @@ +@function breakpoint-parse-double-string($first, $second) { + $feature: ''; + $value: ''; + + // Test to see which is the feature and which is the value + @if (breakpoint-string-value($first) == true) { + $feature: $first; + $value: $second; + } + @else if (breakpoint-string-value($second) == true) { + $feature: $second; + $value: $first; + } + @else { + @warn "Neither #{$first} nor #{$second} is a valid media query name."; + } + + // Set Context + $context-setter: private-breakpoint-set-context($feature, $value); + + @return '(#{$feature}: #{$value})'; +} \ No newline at end of file diff --git a/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss b/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss new file mode 100644 index 0000000000..3680421269 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss @@ -0,0 +1,60 @@ +@function breakpoint-make-resolutions($resolution) { + $length: length($resolution); + + $output: (); + + @if $length == 2 { + $feature: ''; + $value: ''; + + // Find which is number + @if type-of(nth($resolution, 1)) == 'number' { + $value: nth($resolution, 1); + } + @else { + $value: nth($resolution, 2); + } + + // Determine min/max/standard + @if index($resolution, 'min-resolution') { + $feature: 'min-'; + } + @else if index($resolution, 'max-resolution') { + $feature: 'max-'; + } + + $standard: '(#{$feature}resolution: #{$value})'; + + // If we're not dealing with dppx, + @if unit($value) != 'dppx' { + $base: 96dpi; + @if unit($value) == 'dpcm' { + $base: 243.84dpcm; + } + // Write out feature tests + $webkit: ''; + $moz: ''; + $webkit: '(-webkit-#{$feature}device-pixel-ratio: #{$value / $base})'; + $moz: '(#{$feature}-moz-device-pixel-ratio: #{$value / $base})'; + // Append to output + $output: append($output, $standard, space); + $output: append($output, $webkit, space); + $output: append($output, $moz, space); + } + @else { + $webkit: ''; + $moz: ''; + $webkit: '(-webkit-#{$feature}device-pixel-ratio: #{$value / 1dppx})'; + $moz: '(#{$feature}-moz-device-pixel-ratio: #{$value / 1dppx})'; + $fallback: '(#{$feature}resolution: #{$value / 1dppx * 96dpi})'; + // Append to output + $output: append($output, $standard, space); + $output: append($output, $webkit, space); + $output: append($output, $moz, space); + $output: append($output, $fallback, space); + } + + } + + @return $output; +} diff --git a/_sass/vendor/breakpoint/parsers/single/_default.scss b/_sass/vendor/breakpoint/parsers/single/_default.scss new file mode 100644 index 0000000000..503ef427b0 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/single/_default.scss @@ -0,0 +1,13 @@ +@function breakpoint-parse-default($feature) { + $default: breakpoint-get('default feature'); + + // Set Context + $context-setter: private-breakpoint-set-context($default, $feature); + + @if (breakpoint-get('to ems') == true) and (type-of($feature) == 'number') { + @return '#{$default}: #{breakpoint-to-base-em($feature)}'; + } + @else { + @return '#{$default}: #{$feature}'; + } +} diff --git a/_sass/vendor/breakpoint/parsers/triple/_default.scss b/_sass/vendor/breakpoint/parsers/triple/_default.scss new file mode 100644 index 0000000000..7fa418dda7 --- /dev/null +++ b/_sass/vendor/breakpoint/parsers/triple/_default.scss @@ -0,0 +1,18 @@ +@function breakpoint-parse-triple-default($feature, $first, $second) { + + // Sort into min and max + $min: min($first, $second); + $max: max($first, $second); + + // Set Context + $context-setter: private-breakpoint-set-context(min-#{$feature}, $min); + $context-setter: private-breakpoint-set-context(max-#{$feature}, $max); + + // Make them EMs if need be + @if (breakpoint-get('to ems') == true) { + $min: breakpoint-to-base-em($min); + $max: breakpoint-to-base-em($max); + } + + @return '(min-#{$feature}: #{$min}) and (max-#{$feature}: #{$max})'; +} diff --git a/_sass/vendor/font-awesome/_animated.scss b/_sass/vendor/font-awesome/_animated.scss new file mode 100644 index 0000000000..8a020dbfff --- /dev/null +++ b/_sass/vendor/font-awesome/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/_sass/vendor/font-awesome/_bordered-pulled.scss b/_sass/vendor/font-awesome/_bordered-pulled.scss new file mode 100644 index 0000000000..d4b85a02f2 --- /dev/null +++ b/_sass/vendor/font-awesome/_bordered-pulled.scss @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/_sass/vendor/font-awesome/_core.scss b/_sass/vendor/font-awesome/_core.scss new file mode 100644 index 0000000000..7425ef85fc --- /dev/null +++ b/_sass/vendor/font-awesome/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/_sass/vendor/font-awesome/_fixed-width.scss b/_sass/vendor/font-awesome/_fixed-width.scss new file mode 100644 index 0000000000..b221c98133 --- /dev/null +++ b/_sass/vendor/font-awesome/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/_sass/vendor/font-awesome/_font-awesome.scss b/_sass/vendor/font-awesome/_font-awesome.scss new file mode 100644 index 0000000000..2308b14ca7 --- /dev/null +++ b/_sass/vendor/font-awesome/_font-awesome.scss @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/_sass/vendor/font-awesome/_icons.scss b/_sass/vendor/font-awesome/_icons.scss new file mode 100644 index 0000000000..2944344350 --- /dev/null +++ b/_sass/vendor/font-awesome/_icons.scss @@ -0,0 +1,733 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } +.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } +.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } +.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } +.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } +.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: $fa-var-university; } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } +.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } +.#{$fa-css-prefix}-google:before { content: $fa-var-google; } +.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } +.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } +.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } +.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } +.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } +.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } +.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } +.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } +.#{$fa-css-prefix}-language:before { content: $fa-var-language; } +.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } +.#{$fa-css-prefix}-building:before { content: $fa-var-building; } +.#{$fa-css-prefix}-child:before { content: $fa-var-child; } +.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } +.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } +.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } +.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } +.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } +.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } +.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } +.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } +.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: $fa-var-car; } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } +.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } +.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } +.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } +.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } +.#{$fa-css-prefix}-database:before { content: $fa-var-database; } +.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } +.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } +.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } +.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } +.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } +.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } +.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } +.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, +.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } +.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } +.#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, +.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } +.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } +.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } +.#{$fa-css-prefix}-history:before { content: $fa-var-history; } +.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } +.#{$fa-css-prefix}-header:before { content: $fa-var-header; } +.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } +.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } +.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } +.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } +.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } +.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } +.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } +.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } +.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } +.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } +.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } +.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } +.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } +.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } +.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } +.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } +.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } +.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } +.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } +.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } +.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } +.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } +.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } +.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } +.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } +.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } +.#{$fa-css-prefix}-at:before { content: $fa-var-at; } +.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } +.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } +.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } +.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } +.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } +.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } +.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } +.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } +.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } +.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } +.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } +.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } +.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } +.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } +.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } +.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } diff --git a/_sass/vendor/font-awesome/_larger.scss b/_sass/vendor/font-awesome/_larger.scss new file mode 100644 index 0000000000..41e9a8184a --- /dev/null +++ b/_sass/vendor/font-awesome/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/_sass/vendor/font-awesome/_list.scss b/_sass/vendor/font-awesome/_list.scss new file mode 100644 index 0000000000..7d1e4d54d6 --- /dev/null +++ b/_sass/vendor/font-awesome/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/_sass/vendor/font-awesome/_mixins.scss b/_sass/vendor/font-awesome/_mixins.scss new file mode 100644 index 0000000000..c3bbd5745d --- /dev/null +++ b/_sass/vendor/font-awesome/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/_sass/vendor/font-awesome/_path.scss b/_sass/vendor/font-awesome/_path.scss new file mode 100644 index 0000000000..bb457c23a8 --- /dev/null +++ b/_sass/vendor/font-awesome/_path.scss @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/_sass/vendor/font-awesome/_rotated-flipped.scss b/_sass/vendor/font-awesome/_rotated-flipped.scss new file mode 100644 index 0000000000..a3558fd09c --- /dev/null +++ b/_sass/vendor/font-awesome/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/_sass/vendor/font-awesome/_screen-reader.scss b/_sass/vendor/font-awesome/_screen-reader.scss new file mode 100644 index 0000000000..637426f0da --- /dev/null +++ b/_sass/vendor/font-awesome/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/_sass/vendor/font-awesome/_stacked.scss b/_sass/vendor/font-awesome/_stacked.scss new file mode 100644 index 0000000000..aef7403660 --- /dev/null +++ b/_sass/vendor/font-awesome/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/_sass/vendor/font-awesome/_variables.scss b/_sass/vendor/font-awesome/_variables.scss new file mode 100644 index 0000000000..a5a89ef97b --- /dev/null +++ b/_sass/vendor/font-awesome/_variables.scss @@ -0,0 +1,744 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.6.3" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-500px: "\f26e"; +$fa-var-adjust: "\f042"; +$fa-var-adn: "\f170"; +$fa-var-align-center: "\f037"; +$fa-var-align-justify: "\f039"; +$fa-var-align-left: "\f036"; +$fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; +$fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; +$fa-var-anchor: "\f13d"; +$fa-var-android: "\f17b"; +$fa-var-angellist: "\f209"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-down: "\f107"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-apple: "\f179"; +$fa-var-archive: "\f187"; +$fa-var-area-chart: "\f1fe"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-down: "\f063"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrows: "\f047"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-arrows-h: "\f07e"; +$fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; +$fa-var-asterisk: "\f069"; +$fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; +$fa-var-automobile: "\f1b9"; +$fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; +$fa-var-ban: "\f05e"; +$fa-var-bank: "\f19c"; +$fa-var-bar-chart: "\f080"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-barcode: "\f02a"; +$fa-var-bars: "\f0c9"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; +$fa-var-bed: "\f236"; +$fa-var-beer: "\f0fc"; +$fa-var-behance: "\f1b4"; +$fa-var-behance-square: "\f1b5"; +$fa-var-bell: "\f0f3"; +$fa-var-bell-o: "\f0a2"; +$fa-var-bell-slash: "\f1f6"; +$fa-var-bell-slash-o: "\f1f7"; +$fa-var-bicycle: "\f206"; +$fa-var-binoculars: "\f1e5"; +$fa-var-birthday-cake: "\f1fd"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; +$fa-var-bold: "\f032"; +$fa-var-bolt: "\f0e7"; +$fa-var-bomb: "\f1e2"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; +$fa-var-briefcase: "\f0b1"; +$fa-var-btc: "\f15a"; +$fa-var-bug: "\f188"; +$fa-var-building: "\f1ad"; +$fa-var-building-o: "\f0f7"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bullseye: "\f140"; +$fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; +$fa-var-cab: "\f1ba"; +$fa-var-calculator: "\f1ec"; +$fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; +$fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; +$fa-var-camera: "\f030"; +$fa-var-camera-retro: "\f083"; +$fa-var-car: "\f1b9"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; +$fa-var-cc: "\f20a"; +$fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; +$fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; +$fa-var-cc-mastercard: "\f1f1"; +$fa-var-cc-paypal: "\f1f4"; +$fa-var-cc-stripe: "\f1f5"; +$fa-var-cc-visa: "\f1f0"; +$fa-var-certificate: "\f0a3"; +$fa-var-chain: "\f0c1"; +$fa-var-chain-broken: "\f127"; +$fa-var-check: "\f00c"; +$fa-var-check-circle: "\f058"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-check-square: "\f14a"; +$fa-var-check-square-o: "\f046"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-down: "\f078"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-chevron-up: "\f077"; +$fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; +$fa-var-circle: "\f111"; +$fa-var-circle-o: "\f10c"; +$fa-var-circle-o-notch: "\f1ce"; +$fa-var-circle-thin: "\f1db"; +$fa-var-clipboard: "\f0ea"; +$fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; +$fa-var-close: "\f00d"; +$fa-var-cloud: "\f0c2"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-cny: "\f157"; +$fa-var-code: "\f121"; +$fa-var-code-fork: "\f126"; +$fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; +$fa-var-coffee: "\f0f4"; +$fa-var-cog: "\f013"; +$fa-var-cogs: "\f085"; +$fa-var-columns: "\f0db"; +$fa-var-comment: "\f075"; +$fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; +$fa-var-comments: "\f086"; +$fa-var-comments-o: "\f0e6"; +$fa-var-compass: "\f14e"; +$fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; +$fa-var-copy: "\f0c5"; +$fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; +$fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; +$fa-var-crop: "\f125"; +$fa-var-crosshairs: "\f05b"; +$fa-var-css3: "\f13c"; +$fa-var-cube: "\f1b2"; +$fa-var-cubes: "\f1b3"; +$fa-var-cut: "\f0c4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; +$fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; +$fa-var-dedent: "\f03b"; +$fa-var-delicious: "\f1a5"; +$fa-var-desktop: "\f108"; +$fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; +$fa-var-digg: "\f1a6"; +$fa-var-dollar: "\f155"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-download: "\f019"; +$fa-var-dribbble: "\f17d"; +$fa-var-dropbox: "\f16b"; +$fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; +$fa-var-edit: "\f044"; +$fa-var-eject: "\f052"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-empire: "\f1d1"; +$fa-var-envelope: "\f0e0"; +$fa-var-envelope-o: "\f003"; +$fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; +$fa-var-eraser: "\f12d"; +$fa-var-eur: "\f153"; +$fa-var-euro: "\f153"; +$fa-var-exchange: "\f0ec"; +$fa-var-exclamation: "\f12a"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; +$fa-var-external-link: "\f08e"; +$fa-var-external-link-square: "\f14c"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; +$fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; +$fa-var-facebook-square: "\f082"; +$fa-var-fast-backward: "\f049"; +$fa-var-fast-forward: "\f050"; +$fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; +$fa-var-female: "\f182"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-file: "\f15b"; +$fa-var-file-archive-o: "\f1c6"; +$fa-var-file-audio-o: "\f1c7"; +$fa-var-file-code-o: "\f1c9"; +$fa-var-file-excel-o: "\f1c3"; +$fa-var-file-image-o: "\f1c5"; +$fa-var-file-movie-o: "\f1c8"; +$fa-var-file-o: "\f016"; +$fa-var-file-pdf-o: "\f1c1"; +$fa-var-file-photo-o: "\f1c5"; +$fa-var-file-picture-o: "\f1c5"; +$fa-var-file-powerpoint-o: "\f1c4"; +$fa-var-file-sound-o: "\f1c7"; +$fa-var-file-text: "\f15c"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-file-video-o: "\f1c8"; +$fa-var-file-word-o: "\f1c2"; +$fa-var-file-zip-o: "\f1c6"; +$fa-var-files-o: "\f0c5"; +$fa-var-film: "\f008"; +$fa-var-filter: "\f0b0"; +$fa-var-fire: "\f06d"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; +$fa-var-flag: "\f024"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-flag-o: "\f11d"; +$fa-var-flash: "\f0e7"; +$fa-var-flask: "\f0c3"; +$fa-var-flickr: "\f16e"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-folder: "\f07b"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open: "\f07c"; +$fa-var-folder-open-o: "\f115"; +$fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; +$fa-var-forumbee: "\f211"; +$fa-var-forward: "\f04e"; +$fa-var-foursquare: "\f180"; +$fa-var-frown-o: "\f119"; +$fa-var-futbol-o: "\f1e3"; +$fa-var-gamepad: "\f11b"; +$fa-var-gavel: "\f0e3"; +$fa-var-gbp: "\f154"; +$fa-var-ge: "\f1d1"; +$fa-var-gear: "\f013"; +$fa-var-gears: "\f085"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; +$fa-var-gift: "\f06b"; +$fa-var-git: "\f1d3"; +$fa-var-git-square: "\f1d2"; +$fa-var-github: "\f09b"; +$fa-var-github-alt: "\f113"; +$fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; +$fa-var-gittip: "\f184"; +$fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; +$fa-var-globe: "\f0ac"; +$fa-var-google: "\f1a0"; +$fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-wallet: "\f1ee"; +$fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; +$fa-var-group: "\f0c0"; +$fa-var-h-square: "\f0fd"; +$fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-header: "\f1dc"; +$fa-var-headphones: "\f025"; +$fa-var-heart: "\f004"; +$fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; +$fa-var-history: "\f1da"; +$fa-var-home: "\f015"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; +$fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; +$fa-var-ils: "\f20b"; +$fa-var-image: "\f03e"; +$fa-var-inbox: "\f01c"; +$fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; +$fa-var-info: "\f129"; +$fa-var-info-circle: "\f05a"; +$fa-var-inr: "\f156"; +$fa-var-instagram: "\f16d"; +$fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; +$fa-var-ioxhost: "\f208"; +$fa-var-italic: "\f033"; +$fa-var-joomla: "\f1aa"; +$fa-var-jpy: "\f157"; +$fa-var-jsfiddle: "\f1cc"; +$fa-var-key: "\f084"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-krw: "\f159"; +$fa-var-language: "\f1ab"; +$fa-var-laptop: "\f109"; +$fa-var-lastfm: "\f202"; +$fa-var-lastfm-square: "\f203"; +$fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; +$fa-var-legal: "\f0e3"; +$fa-var-lemon-o: "\f094"; +$fa-var-level-down: "\f149"; +$fa-var-level-up: "\f148"; +$fa-var-life-bouy: "\f1cd"; +$fa-var-life-buoy: "\f1cd"; +$fa-var-life-ring: "\f1cd"; +$fa-var-life-saver: "\f1cd"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-line-chart: "\f201"; +$fa-var-link: "\f0c1"; +$fa-var-linkedin: "\f0e1"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-linux: "\f17c"; +$fa-var-list: "\f03a"; +$fa-var-list-alt: "\f022"; +$fa-var-list-ol: "\f0cb"; +$fa-var-list-ul: "\f0ca"; +$fa-var-location-arrow: "\f124"; +$fa-var-lock: "\f023"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; +$fa-var-magic: "\f0d0"; +$fa-var-magnet: "\f076"; +$fa-var-mail-forward: "\f064"; +$fa-var-mail-reply: "\f112"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-male: "\f183"; +$fa-var-map: "\f279"; +$fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; +$fa-var-maxcdn: "\f136"; +$fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; +$fa-var-medkit: "\f0fa"; +$fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-minus: "\f068"; +$fa-var-minus-circle: "\f056"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; +$fa-var-mobile: "\f10b"; +$fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; +$fa-var-money: "\f0d6"; +$fa-var-moon-o: "\f186"; +$fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; +$fa-var-music: "\f001"; +$fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; +$fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; +$fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; +$fa-var-outdent: "\f03b"; +$fa-var-pagelines: "\f18c"; +$fa-var-paint-brush: "\f1fc"; +$fa-var-paper-plane: "\f1d8"; +$fa-var-paper-plane-o: "\f1d9"; +$fa-var-paperclip: "\f0c6"; +$fa-var-paragraph: "\f1dd"; +$fa-var-paste: "\f0ea"; +$fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; +$fa-var-paw: "\f1b0"; +$fa-var-paypal: "\f1ed"; +$fa-var-pencil: "\f040"; +$fa-var-pencil-square: "\f14b"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; +$fa-var-phone: "\f095"; +$fa-var-phone-square: "\f098"; +$fa-var-photo: "\f03e"; +$fa-var-picture-o: "\f03e"; +$fa-var-pie-chart: "\f200"; +$fa-var-pied-piper: "\f2ae"; +$fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-plane: "\f072"; +$fa-var-play: "\f04b"; +$fa-var-play-circle: "\f144"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-plug: "\f1e6"; +$fa-var-plus: "\f067"; +$fa-var-plus-circle: "\f055"; +$fa-var-plus-square: "\f0fe"; +$fa-var-plus-square-o: "\f196"; +$fa-var-power-off: "\f011"; +$fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-qq: "\f1d6"; +$fa-var-qrcode: "\f029"; +$fa-var-question: "\f128"; +$fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-ra: "\f1d0"; +$fa-var-random: "\f074"; +$fa-var-rebel: "\f1d0"; +$fa-var-recycle: "\f1b8"; +$fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; +$fa-var-reddit-square: "\f1a2"; +$fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; +$fa-var-remove: "\f00d"; +$fa-var-renren: "\f18b"; +$fa-var-reorder: "\f0c9"; +$fa-var-repeat: "\f01e"; +$fa-var-reply: "\f112"; +$fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; +$fa-var-retweet: "\f079"; +$fa-var-rmb: "\f157"; +$fa-var-road: "\f018"; +$fa-var-rocket: "\f135"; +$fa-var-rotate-left: "\f0e2"; +$fa-var-rotate-right: "\f01e"; +$fa-var-rouble: "\f158"; +$fa-var-rss: "\f09e"; +$fa-var-rss-square: "\f143"; +$fa-var-rub: "\f158"; +$fa-var-ruble: "\f158"; +$fa-var-rupee: "\f156"; +$fa-var-safari: "\f267"; +$fa-var-save: "\f0c7"; +$fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; +$fa-var-search: "\f002"; +$fa-var-search-minus: "\f010"; +$fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; +$fa-var-send: "\f1d8"; +$fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; +$fa-var-share: "\f064"; +$fa-var-share-alt: "\f1e0"; +$fa-var-share-alt-square: "\f1e1"; +$fa-var-share-square: "\f14d"; +$fa-var-share-square-o: "\f045"; +$fa-var-shekel: "\f20b"; +$fa-var-sheqel: "\f20b"; +$fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; +$fa-var-sign-out: "\f08b"; +$fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; +$fa-var-simplybuilt: "\f215"; +$fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; +$fa-var-skype: "\f17e"; +$fa-var-slack: "\f198"; +$fa-var-sliders: "\f1de"; +$fa-var-slideshare: "\f1e7"; +$fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; +$fa-var-soccer-ball-o: "\f1e3"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-asc: "\f0de"; +$fa-var-sort-desc: "\f0dd"; +$fa-var-sort-down: "\f0dd"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-sort-up: "\f0de"; +$fa-var-soundcloud: "\f1be"; +$fa-var-space-shuttle: "\f197"; +$fa-var-spinner: "\f110"; +$fa-var-spoon: "\f1b1"; +$fa-var-spotify: "\f1bc"; +$fa-var-square: "\f0c8"; +$fa-var-square-o: "\f096"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-star: "\f005"; +$fa-var-star-half: "\f089"; +$fa-var-star-half-empty: "\f123"; +$fa-var-star-half-full: "\f123"; +$fa-var-star-half-o: "\f123"; +$fa-var-star-o: "\f006"; +$fa-var-steam: "\f1b6"; +$fa-var-steam-square: "\f1b7"; +$fa-var-step-backward: "\f048"; +$fa-var-step-forward: "\f051"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; +$fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; +$fa-var-street-view: "\f21d"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-stumbleupon: "\f1a4"; +$fa-var-stumbleupon-circle: "\f1a3"; +$fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; +$fa-var-suitcase: "\f0f2"; +$fa-var-sun-o: "\f185"; +$fa-var-superscript: "\f12b"; +$fa-var-support: "\f1cd"; +$fa-var-table: "\f0ce"; +$fa-var-tablet: "\f10a"; +$fa-var-tachometer: "\f0e4"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-tasks: "\f0ae"; +$fa-var-taxi: "\f1ba"; +$fa-var-television: "\f26c"; +$fa-var-tencent-weibo: "\f1d5"; +$fa-var-terminal: "\f120"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-th: "\f00a"; +$fa-var-th-large: "\f009"; +$fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-thumbs-down: "\f165"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-up: "\f164"; +$fa-var-ticket: "\f145"; +$fa-var-times: "\f00d"; +$fa-var-times-circle: "\f057"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-tint: "\f043"; +$fa-var-toggle-down: "\f150"; +$fa-var-toggle-left: "\f191"; +$fa-var-toggle-off: "\f204"; +$fa-var-toggle-on: "\f205"; +$fa-var-toggle-right: "\f152"; +$fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; +$fa-var-trash: "\f1f8"; +$fa-var-trash-o: "\f014"; +$fa-var-tree: "\f1bb"; +$fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; +$fa-var-trophy: "\f091"; +$fa-var-truck: "\f0d1"; +$fa-var-try: "\f195"; +$fa-var-tty: "\f1e4"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; +$fa-var-twitch: "\f1e8"; +$fa-var-twitter: "\f099"; +$fa-var-twitter-square: "\f081"; +$fa-var-umbrella: "\f0e9"; +$fa-var-underline: "\f0cd"; +$fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; +$fa-var-university: "\f19c"; +$fa-var-unlink: "\f127"; +$fa-var-unlock: "\f09c"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-unsorted: "\f0dc"; +$fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; +$fa-var-usd: "\f155"; +$fa-var-user: "\f007"; +$fa-var-user-md: "\f0f0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; +$fa-var-users: "\f0c0"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; +$fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; +$fa-var-vimeo-square: "\f194"; +$fa-var-vine: "\f1ca"; +$fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-up: "\f028"; +$fa-var-warning: "\f071"; +$fa-var-wechat: "\f1d7"; +$fa-var-weibo: "\f18a"; +$fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; +$fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; +$fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; +$fa-var-windows: "\f17a"; +$fa-var-won: "\f159"; +$fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpforms: "\f298"; +$fa-var-wrench: "\f0ad"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; +$fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; +$fa-var-yelp: "\f1e9"; +$fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; +$fa-var-youtube: "\f167"; +$fa-var-youtube-play: "\f16a"; +$fa-var-youtube-square: "\f166"; + diff --git a/_sass/vendor/magnific-popup/_magnific-popup.scss b/_sass/vendor/magnific-popup/_magnific-popup.scss new file mode 100644 index 0000000000..27b27bcc3c --- /dev/null +++ b/_sass/vendor/magnific-popup/_magnific-popup.scss @@ -0,0 +1,649 @@ +/* Magnific Popup CSS */ + +@import "settings"; + +//////////////////////// +// +// Contents: +// +// 1. Default Settings +// 2. General styles +// - Transluscent overlay +// - Containers, wrappers +// - Cursors +// - Helper classes +// 3. Appearance +// - Preloader & text that displays error messages +// - CSS reset for buttons +// - Close icon +// - "1 of X" counter +// - Navigation (left/right) arrows +// - Iframe content type styles +// - Image content type styles +// - Media query where size of arrows is reduced +// - IE7 support +// +//////////////////////// + + + +//////////////////////// +// 1. Default Settings +//////////////////////// + +$mfp-overlay-color: #0b0b0b !default; +$mfp-overlay-opacity: 0.8 !default; +$mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6) !default; // shadow on image or iframe +$mfp-popup-padding-left: 8px !default; // Padding from left and from right side +$mfp-popup-padding-left-mobile: 6px !default; // Same as above, but is applied when width of window is less than 800px + +$mfp-z-index-base: 1040 !default; // Base z-index of popup +$mfp-include-arrows: true !default; // include styles for nav arrows +$mfp-controls-opacity: 0.65 !default; +$mfp-controls-color: #FFF !default; +$mfp-controls-border-color: #3F3F3F !default; +$mfp-inner-close-icon-color: #333 !default; +$mfp-controls-text-color: #CCC !default; // Color of preloader and "1 of X" indicator +$mfp-controls-text-color-hover: #FFF !default; +$mfp-IE7support: true !default; // Very basic IE7 support + +// Iframe-type options +$mfp-include-iframe-type: true !default; +$mfp-iframe-padding-top: 40px !default; +$mfp-iframe-background: #000 !default; +$mfp-iframe-max-width: 900px !default; +$mfp-iframe-ratio: 9/16 !default; + +// Image-type options +$mfp-include-image-type: true !default; +$mfp-image-background: #444 !default; +$mfp-image-padding-top: 40px !default; +$mfp-image-padding-bottom: 40px !default; +$mfp-include-mobile-layout-for-image: true !default; // Removes paddings from top and bottom + +// Image caption options +$mfp-caption-title-color: #F3F3F3 !default; +$mfp-caption-subtitle-color: #BDBDBD !default; + +// A11y +$mfp-use-visuallyhidden: false !default; // Hide content from browsers, but make it available for screen readers + + + +//////////////////////// +// 2. General styles +//////////////////////// + +// Transluscent overlay +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: $mfp-z-index-base + 2; + overflow: hidden; + position: fixed; + + background: $mfp-overlay-color; + opacity: $mfp-overlay-opacity; + @if $mfp-IE7support { + filter: unquote("alpha(opacity=#{$mfp-overlay-opacity*100})"); + } +} + +// Wrapper for popup +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: $mfp-z-index-base + 3; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden; // fixes webkit bug that can cause "false" scrollbar +} + +// Root container +.mfp-container { + text-align: center; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + padding: 0 $mfp-popup-padding-left; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +// Vertical centerer helper +.mfp-container { + &:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; + } +} + +// Remove vertical centering when popup has class `mfp-align-top` +.mfp-align-top { + .mfp-container { + &:before { + display: none; + } + } +} + +// Popup content holder +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: $mfp-z-index-base + 5; +} +.mfp-inline-holder, +.mfp-ajax-holder { + .mfp-content { + width: 100%; + cursor: auto; + } +} + +// Cursors +.mfp-ajax-cur { + cursor: progress; +} +.mfp-zoom-out-cur { + &, .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; + } +} +.mfp-zoom { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; +} +.mfp-auto-cursor { + .mfp-content { + cursor: auto; + } +} + +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { + -webkit-user-select:none; + -moz-user-select: none; + user-select: none; +} + +// Hide the image during the loading +.mfp-loading { + &.mfp-figure { + display: none; + } +} + +// Helper class that hides stuff +@if $mfp-use-visuallyhidden { + // From HTML5 Boilerplate https://github.com/h5bp/html5-boilerplate/blob/v4.2.0/doc/css.md#visuallyhidden + .mfp-hide { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + } +} @else { + .mfp-hide { + display: none !important; + } +} + + +//////////////////////// +// 3. Appearance +//////////////////////// + +// Preloader and text that displays error messages +.mfp-preloader { + color: $mfp-controls-text-color; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: $mfp-z-index-base + 4; + a { + color: $mfp-controls-text-color; + &:hover { + color: $mfp-controls-text-color-hover; + } + } +} + +// Hide preloader when content successfully loaded +.mfp-s-ready { + .mfp-preloader { + display: none; + } +} + +// Hide content when it was not loaded +.mfp-s-error { + .mfp-content { + display: none; + } +} + +// CSS-reset for buttons +button { + &.mfp-close, + &.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + outline: none; + padding: 0; + z-index: $mfp-z-index-base + 6; + -webkit-box-shadow: none; + box-shadow: none; + } + &::-moz-focus-inner { + padding: 0; + border: 0 + } +} + + +// Close icon +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: $mfp-controls-opacity; + @if $mfp-IE7support { + filter: unquote("alpha(opacity=#{$mfp-controls-opacity*100})"); + } + padding: 0 0 18px 10px; + color: $mfp-controls-color; + + font-style: normal; + font-size: 28px; + font-family: $serif; + + &:hover, + &:focus { + opacity: 1; + @if $mfp-IE7support { + filter: unquote("alpha(opacity=#{1*100})"); + } + } + + &:active { + top: 1px; + } +} +.mfp-close-btn-in { + .mfp-close { + color: $mfp-inner-close-icon-color; + } +} +.mfp-image-holder, +.mfp-iframe-holder { + .mfp-close { + color: $mfp-controls-color; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100%; + } +} + +// "1 of X" counter +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: $mfp-controls-text-color; + font-size: 12px; + line-height: 18px; +} + +// Navigation arrows +@if $mfp-include-arrows { + .mfp-arrow { + position: absolute; + opacity: $mfp-controls-opacity; + @if $mfp-IE7support { + filter: unquote("alpha(opacity=#{$mfp-controls-opacity*100})"); + } + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + -webkit-tap-highlight-color: rgba(0,0,0,0); + &:active { + margin-top: -54px; + } + &:hover, + &:focus { + opacity: 1; + @if $mfp-IE7support { + filter: unquote("alpha(opacity=#{1*100})"); + } + } + &:before, + &:after, + .mfp-b, + .mfp-a { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: medium inset transparent; + } + + &:after, + .mfp-a { + + border-top-width: 13px; + border-bottom-width: 13px; + top:8px; + } + + &:before, + .mfp-b { + border-top-width: 21px; + border-bottom-width: 21px; + opacity: 0.7; + } + + } + + .mfp-arrow-left { + left: 0; + + &:after, + .mfp-a { + border-right: 17px solid $mfp-controls-color; + margin-left: 31px; + } + &:before, + .mfp-b { + margin-left: 25px; + border-right: 27px solid $mfp-controls-border-color; + } + } + + .mfp-arrow-right { + right: 0; + &:after, + .mfp-a { + border-left: 17px solid $mfp-controls-color; + margin-left: 39px + } + &:before, + .mfp-b { + border-left: 27px solid $mfp-controls-border-color; + } + } +} + + + +// Iframe content type +@if $mfp-include-iframe-type { + .mfp-iframe-holder { + padding-top: $mfp-iframe-padding-top; + padding-bottom: $mfp-iframe-padding-top; + .mfp-content { + line-height: 0; + width: 100%; + max-width: $mfp-iframe-max-width; + } + .mfp-close { + top: -40px; + } + } + .mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: $mfp-iframe-ratio * 100%; + iframe { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: $mfp-shadow; + background: $mfp-iframe-background; + } + } +} + + + +// Image content type +@if $mfp-include-image-type { + + /* Main image in popup */ + img { + &.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: $mfp-image-padding-top 0 $mfp-image-padding-bottom; + margin: 0 auto; + } + } + + /* The shadow behind the image */ + .mfp-figure { + line-height: 0; + &:after { + content: ''; + position: absolute; + left: 0; + top: $mfp-image-padding-top; + bottom: $mfp-image-padding-bottom; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: $mfp-shadow; + background: $mfp-image-background; + } + small { + color: $mfp-caption-subtitle-color; + display: block; + font-size: 12px; + line-height: 14px; + } + figure { + margin: 0; + } + figcaption { + margin-top: 0; + margin-bottom: 0; // reset for bottom spacing + } + } + .mfp-bottom-bar { + margin-top: -$mfp-image-padding-bottom + 4; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto; + } + .mfp-title { + text-align: left; + line-height: 18px; + color: $mfp-caption-title-color; + word-wrap: break-word; + padding-right: 36px; // leave some space for counter at right side + } + + .mfp-image-holder { + .mfp-content { + max-width: 100%; + } + } + + .mfp-gallery { + .mfp-image-holder { + .mfp-figure { + cursor: pointer; + } + } + } + + + @if $mfp-include-mobile-layout-for-image { + @media screen and (max-width: 800px) and (orientation:landscape), screen and (max-height: 300px) { + /** + * Remove all paddings around the image on small screen + */ + .mfp-img-mobile { + .mfp-image-holder { + padding-left: 0; + padding-right: 0; + } + img { + &.mfp-img { + padding: 0; + } + } + .mfp-figure { + // The shadow behind the image + &:after { + top: 0; + bottom: 0; + } + small { + display: inline; + margin-left: 5px; + } + } + .mfp-bottom-bar { + background: rgba(0,0,0,0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + &:empty { + padding: 0; + } + } + .mfp-counter { + right: 5px; + top: 3px; + } + .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0; + } + } + } + } +} + + + +// Scale navigation arrows and reduce padding from sides +@media all and (max-width: 900px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75); + } + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0; + } + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100%; + } + .mfp-container { + padding-left: $mfp-popup-padding-left-mobile; + padding-right: $mfp-popup-padding-left-mobile; + } +} + + + +// IE7 support +// Styles that make popup look nicier in old IE +@if $mfp-IE7support { + .mfp-ie7 { + .mfp-img { + padding: 0; + } + .mfp-bottom-bar { + width: 600px; + left: 50%; + margin-left: -300px; + margin-top: 5px; + padding-bottom: 5px; + } + .mfp-container { + padding: 0; + } + .mfp-content { + padding-top: 44px; + } + .mfp-close { + top: 0; + right: 0; + padding-top: 0; + } + } +} diff --git a/_sass/vendor/magnific-popup/_settings.scss b/_sass/vendor/magnific-popup/_settings.scss new file mode 100644 index 0000000000..e7866b3f17 --- /dev/null +++ b/_sass/vendor/magnific-popup/_settings.scss @@ -0,0 +1,46 @@ +//////////////////////// +// Settings // +//////////////////////// + +// overlay +$mfp-overlay-color: #000; // Color of overlay screen +$mfp-overlay-opacity: 0.8; // Opacity of overlay screen +$mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6); // Shadow on image or iframe + +// spacing +$mfp-popup-padding-left: 8px; // Padding from left and from right side +$mfp-popup-padding-left-mobile: 6px; // Same as above, but is applied when width of window is less than 800px + +$mfp-z-index-base: 1040; // Base z-index of popup + +// controls +$mfp-include-arrows: true; // Include styles for nav arrows +$mfp-controls-opacity: 1; // Opacity of controls +$mfp-controls-color: #fff; // Color of controls +$mfp-controls-border-color: #fff; // Border color of controls +$mfp-inner-close-icon-color: #fff; // Color of close button when inside +$mfp-controls-text-color: #ccc; // Color of preloader and "1 of X" indicator +$mfp-controls-text-color-hover: #fff; // Hover color of preloader and "1 of X" indicator +$mfp-IE7support: true; // Very basic IE7 support + +// Iframe-type options +$mfp-include-iframe-type: true; // Enable Iframe-type popups +$mfp-iframe-padding-top: 40px; // Iframe padding top +$mfp-iframe-background: #000; // Background color of iframes +$mfp-iframe-max-width: 900px; // Maximum width of iframes +$mfp-iframe-ratio: 9/16; // Ratio of iframe (9/16 = widescreen, 3/4 = standard, etc.) + +// Image-type options +$mfp-include-image-type: true; // Enable Image-type popups +$mfp-image-background: #444 !default; +$mfp-image-padding-top: 40px; // Image padding top +$mfp-image-padding-bottom: 40px; // Image padding bottom +$mfp-include-mobile-layout-for-image: true; // Removes paddings from top and bottom + +// Image caption options +$mfp-caption-title-color: #f3f3f3; // Caption title color +$mfp-caption-subtitle-color: #bdbdbd; // Caption subtitle color +.mfp-counter { font-family: $serif; } // Caption font family + +// A11y +$mfp-use-visuallyhidden: false; \ No newline at end of file diff --git a/_sass/vendor/susy/_su.scss b/_sass/vendor/susy/_su.scss new file mode 100644 index 0000000000..83386adba2 --- /dev/null +++ b/_sass/vendor/susy/_su.scss @@ -0,0 +1,4 @@ +// Su +// == + +@import 'susy/su'; diff --git a/_sass/vendor/susy/_susy.scss b/_sass/vendor/susy/_susy.scss new file mode 100644 index 0000000000..224e98ad2b --- /dev/null +++ b/_sass/vendor/susy/_susy.scss @@ -0,0 +1,4 @@ +// Susy +// ==== + +@import 'susy/language/susy'; diff --git a/_sass/vendor/susy/_susyone.scss b/_sass/vendor/susy/_susyone.scss new file mode 100644 index 0000000000..5b934c6886 --- /dev/null +++ b/_sass/vendor/susy/_susyone.scss @@ -0,0 +1,4 @@ +// Susy +// ==== + +@import 'susy/language/susyone'; diff --git a/_sass/vendor/susy/susy/_su.scss b/_sass/vendor/susy/susy/_su.scss new file mode 100644 index 0000000000..a145415749 --- /dev/null +++ b/_sass/vendor/susy/susy/_su.scss @@ -0,0 +1,7 @@ +// Su +// == + +@import "su/utilities"; +@import "su/settings"; +@import "su/validation"; +@import "su/grid"; diff --git a/_sass/vendor/susy/susy/language/_susy.scss b/_sass/vendor/susy/susy/language/_susy.scss new file mode 100644 index 0000000000..0ee9cae2b3 --- /dev/null +++ b/_sass/vendor/susy/susy/language/_susy.scss @@ -0,0 +1,24 @@ +// Susy Next Syntax +// ================ + +$susy-version: 2.1; + +@import "../su"; +@import "../output/float"; + +@import "susy/settings"; +@import "susy/validation"; +@import "susy/grids"; +@import "susy/box-sizing"; +@import "susy/context"; +@import "susy/background"; +@import "susy/container"; +@import "susy/span"; +@import "susy/gutters"; +@import "susy/isolate"; +@import "susy/gallery"; +@import "susy/rows"; +@import "susy/margins"; +@import "susy/padding"; +@import "susy/bleed"; +@import "susy/breakpoint-plugin"; diff --git a/_sass/vendor/susy/susy/language/_susyone.scss b/_sass/vendor/susy/susy/language/_susyone.scss new file mode 100644 index 0000000000..a783d3a82a --- /dev/null +++ b/_sass/vendor/susy/susy/language/_susyone.scss @@ -0,0 +1,13 @@ +// --------------------------------------------------------------------------- +// Partials + +$susy-version: 1.5; + +@import "susyone/settings"; +@import "susyone/functions"; +@import "susyone/grid"; +@import "susyone/isolation"; +@import "susyone/padding"; +@import "susyone/margin"; +@import "susyone/media"; +@import "susyone/background"; diff --git a/_sass/vendor/susy/susy/language/susy/_background.scss b/_sass/vendor/susy/susy/language/susy/_background.scss new file mode 100644 index 0000000000..d39dc7218c --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_background.scss @@ -0,0 +1,385 @@ +// Background Grid Syntax +// ====================== + +$susy-overlay-grid-head-exists: false; + + +// Show Grid/s +// ----------- +// Show grid on any element using either background or overlay. +// - [$grid] : +@mixin show-grid( + $grid: $susy +) { + $inspect: $grid; + $_output: debug-get(output, $grid); + + @include susy-inspect(show-grid, $inspect); + @if $_output == overlay and susy-get(debug image, $grid) != hide { + @include overlay-grid($grid); + } @else { + @include background-grid($grid); + } +} + +@mixin show-grids( + $grid: $susy +) { + @include show-grid($grid); +} + +// Background Grid +// --------------- +// Show a grid background on any element. +// - [$grid] : +@mixin background-grid( + $grid: $susy +) { + $inspect : $grid; + $_output : get-background($grid); + + @if length($_output) > 0 { + $_flow: susy-get(flow, $grid); + + $_image: (); + @each $name, $layer in map-get($_output, image) { + $_direction: if($name == baseline, to bottom, to to($_flow)); + $_image: append($_image, linear-gradient($_direction, $layer), comma); + } + $_output: map-merge($_output, (image: $_image)); + + @include background-grid-output($_output...); + @include susy-inspect(background-grid, $inspect); + } +} + + +// Overlay Grid +// ------------ +// Generate an icon to trigger grid-overlays on any given elements. +// $grids... : [] [, ]* +@mixin overlay-grid ( + $grid: $susy +) { + @if not($susy-overlay-grid-head-exists) { + @at-root head { @include overlay-head($grid); } + @at-root head:before { @include overlay-trigger; } + @at-root head:hover { @include overlay-trigger-hover; } + $susy-overlay-grid-head-exists: true !global; + } + + head:hover ~ &, + head:hover ~ body & { + position: relative; + &:before { + @include grid-overlay-base; + @include background-grid($grid); + } + } +} + + +// [Private] Overlay Trigger +// ------------------------- +@mixin overlay-trigger { + content: "|||"; + display: block; + padding: 5px 10px; + font: { + family: sans-serif; + size: 16px; + weight: bold; + } +} + + +// [Private] Overlay Trigger Hover +// ------------------------------- +@mixin overlay-trigger-hover { + background: rgba(white, .5); + color: red; +} + + +// [Private] Overlay Head +// ---------------------- +// styles to create grid overlay toggle +@mixin overlay-head ( + $grid: $susy +) { + $_toggle: debug-get(toggle, $grid); + $_horz: null; + $_vert: null; + + @each $side in $_toggle { + $_horz: if($side == left or $side == right, $side, $_horz); + $_vert: if($side == top or $side == bottom, $side, $_vert); + } + + display: block; + position: fixed; + #{$_horz}: 10px; + #{$_vert}: 10px; + z-index: 999; + color: #333; + background: rgba(white, .25); +} + + +// [Private] Grid Overlay Base +// --------------------------- +// Base styles for generating a grid overlay +@mixin grid-overlay-base() { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + content: " "; + z-index: 998; +} + + +// Get Symmetrical Background +// -------------------------- +// - $grid: +@function get-background-sym( + $grid +) { + $grid : parse-grid($grid); + $_gutters : susy-get(gutters, $grid); + $_column-width : susy-get(column-width, $grid); + $_math : susy-get(math, $grid); + + $_color : debug-get(color); + $_trans : transparent; + $_light : lighten($_color, 15%); + + $_end : 1 + $_gutters; + $_after : percentage(1/$_end); + $_stops : (); + $_size : span(1 $grid wide); + + @if is-inside($grid) { + $_stops: $_color, $_light; + } @else if is-split($grid) { + $_split: $_gutters/2; + $_before: percentage($_split/$_end); + $_after: percentage((1 + $_split)/$_end); + $_stops: $_trans $_before, $_color $_before, $_light $_after, $_trans $_after; + } @else { + $_stops: $_color, $_light $_after, $_trans $_after; + } + + @if $_math == static { + $_size: valid-column-math($_math, $_column-width) * $_end; + } + + $_output: ( + image: (columns: $_stops), + size: $_size, + ); + + @return $_output; +} + + +// Get Asymmetrical Inside +// ----------------------- +// - $grid: +@function get-asym-inside( + $grid +) { + $grid : parse-grid($grid); + $_columns : susy-get(columns, $grid); + + $_color : debug-get(color); + $_light : lighten($_color, 15%); + $_stops : (); + + @for $location from 1 through susy-count($_columns) { + $this-stop: (); + + @if $location == 1 { + $this-stop: append($this-stop, $_color, comma); + } @else { + $start: parse-span(1 at $location $grid); + $start: get-isolation($start); + $this-stop: append($this-stop, $_color $start, comma); + } + + @if $location == susy-count($_columns) { + $this-stop: append($this-stop, $_light, comma); + } @else { + $_end: parse-span(1 at ($location + 1) $grid); + $_end: get-isolation($_end); + $this-stop: append($this-stop, $_light $_end, comma); + } + + $_stops: join($_stops, $this-stop, comma); + } + + @return $_stops; +} + + +// Get Asymmetrical Split +// ---------------------- +// - $grid: +@function get-asym-split( + $grid +) { + $grid : parse-grid($grid); + $_columns : susy-get(columns, $grid); + + $_color : debug-get(color); + $_light : lighten($_color, 15%); + $_stops : (); + + @for $location from 1 through susy-count($_columns) { + $this-stop: (); + + $start: parse-span(1 at $location $grid); + $start: get-isolation($start); + $this-stop: append($this-stop, transparent $start, comma); + $this-stop: append($this-stop, $_color $start, comma); + + $_end: $start + span(1 at $location $grid); + $this-stop: append($this-stop, $_light $_end, comma); + $this-stop: append($this-stop, transparent $_end, comma); + + $_stops: join($_stops, $this-stop, comma); + } + + @return $_stops; +} + + +// Get Asymmetrical Outside +// ------------------------ +// - $grid: +@function get-asym-outside( + $grid +) { + $grid : parse-grid($grid); + $_columns : susy-get(columns, $grid); + + $_color : debug-get(color); + $_light : lighten($_color, 15%); + $_trans : transparent; + $_stops : (); + + @for $location from 1 through susy-count($_columns) { + $this-stop: (); + + @if $location == 1 { + $this-stop: append($this-stop, $_color, comma); + } @else { + $start: parse-span(1 at $location $grid); + $start: get-isolation($start); + $this-stop: append($this-stop, $_color $start, comma); + } + + @if $location == susy-count($_columns) { + $this-stop: append($this-stop, $_light, comma); + } @else { + $gutter: get-span-width(first $location $grid); + + $_end: parse-span(1 at ($location + 1) $grid); + $_end: get-isolation($_end); + + $gutter: $_light $gutter, $_trans $gutter, $_trans $_end; + $this-stop: join($this-stop, $gutter, comma); + } + + $_stops: join($_stops, $this-stop, comma); + } + + @return $_stops; +} + + +// Get Asymmetrical Background +// --------------------------- +// - $grid: +@function get-background-asym( + $grid +) { + $_stops: (); + + @if is-inside($grid) { + $_stops: get-asym-inside($grid); + } @else if is-split($grid) { + $_stops: get-asym-split($grid); + } @else { + $_stops: get-asym-outside($grid); + } + + @return (image: (columns: $_stops)); +} + + +// Get Background +// -------------- +// - $grid: +@function get-background( + $grid +) { + $grid : parse-grid($grid); + $_show : susy-get(debug image, $grid); + $_return : (); + + @if $_show and $_show != 'hide' { + $_columns: susy-get(columns, $grid); + + @if $_show != 'show-baseline' { + $_sym: is-symmetrical($_columns); + $_return: if($_sym, get-background-sym($grid), get-background-asym($grid)); + $_return: map-merge($_return, (clip: content-box)); + } + + @if $_show != 'show-columns' + and global-variable-exists(base-line-height) + and type-of($base-line-height) == 'number' + and not unitless($base-line-height) { + $_color: variable-exists('grid-background-baseline-color'); + $_color: if($_color, $grid-background-baseline-color, #000); + + $_image: map-get($_return, image); + $_size: map-get($_return, size); + $_baseline: (baseline: ($_color 1px, transparent 1px)); + $_baseline-size: 100% $base-line-height; + + $_return: map-merge($_return, ( + image: if($_image, map-merge($_image, $_baseline), $_baseline), + size: if($_size, ($_size, $_baseline-size), $_baseline-size), + )); + + @if $_show == 'show' { + $_clip: map-get($_return, clip); + $_return: map-merge($_return, (clip: join($_clip, border-box, comma))); + } + } @else if $_show == 'show-baseline' { + @warn 'Please provide a $base-line-height with the desired height and units'; + } + } + + @if map-get($_return, image) { + $_return: map-merge($_return, (flow: susy-get(flow, $grid))); + } + + @return $_return; +} + + +// Get Debug +// --------- +// Return the value of a debug setting +// - $key: +@function debug-get( + $key, + $grid: $susy +) { + $key: join(debug, $key, space); + @return susy-get($key, $grid); +} diff --git a/_sass/vendor/susy/susy/language/susy/_bleed.scss b/_sass/vendor/susy/susy/language/susy/_bleed.scss new file mode 100644 index 0000000000..8ef5974322 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_bleed.scss @@ -0,0 +1,200 @@ +// Bleed Syntax +// ============ + +// Bleed +// ----- +// Add negative margins, and equal positive padding to create bleed. +// - $bleed : +@mixin bleed( + $bleed: 0 gutter() +) { + $inspect : $bleed; + $output : get-bleed($bleed); + + @if susy-get(global-box-sizing) != content-box { + $output: map-merge((box-sizing: content-box), $output); + } + + @include susy-inspect(bleed, $inspect); + @include output($output); +} + + +// Bleed-x +// ------- +// Shortcut for horizontal bleed. +// - $bleed : +@mixin bleed-x( + $bleed: gutter() +) { + $bleed : parse-span($bleed); + $trbl : susy-get(span, $bleed); + + @if length($trbl) == 1 { + $bleed: map-merge($bleed, (span: 0 nth($trbl, 1))); + } @else if length($trbl) == 2 { + $bleed: map-merge($bleed, (span: 0 nth($trbl, 2) 0 nth($trbl, 1))); + } @else { + @warn 'bleed-x only takes 2 lengths, but #{length($trbl)} were passed.'; + } + + @include bleed($bleed); +} + + +// Bleed-y +// ------- +// Shortcut for vertical bleed. +// - $bleed : +@mixin bleed-y( + $bleed: if(function-exists(rhythm), rhythm(1), 1em) +) { + $bleed : parse-span($bleed); + $trbl : susy-get(span, $bleed); + + @if length($trbl) == 1 { + $bleed: map-merge($bleed, (span: nth($trbl, 1) 0)); + } @else if length($trbl) == 2 { + $bleed: map-merge($bleed, (span: nth($trbl, 1) 0 nth($trbl, 2) 0)); + } @else { + @warn 'bleed-y only takes 2 lengths, but #{length($trbl)} were passed.'; + } + + @include bleed($bleed); +} + + +// Get Bleed +// --------- +// Return bleed output values +// - $bleed: +@function get-bleed( + $bleed +) { + $bleed : map-merge((spread: wide), parse-span($bleed)); + $trbl : susy-get(span, $bleed); + $short : null; + $output : (); + + @for $i from 1 through length($trbl) { + $this: nth($trbl, $i); + $new: (); + $margin: null; + $padding: null; + $padding-x: null; + + @if $this > 0 { + $this: map-merge($bleed, (span: $this)); + $margin: span($this); + $padding: $margin; + $padding-x: $padding; + } + + @if $margin and $margin > 0 { + $margin: - $margin; + + @if is-inside($this) { + $gutter: gutter($this); + $join: if($gutter and comparable($padding, $gutter), true, false); + $padding-x: if($join and $padding > 0, $padding + $gutter, $padding); + } + } + + @if $i == 1 { + $new: ( + margin-top: $margin, + padding-top: $padding, + margin-right: $margin, + padding-right: $padding-x, + margin-bottom: $margin, + padding-bottom: $padding, + margin-left: $margin, + padding-left: $padding-x, + ); + } @else if $i == 2 { + $new: ( + margin-right: $margin, + padding-right: $padding-x, + margin-left: $margin, + padding-left: $padding-x, + ); + } @else if $i == 3 { + $new: ( + margin-bottom: $margin, + padding-bottom: $padding, + ); + } @else if $i == 4 { + $new: ( + margin-left: $margin, + padding-left: $padding-x, + ); + } + + $output: map-merge($output, $new); + } + + @each $prop, $value in $output { + $output: if($value == 0, map-merge($output, ($prop: null)), $output); + } + + @return bleed-shorthand($output); +} + +// Bleed Shorthand +// --------------- +// Convert bleed output into shorthand when possible. +// - $bleed: +@function bleed-shorthand( + $bleed +) { + $margin: (); + $padding: (); + $return: (); + + @each $key, $value in $bleed { + @if str-index($key, margin) { + $margin: map-merge($margin, ($key: $value)); + } @else if str-index($key, padding) > 0 { + $padding: map-merge($padding, ($key: $value)); + } + } + + $props: ( + margin: $margin, + padding: $padding, + ); + + @each $name, $map in $props { + $four: if(length(map-keys($map)) == 4, true, false); + $null: if(index(map-values($map), null), true, false); + + @if $four and not($null) { + $top: map-get($map, '#{$name}-top'); + $right: map-get($map, '#{$name}-right'); + $bottom: map-get($map, '#{$name}-bottom'); + $left: map-get($map, '#{$name}-left'); + + $tb: if($top == $bottom, $top, null); + $rl: if($right == $left, $right, null); + $all: if($tb == $rl, $tb, null); + + $new: if($all, $all, null); + + @if not($new) { + @if $tb and $rl { + $new: $tb $rl; + } @else if $rl { + $new: $top $rl $bottom; + } @else { + $new: $top $right $bottom $left; + } + } + + $return: map-merge($return, ($name: $new)); + } @else { + $return: map-merge($return, $map); + } + } + + @return $return; +} diff --git a/_sass/vendor/susy/susy/language/susy/_box-sizing.scss b/_sass/vendor/susy/susy/language/susy/_box-sizing.scss new file mode 100644 index 0000000000..f551241de8 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_box-sizing.scss @@ -0,0 +1,47 @@ +// Susy Box Sizing +// ================= + +// Global Box Sizing +// ----------------- +// Set a box model globally on all elements. +// - [$box]: border-box | content-box +// - [$inherit]: true | false +@mixin global-box-sizing( + $box: susy-get(global-box-sizing), + $inherit: false +) { + $inspect: $box; + + @if $inherit { + @at-root { + html { @include output((box-sizing: $box)); } + *, *:before, *:after { box-sizing: inherit; } + } + } @else { + *, *:before, *:after { @include output((box-sizing: $box)); } + } + + @include susy-inspect(global-box-sizing, $inspect); + @include update-box-model($box); +} + +// Border Box Sizing +// ----------------- +// A legacy shortcut... +// - [$inherit]: true | false +@mixin border-box-sizing( + $inherit: false +) { + @include global-box-sizing(border-box, $inherit); +} + +// Update Box Model +// ---------------- +// PRIVATE: Updates global box model setting +@mixin update-box-model( + $box +) { + @if $box != susy-get(global-box-sizing) { + @include susy-set(global-box-sizing, $box); + } +} diff --git a/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss b/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss new file mode 100644 index 0000000000..30de288bf7 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss @@ -0,0 +1,185 @@ +// Breakpoint Integration +// ====================== + +$susy-media: () !default; +$susy-media-fallback: false !default; + +$_susy-media-context: (); + + +// Susy Breakpoint +// --------------- +// Change grids at different media query breakpoints. +// - $query : [] | | +// - $layout : +// - $no-query : | +@mixin susy-breakpoint( + $query, + $layout: false, + $no-query: $susy-media-fallback +) { + @include susy-media-router($query, $no-query) { + @if $layout { + @include with-layout($layout) { + @content; + } + } @else { + @content; + } + } +} + + +// Susy Media +// ---------- +// - $query: [] | +// - $no-query: | +@mixin susy-media( + $query, + $no-query: $susy-media-fallback +) { + $old-context: $_susy-media-context; + $name: if(map-has-key($susy-media, $query), $query, null); + $query: susy-get-media($query); + $query: susy-parse-media($query); + + @include susy-media-context($query, $name); + + @if $no-query and type-of($no-query) != string { + @content; + } @else { + @media #{susy-render-media($query)} { + @content; + } + + @if type-of($no-query) == string { + #{$no-query} & { + @content; + } + } + } + + @include susy-media-context($old-context, $clean: true); +} + + +// Media Router +// ------------ +// Rout media arguments to the correct mixin. +@mixin susy-media-router( + $query, + $no-query: $susy-media-fallback +) { + @if susy-support(breakpoint, (mixin: breakpoint), $warn: false) { + @include breakpoint($query, $no-query) { + @content; + } + } @else { + @include susy-media($query, $no-query) { + @content; + } + } +} + + +// Update Context +// ------------- +// Set the new media context +@mixin susy-media-context( + $query, + $name: null, + $clean: false +) { + $query: map-merge((name: $name), $query); + + @if $clean { + $_susy-media-context: $query !global; + } @else { + $_susy-media-context: map-merge($_susy-media-context, $query) !global; + } +} + + +// Media Context +// ------------- +// Return the full media context, or a single media property (e.g. min-width) +@function susy-media-context( + $property: false +) { + @if $property { + @return map-get($_susy-media-context, $property); + } @else { + @return $_susy-media-context; + } +} + + +// Get Media +// --------- +// Return a named media-query from $susy-media. +// - $name: +@function susy-get-media( + $name +) { + @if map-has-key($susy-media, $name) { + $map-value: map-get($susy-media, $name); + @if ($name == $map-value) { + $name: $map-value; + } @else { + $name: susy-get-media($map-value); + } + } + + @return $name; +} + + +// Render Media +// ------------ +// Build a media-query string from various media settings +@function susy-render-media( + $query +) { + $output: null; + @each $property, $value in $query { + $string: null; + + @if $property == media { + $string: $value; + } @else { + $string: '(#{$property}: #{$value})'; + } + + $output: if($output, '#{$output} and #{$string}', $string); + } + + @return $output; +} + + +// Parse Media +// ----------- +// Return parsed media-query settings based on shorthand +@function susy-parse-media( + $query +) { + $mq: null; + @if type-of($query) == map { + $mq: $query; + } @else if type-of($query) == number { + $mq: (min-width: $query); + } @else if type-of($query) == list and length($query) == 2 { + @if type-of(nth($query, 1)) == number { + $mq: ( + min-width: min($query...), + max-width: max($query...), + ); + } @else { + $mq: (nth($query, 1): nth($query, 2)); + } + } @else { + $mq: (media: '#{$query}'); + } + + @return $mq; +} diff --git a/_sass/vendor/susy/susy/language/susy/_container.scss b/_sass/vendor/susy/susy/language/susy/_container.scss new file mode 100644 index 0000000000..e5f4a858a6 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_container.scss @@ -0,0 +1,81 @@ +// Container Syntax +// ================ + +// Container [mixin] +// ----------------- +// Set a container element +// - [$layout] : +@mixin container( + $layout: $susy +) { + $inspect : $layout; + $layout : parse-grid($layout); + + $_width : get-container-width($layout); + $_justify : parse-container-position(susy-get(container-position, $layout)); + $_property : if(susy-get(math, $layout) == static, width, max-width); + + $_box : susy-get(box-sizing, $layout); + + @if $_box { + @include output((box-sizing: $_box)); + } + + @include susy-inspect(container, $inspect); + @include float-container($_width, $_justify, $_property); + @include show-grid($layout); +} + +// Container [function] +// -------------------- +// Return container width +// - [$layout] : +@function container( + $layout: $susy +) { + $layout: parse-grid($layout); + @return get-container-width($layout); +} + +// Get Container Width +// ------------------- +// Calculate the container width +// - [$layout]: +@function get-container-width( + $layout: $susy +) { + $layout : parse-grid($layout); + $_width : susy-get(container, $layout); + $_column-width : susy-get(column-width, $layout); + $_math : susy-get(math, $layout); + + @if not($_width) or $_width == auto { + @if valid-column-math($_math, $_column-width) { + $_columns : susy-get(columns, $layout); + $_gutters : susy-get(gutters, $layout); + $_spread : if(is-split($layout), wide, narrow); + $_width : susy-sum($_columns, $_gutters, $_spread) * $_column-width; + } @else { + $_width: 100%; + } + } + + @return $_width; +} + +// Parse Container Position +// ------------------------ +// Parse the $container-position into margin values. +// - [$justify] : left | center | right | [] +@function parse-container-position( + $justify: map-get($susy-defaults, container-position) +) { + $_return: if($justify == left, 0, auto) if($justify == right, 0, auto); + + @if not(index(left right center, $justify)) { + $_return: nth($justify, 1); + $_return: $_return if(length($justify) > 1, nth($justify, 2), $_return); + } + + @return $_return; +} diff --git a/_sass/vendor/susy/susy/language/susy/_context.scss b/_sass/vendor/susy/susy/language/susy/_context.scss new file mode 100644 index 0000000000..52e12a6ce1 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_context.scss @@ -0,0 +1,36 @@ +// Context Syntax +// ============== + +// Nested [function] +// ----------------- +// Return a subset grid for nested context. +// - $context : +@function nested( + $context +) { + $context : parse-span($context); + $span : susy-get(span, $context); + $location : get-location($context); + $columns : susy-get(columns, $context); + + @return susy-slice($span, $location, $columns); +} + +// Nested [mixin] +// -------------- +// Use a subset grid for a nested context +// - $context : +// - @content : +@mixin nested( + $context +) { + $inspect : $context; + $context : parse-span($context); + $old : susy-get(columns); + $susy : map-merge($susy, (columns: nested($context))) !global; + + @include susy-inspect(nested, $inspect); + @content; + + $susy : map-merge($susy, (columns: $old)) !global; +} diff --git a/_sass/vendor/susy/susy/language/susy/_gallery.scss b/_sass/vendor/susy/susy/language/susy/_gallery.scss new file mode 100644 index 0000000000..e59b9a0c67 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_gallery.scss @@ -0,0 +1,94 @@ +// Gallery Syntax +// ============== + +// Gallery +// ------- +// Create an isolated gallery +// - $span : +// - [$selector] : child | of-type +@mixin gallery( + $span, + $selector: child +) { + $inspect : $span; + $span : parse-span($span); + $span : map-merge($span, (location: 1)); + + $n : susy-get(span, $span); + $columns : susy-get(columns, $span); + $context : susy-count($columns); + $flow : susy-get(flow, $span); + + $inside : is-inside($span); + $from : from($flow); + $line : floor($context / $n); + $symmetrical : is-symmetrical($columns); + + $output: ( + width : null, + float : from, + margin-before : null, + margin-after : null, + padding-before : null, + padding-after : null, + flow : $flow, + ); + + @if $inside { + $gutters: get-gutters($span); + $output: map-merge($output, ( + padding-before: map-get($gutters, before), + padding-after: map-get($gutters, after), + )); + } + + @if $symmetrical { + $output: map-merge($output, (width: get-span-width($span))); + } + + $box : susy-get(box-sizing, $span); + $global-box : if(susy-get(global-box-sizing) == 'border-box', true, false); + + @include susy-inspect(gallery, $inspect); + + // Collective Output + @if $box == border-box or ($inside and not($box) and not($global-box)) { + @include output((box-sizing: border-box)); + } @else if $box == content-box { + @include output((box-sizing: content-box)); + } + + @include float-span-output($output...); + + // Individual Loop + @for $item from 1 through $line { + $nth: '#{$line}n + #{$item}'; + &:nth-#{$selector}(#{$nth}) { + // Individual Prep + $output: ( + width : if($symmetrical, null, get-span-width($span)), + float : null, + margin-before : get-isolation($span), + margin-after : -100%, + padding-before : null, + padding-after : null, + flow : $flow, + ); + + // Individual Output + @include float-span-output($output...); + + @if get-edge($span) == first { + @include break; + @include first($span); + } @else { + @include nobreak; + } + + // Individual Location Increment + $location: get-location($span) + $n; + $location: if($location > $context, 1, $location); + $span: map-merge($span, (location: $location)); + } + } +} diff --git a/_sass/vendor/susy/susy/language/susy/_grids.scss b/_sass/vendor/susy/susy/language/susy/_grids.scss new file mode 100644 index 0000000000..4fa72edc5d --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_grids.scss @@ -0,0 +1,64 @@ +// Grid Syntax +// =========== + + +// Layout +// ------ +// Set a new layout using a shorthand +// - $layout: +// - $clean: boolean +@mixin layout( + $layout, + $clean: false +) { + $inspect : $layout; + $susy : _get-layout($layout, $clean) !global; + + @include susy-inspect(layout, $inspect); +} + + +// Use Grid +// -------- +// Use an arbitrary layout for a section of code +// - $layout: +// - $clean: boolean +@mixin with-layout( + $layout, + $clean: false +) { + $inspect : $layout; + $old : $susy; + $susy : _get-layout($layout, $clean) !global; + + @include susy-inspect(with-layout, $inspect); + + @content; + + $susy: $old !global; +} + + +// Layout +// ------ +// Return a parsed layout map based on shorthand syntax +// - $layout: +@function layout( + $layout: $susy +) { + @return parse-grid($layout); +} + + +// Get Layout +// ---------- +// Return a new layout based on current and given settings +// - $layout: +// - $clean: boolean +@function _get-layout( + $layout, + $clean: false +) { + $layout: layout($layout); + @return if($clean, $layout, _susy-deep-merge($susy, $layout)); +} diff --git a/_sass/vendor/susy/susy/language/susy/_gutters.scss b/_sass/vendor/susy/susy/language/susy/_gutters.scss new file mode 100644 index 0000000000..efe7ac2097 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_gutters.scss @@ -0,0 +1,154 @@ +// Gutter Syntax +// ============= + + +// Gutters +// ------- +// Set gutters on an element. +// - [$span] : +@mixin gutters( + $span: $susy +) { + $inspect : $span; + $span : parse-gutters($span); + $_gutters : get-gutters($span); + + $_output: ( + before: map-get($_gutters, before), + after: map-get($_gutters, after), + flow: susy-get(flow, $span), + ); + + @include susy-inspect(gutters, $inspect); + + @if is-inside($span) { + @include padding-output($_output...); + } @else { + @include margin-output($_output...); + } +} + +@mixin gutter( + $span: $susy +) { + @include gutters($span); +} + + +// Gutter +// ------ +// Return the width of a gutter. +// - [$span] : +@function gutter( + $span: $susy +) { + $span: parse-gutters($span); + + $_gutters: get-gutters($span); + $_gutters: map-get($_gutters, before) or map-get($_gutters, after); + + @return $_gutters; +} + +@function gutters( + $span: $susy +) { + @return gutter($span); +} + + +// Get Gutter Width +// ---------------- +// Return gutter width. +// - [$context]: +@function get-gutter-width( + $context: $susy +) { + $context : parse-gutters($context); + + $_gutters : susy-get(gutters, $context); + $_gutter : susy-get(gutter-override, $context); + + @if $_gutters and ($_gutters > 0) and not($_gutter) { + $_column-width: susy-get(column-width, $context); + $_math: gutter-math($context); + @if $_math == static { + $_gutter: $_gutters * valid-column-math($_math, $_column-width); + } @else { + $_columns : susy-get(columns, $context); + $_spread : if(is-split($context), wide, susy-get(spread, $context)); + $_gutter : percentage($_gutters / susy-sum($_columns, $_gutters, $_spread)); + } + } + + $_gutter: if($_gutter == 'no-gutters' or $_gutter == 'no-gutter', null, $_gutter); + + @return $_gutter; +} + + +// Get Gutters +// ----------- +// Return before and after gutter values. +// - [$context]: +@function get-gutters( + $context: $susy +) { + $context : parse-gutters($context); + + $_gutter-position : susy-get(gutter-position, $context); + $_gutter : get-gutter-width($context); + + $_return : (before: null, after: null); + + @if is-split($context) and $_gutter { + $_gutter: $_gutter / 2; + $_return: map-merge($_return, (before: $_gutter, after: $_gutter)); + } @else { + $_return: map-merge($_return, ($_gutter-position: $_gutter)); + } + + @return $_return; +} + + +// Is Inside +// --------- +// Returns true if gutters are inside. +// $context: +@function is-inside( + $context +) { + $_inside: inside inside-static; + $_gutter-position: susy-get(gutter-position, $context); + + @return if(index($_inside, $_gutter-position), true, false); +} + + +// Is Split +// -------- +// Returns true if gutters are split. +// $context: +@function is-split( + $context +) { + $_split: split inside inside-static; + $_gutter-position: susy-get(gutter-position, $context); + + @return if(index($_split, $_gutter-position), true, false); +} + + +// Gutter Math +// ----------- +// Return the math to use for gutter calculations +// $context: +@function gutter-math( + $context: $susy +) { + $_return : susy-get(math, $context); + $_return : if(susy-get(gutter-position, $context) == inside-static, static, $_return); + + @return $_return; +} diff --git a/_sass/vendor/susy/susy/language/susy/_isolate.scss b/_sass/vendor/susy/susy/language/susy/_isolate.scss new file mode 100644 index 0000000000..7ddfd7f573 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_isolate.scss @@ -0,0 +1,77 @@ +// Isolation Syntax +// ================ + + +// Isolate [Mixin] +// --------------- +// Set isolation as an override. +// - $location: +@mixin isolate( + $isolate: 1 +) { + $inspect: $isolate; + + $output: ( + push: isolate($isolate), + flow: susy-get(flow, $isolate), + ); + + @include susy-inspect(isolate, $inspect); + @include isolate-output($output...); +} + + +// Isolate [function] +// ------------------ +// Return an isolation offset width. +// - $location: +@function isolate( + $isolate: 1 +) { + $isolate: parse-span($isolate); + $isolation: susy-get(span, $isolate); + + @if $isolation and not(get-location($isolate)) { + $new: ( + span: null, + location: $isolation, + ); + $isolate: map-merge($isolate, $new); + } + + @return get-isolation($isolate); +} + + +// Get Isolation +// ------------- +// Return the isolation offset width +// - $input: +@function get-isolation( + $input +) { + $location : get-location($input); + $columns : susy-get(columns, $input); + $width : null; + + @if type-of($location) == number and not(unitless($location)) { + $width: $location; + } @else if $location { + $push: $location - 1; + @if $push > 0 { + $push: map-merge($input, ( + span: $push, + location: 1, + spread: wide, + )); + $width: get-span-width($push); + } + } + + @if susy-get(gutter-position, $input) == split + and susy-get(gutters, $input) > 0 { + $width: if($width == null, gutters($input), $width + gutters($input)); + } + + @return $width or 0; +} diff --git a/_sass/vendor/susy/susy/language/susy/_margins.scss b/_sass/vendor/susy/susy/language/susy/_margins.scss new file mode 100644 index 0000000000..cb368399a8 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_margins.scss @@ -0,0 +1,94 @@ +// Margin Syntax +// ============= + +// Pre +// --- +// Add spanning-margins before an element. +// - $span : +@mixin pre( + $span +) { + $inspect: $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $split : if(susy-get(gutter-position, $span) == split, true, false); + $gutter : gutter($span); + $span : span($span); + $width : if($split and $gutter, $span + $gutter, $span); + + @include susy-inspect(pre, $inspect); + @include margin-output($width, null, $flow); +} + +// Post +// ---- +// Add spanning-margins after an element. +// - $span : +@mixin post( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $split : if(susy-get(gutter-position, $span) == split, true, false); + $width : if($split, span($span) + gutter($span), span($span)); + + @include susy-inspect(post, $inspect); + @include margin-output(null, $width, $flow); +} + +// Push +// ---- +// Simple synonymn for pre. +// - $span : +@mixin push( + $span +) { + @include pre($span); +} + +// Pull +// ---- +// Add negative spanning-margins before an element. +// - $span : +@mixin pull( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $split : if(susy-get(gutter-position, $span) == split, true, false); + $width : if($split, 0 - span($span) + gutter($span), 0 - span($span)); + + @include susy-inspect(pull, $inspect); + @include margin-output($width, null, $flow); +} + +// Squish +// ------ +// Add spanning-margins before and after an element. +// - $pre : +// - [$post] : +@mixin squish( + $pre, + $post: false +) { + $inspect : ($pre, $post); + $pre : map-merge((spread: wide), parse-span($pre)); + + @if $post { + $post: map-merge((spread: wide), parse-span($post)); + } @else { + $span: susy-get(span, $pre); + @if length($span) > 1 { + $pre: map-merge($pre, (span: nth($span, 1))); + $post: map-merge($pre, (span: nth($span, 2))); + } @else { + $post: $pre; + } + } + + @include susy-inspect(squish, $inspect); + @include pre($pre); + @include post($post); +} diff --git a/_sass/vendor/susy/susy/language/susy/_padding.scss b/_sass/vendor/susy/susy/language/susy/_padding.scss new file mode 100644 index 0000000000..cdf75c8b03 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_padding.scss @@ -0,0 +1,74 @@ +// Padding Syntax +// ============== + +// Prefix +// ------ +// Add spanning-padding before an element. +// - $span : +@mixin prefix( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $width : span($span); + + @if is-inside($span) { + $gutter: gutter($span); + $width: if($gutter and comparable($width, $gutter), $width + $gutter, $width); + } + + @include susy-inspect(prefix, $inspect); + @include padding-output($width, null, $flow); +} + +// Suffix +// ------ +// Add spanning-padding after an element. +// - $span : +@mixin suffix( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $width : span($span); + + @if is-inside($span) { + $gutter: gutter($span); + $width: if($gutter and comparable($width, $gutter), $width + $gutter, $width); + } + + @include susy-inspect(suffix, $inspect); + @include padding-output(null, $width, $flow); +} + +// Pad +// --- +// Add spanning-padding before and after an element. +// - $pre : +// - [$post] : +@mixin pad( + $pre, + $post: false +) { + $inspect : ($pre, $post); + $pre : map-merge((spread: wide), parse-span($pre)); + + @if $post { + $post: map-merge((spread: wide), parse-span($post)); + } @else { + $span: susy-get(span, $pre); + @if length($span) > 1 { + $pre: map-merge($pre, (span: nth($span, 1))); + $post: map-merge($pre, (span: nth($span, 2))); + } @else { + $post: $pre; + } + } + + @include susy-inspect(pad, $inspect); + @include prefix($pre); + @include suffix($post); + +} diff --git a/_sass/vendor/susy/susy/language/susy/_rows.scss b/_sass/vendor/susy/susy/language/susy/_rows.scss new file mode 100644 index 0000000000..d7264313aa --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_rows.scss @@ -0,0 +1,138 @@ +// Row Start & End +// =============== + +// Break +// ----- +// Apply to any element that should force a line break. +@mixin break { + @include output((clear: both)); +} + + +// NoBreak +// ------- +// Cancel the break() effect, e.g. when using media queries. +@mixin nobreak { + @include output((clear: none)); +} + + +// Full +// ---- +// - [$context]: +@mixin full( + $context: $susy +) { + $inspect : $context; + @include susy-inspect(full, $inspect); + @include span(full of parse-grid($context) break); +} + + +// First +// ----- +// - [$context]: +@mixin first( + $context: $susy +) { + $inspect : $context; + $context : parse-grid($context); + $flow : susy-get(flow, $context); + + @include susy-inspect(first, $inspect); + @if not(is-split($context)) { + @include float-first($flow); + } +} + +@mixin alpha( + $context: $susy +) { + @include first($context); +} + + +// Last +// ---- +// - [$context]: +@mixin last( + $context: $susy +) { + $inspect : $context; + $context : parse-grid($context); + + @include susy-inspect(last, $inspect); + + $output: ( + flow: susy-get(flow, $context), + last-flow: susy-get(last-flow, $context), + margin: if(is-split($context), null, 0), + ); + + @include float-last($output...); +} + +@mixin omega( + $context: $susy +) { + @include last($context); +} + + +// Get Edge +// -------- +// Calculate edge value based on location, if possible +@function get-edge( + $span +) { + $span : parse-span($span); + $edge : susy-get(edge, $span); + + @if not($edge) { + $count: susy-count(susy-get(columns, $span)); + $location: susy-get(location, $span); + $n: susy-get(span, $span); + + $number: if(type-of($location) == number, true, false); + $index: if($number and unitless($location), true, false); + + @if $n == $count { + $edge: full; + } @else if $location and $n and $index { + @if $location == 1 { + $edge: if($n == $count, full, first); + } @else if $location + $n - 1 == $count { + $edge: last; + } + } + } + + @if $edge == alpha or $edge == omega { + $edge: if($edge == alpha, first, last); + } + + @return $edge; +} + + +// Get Location +// ------------ +// Calculate location value based on edge, if possible +@function get-location( + $span +) { + $span : parse-span($span); + $location : susy-get(location, $span); + $edge : get-edge($span); + $n : susy-get(span, $span); + + @if $edge and not($location) and type-of($n) == number and unitless($n) { + @if $edge == first { + $location: 1; + } @else if $edge == last { + $location: susy-count(susy-get(columns, $span)) - $n + 1; + } + } + + @return $location +} diff --git a/_sass/vendor/susy/susy/language/susy/_settings.scss b/_sass/vendor/susy/susy/language/susy/_settings.scss new file mode 100644 index 0000000000..9b5d897d56 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_settings.scss @@ -0,0 +1,216 @@ +// Susy Settings +// ============= + +// Susy Language Defaults +// ---------------------- +// - PRIVATE +@include susy-defaults(( + container: auto, + math: fluid, + output: float, + container-position: center, + gutter-position: after, + global-box-sizing: content-box, + debug: ( + image: hide, + color: rgba(#66f, .25), + output: background, + toggle: top right, + ), +)); + + +// Valid Keyword Values +// -------------------- +// - PRIVATE: DONT'T TOUCH +$susy-keywords: ( + container: auto, + math: static fluid, + output: isolate float, + container-position: left center right, + flow: ltr rtl, + gutter-position: before after split inside inside-static, + box-sizing: border-box content-box, + span: full, + edge: first alpha last omega full, + spread: narrow wide wider, + gutter-override: no-gutters no-gutter, + role: nest, + clear: break nobreak, + debug image: show hide show-columns show-baseline, + debug output: background overlay, +); + + +// Parse Susy Keywords and Maps +// ---------------------------- +@function parse-settings( + $short: $susy +) { + $_return: (); + + @if type-of($short) == map { + $_return: $short; + } @else { + @each $item in $short { + // strings + @if type-of($item) == string { + @each $key, $value in $susy-keywords { + @if index($value, $item) { + $_key-value: append($key, $item); + $_return: _susy-deep-set($_return, $_key-value...); + } + } + // maps + } @else if type-of($item) == map { + $_return: map-merge($_return, $item); + } + } + } + + @return $_return; +} + + +// Parse Columns & Gutters +// ----------------------- +@function parse-layout( + $short +) { + $_return: (); + $_columns: (); + $_gutters: null; + + @if not(unitless(nth(nth($short, 1), 1))) { + $_gutters: nth($short, 1); + } @else { + $_columns: (columns: nth($short, 1)); + $_gutters: if(length($short) > 1, nth($short, 2), $_gutters); + } + + @if type-of($_gutters) == list and length($_gutters) > 0 { + $_gutters: ( + gutters: nth($_gutters, 2) / nth($_gutters, 1), + column-width: nth($_gutters, 1), + ); + } @else { + $_gutters: if($_gutters, (gutters: $_gutters), ()); + } + + $_return: map-merge($_return, $_columns); + $_return: map-merge($_return, $_gutters); + + @return $_return; +} + + +// Parse Grid/Context +// ------------------ +@function parse-grid( + $short: $susy +) { + $_return: parse-settings($short); + $_layout: (); + + @if type-of($short) == map { + $_return: $short; + } @else { + @each $item in $short { + // number or list + @if type-of($item) == number or type-of($item) == list { + @if type-of($item) == list or unitless($item) { + $_layout: append($_layout, $item); + } @else { + $_return: map-merge($_return, (container: $item)); + } + } + } + + $_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout); + } + + @return map-merge($_return, $_layout); +} + + +// Parse Span +// ---------- +@function parse-span( + $short, + $key: span +) { + $_return: (); + + @if type-of($short) == map { + $_return: $short; + } @else { + $_at: index($short, at); + + @if $_at { + $_loci: $_at + 1; + $_location: nth($short, $_loci); + $_return: map-merge($_return, (location: $_location)); + $short: set-nth($short, $_at, null); + $short: set-nth($short, $_loci, null); + } + + $_i: 1; + $_span: (); + + @while $_i <= length($short) { + $_this: nth($short, $_i); + + @if type-of($_this) == number { + $_span: append($_span, $_this); + $short: set-nth($short, $_i, null); + } @else if $_this == of { + $short: set-nth($short, $_i, null); + $_i: length($short) + 1; + } + + $_i: $_i + 1; + } + + @if length($_span) > 0 { + $_span: if(length($_span) == 1, nth($_span, 1), $_span); + $_return: map-merge($_return, ($key: $_span)); + } + + $_return: map-merge($_return, parse-grid($short)); + } + + @return $_return; +} + + +// Parse Gutters +// ------------- +@function parse-gutters( + $short: $susy +) { + $_gutters: parse-span($short, gutter-override); + $_span: susy-get(gutter-override, $_gutters); + + @if $_span and not(map-get($_gutters, columns)) { + $_context: (); + $_new: (); + + @each $item in $_span { + @if type-of($item) == number and unitless($item) { + $_context: append($_context, $item); + } @else { + $_new: append($_new, $item); + } + } + + $_context: parse-grid($_context); + $_new: if(length($_new) == 0, null, $_new); + $_new: if(length($_new) == 1, nth($_new, 1), $_new); + $_new: (gutter-override: if($_new != $_span, $_new, $_span)); + + $_gutters: map-merge($_gutters, $_new); + $_gutters: map-merge($_gutters, $_context); + } + + @return $_gutters; +} diff --git a/_sass/vendor/susy/susy/language/susy/_span.scss b/_sass/vendor/susy/susy/language/susy/_span.scss new file mode 100644 index 0000000000..86ccda9181 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_span.scss @@ -0,0 +1,163 @@ +// Span Syntax +// =========== + +// Span [mixin] +// ------------ +// Set a spanning element using shorthand syntax. +// - $span : +@mixin span( + $span +) { + $inspect: $span; + $span: parse-span($span); + $output: span-math($span); + $nesting: susy-get(span, $span); + $clear: susy-get(clear, $span); + + $box: susy-get(box-sizing, $span); + $content-box: if(susy-get(global-box-sizing) != 'border-box', true, false); + $box: $box or if(is-inside($span) and $content-box, border-box, null); + + @if $clear == break { + @include break; + } @else if $clear == nobreak { + @include nobreak; + } + + @include susy-inspect(span, $inspect); + @include output((box-sizing: $box)); + @include float-span-output($output...); + + @if valid-columns($nesting, silent) { + @include nested($span) { @content; } + } @else { + @content; + } +} + +// Span [function] +// --------------- +// Return the width of a span. +// - $span : +@function span( + $span +) { + @return get-span-width($span); +} + +// Span Math +// --------- +// Get all the span results. +// - $span: +@function span-math( + $span +) { + $nest : if(susy-get(role, $span) == nest, true, false); + $split-nest : if(is-split($span) and $nest, true, false); + $edge : get-edge($span); + $location : get-location($span); + + $float : from; + $padding-before : null; + $padding-after : null; + $margin-before : null; + $margin-after : null; + + // calculate widths + $spread: index(map-values($span), spread); + $span: if($split-nest and not($spread), map-merge($span, (spread: wide)), $span); + $width: get-span-width($span); + $gutters: get-gutters($span); + + // apply gutters + @if is-inside($span) { + @if not(susy-get(role, $span)) { + $padding-before: map-get($gutters, before); + $padding-after: map-get($gutters, after); + } + } @else { + @if not($split-nest) { + $margin-before: map-get($gutters, before); + $margin-after: map-get($gutters, after); + } + } + + // special margin handling + @if susy-get(output, $span) == isolate and $location { + $margin-before: get-isolation($span); + $margin-after: -100%; + } @else if $edge { + $is-split: is-split($span); + $pos: susy-get(gutter-position, $span); + + @if $edge == last { + $float: susy-get(last-flow, $span); + } + + @if not($is-split) { + @if $edge == full or ($edge == first and $pos == before) { + $margin-before: 0; + } + @if $edge == full or ($edge == last and $pos == after) { + $margin-after: 0; + } + } + + } + + @return ( + width : $width, + float : $float, + margin-before : $margin-before, + margin-after : $margin-after, + padding-before : $padding-before, + padding-after : $padding-after, + flow : susy-get(flow, $span), + ); +} + +// Get Span Width +// -------------- +// Return span width. +// - $span: +@function get-span-width( + $span +) { + $span : parse-span($span); + + $n : susy-get(span, $span); + $location : get-location($span); + $columns : susy-get(columns, $span); + $gutters : susy-get(gutters, $span); + $spread : susy-get(spread, $span); + + $context : null; + $span-sum : null; + $width : null; + + @if $n == 'full' { + $pos: susy-get(gutter-position, $span); + $role: susy-get(role, $span); + $n: if($pos == split and $role != nest, susy-count($columns), 100%); + } + + @if type-of($n) != number { + @warn "(#{type-of($n)}) #{$n} is not a valid span."; + } @else if unitless($n) { + $context: susy-sum($columns, $gutters, if(is-split($span), wide, narrow)); + $spread: if(is-inside($span), $spread or wide, $spread); + $span-sum: susy($n, $location, $columns, $gutters, $spread); + + $_math: susy-get(math, $span); + $_column-width: susy-get(column-width, $span); + @if $_math == static { + $width: $span-sum * valid-column-math($_math, $_column-width); + } @else { + $width: percentage($span-sum / $context); + } + } @else { + $width: $n; + } + + @return $width; +} diff --git a/_sass/vendor/susy/susy/language/susy/_validation.scss b/_sass/vendor/susy/susy/language/susy/_validation.scss new file mode 100644 index 0000000000..a235b176af --- /dev/null +++ b/_sass/vendor/susy/susy/language/susy/_validation.scss @@ -0,0 +1,16 @@ +// Validation +// ========== + + +// Validate Column Math +// -------------------- +@function valid-column-math( + $math, + $column-width +) { + @if $math == static and not($column-width) { + @error 'Static math requires a valid column-width setting.'; + } + + @return $column-width; +} diff --git a/_sass/vendor/susy/susy/language/susyone/_background.scss b/_sass/vendor/susy/susy/language/susyone/_background.scss new file mode 100644 index 0000000000..38c6726b89 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_background.scss @@ -0,0 +1,18 @@ +// --------------------------------------------------------------------------- +// Imports + +@import "compass/layout/grid-background"; +@import "compass/css3/background-origin"; +@import "compass/css3/background-clip"; + +// --------------------------------------------------------------------------- +// Susy Grid Background +// +// A wrapper for the compass "column-grid-background" mixin +// Uses all your settings to create a grid background for a container element. +// Note: Sub-pixel rounding can lead to several pixels of variation between browsers. +@mixin susy-grid-background(){ + @include column-grid-background($total-columns, column(), gutter(), 0); + @include background-origin(content-box); + @include background-clip(content-box); +} diff --git a/_sass/vendor/susy/susy/language/susyone/_functions.scss b/_sass/vendor/susy/susy/language/susyone/_functions.scss new file mode 100644 index 0000000000..681845890b --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_functions.scss @@ -0,0 +1,377 @@ +// --------------------------------------------------------------------------- +// Imports + +// We need access to some basic font settings for handling media-queries. +@import "compass/typography/vertical_rhythm"; + +// For now, we also need this... +$browser-default-font-size-px : 16px; +$browser-default-font-size-percent : 100%; +$browser-default-font-size-pt : 12pt; + +$rem-with-px-fallback : true !default; + +// --------------------------------------------------------------------------- +// Sass list Functions + +// Return a list with specific items removed +// +// filter($list, $target) +// - $list : The list to filter. +// - $target : An item to be removed from the list. +@function filter($list, $target) { + $clean: compact(); + @if index($list, $target) { + @each $item in $list { + $clean: if($item == $target, $clean, append($clean, $item)); + } + } @else { $clean: $list; } + @return $clean; +} + +// --------------------------------------------------------------------------- +// Don't use static output when it will break things + +// Switch element-level output to fluid, when container-width is wrong for static +// +// fix-static-misalignment([$style, $width]) +// - $style: $container-style. +// - $width: $container-width. +@function fix-static-misalignment( + $style: $container-style, + $width: $container-width +) { + @if $container-width and $container-width != container-outer-width($width: false) { + $style: fluid; + } + @return $style; +} + +// --------------------------------------------------------------------------- +// Grid Functions + +// Returns the full width of a grid based on your grid settings. +// +// $columns : The number of columns to get width for. +@function columns-width( + $columns : $total-columns +) { + @if round($columns) != $columns { + @warn "Susy works best with integer column-spans." + + "For partial-columns, you may need to finesse the math by hand using functions directly."; + } + @return ($columns * $column-width) + (if($columns >= 1, ceil($columns - 1), 0) * $gutter-width); +} + +// Return the grid width after adding or subtracting grid padding +// +// $width : the width of the grid without padding; +// $operation : ( add | subtract ) if padding should be added or subtracted; +@function handle-grid-padding( + $width, + $operation : subtract +) { + $pad: $grid-padding*2; + + @if comparable($width, $grid-padding) { + $width: if($operation == subtract, $width - $pad, $width + $pad); + } @else { + @warn "$grid-padding must be set in units comparable to the container width."; + } + + @return $width; +} + +// Return the full outer width of a Container element. +// +// $columns : The number of columns in the Grid Layout. +@function container-outer-width( + $columns : $total-columns, + $width : $container-width +) { + $outerwidth: if($width, $width, columns-width($columns)); + + @if $width { + @if not($border-box-sizing) { $outerwidth: handle-grid-padding($outerwidth, subtract); } + } @else { + @if $border-box-sizing { $outerwidth: handle-grid-padding($outerwidth, add); } + } + + @return $outerwidth; +} + +// Return the percentage width of a single column in a given 'context'. +// +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function column( + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return if($style == static, $column-width, relative-width($column-width, $context)); +} + +// Return the percentage width of multiple 'columns' in a given 'context'. +// +// $columns : The number of columns to get relative width for. +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function columns( + $columns, + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return if($style == static, columns-width($columns), relative-width(columns-width($columns), $context)); +} + +// Return the percentage width of a single gutter in a given 'context'. +// +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function gutter( + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return if($style == static, $gutter-width, relative-width($gutter-width, $context)); +} + +// Return the percentage width of a given value in a given 'context'. +// +// $width : Any given width value. +// $context : The grid context in columns, if nested. +@function relative-width( + $width, + $context : $total-columns +) { + @return percentage($width / columns-width($context)); +} + +// Return the total space occupied by multiple columns and associated gutters. +// Useful for adding padding or margins (prefix, suffix, push, pull, etc.) +// +// $columns : The number of columns to get relative space for. +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function space( + $columns, + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return columns($columns, $context, $style) + if($columns >= 1, gutter($context, $style), 0); +} + +// Accept a list including column-count and (optional) position. +// Return either the column count or the position alone. +// +// $columns : the list to split and interprate. +// $request : The value to return, either 'columns' or 'position'. +@function split-columns-value( + $columns, + $request : columns +) { + $pos : false; + $cols : false; + + @each $var in $columns { + @if (type-of($var) == 'string') { + $pos: $var; + } @else { + @if (type-of($var) == 'number') and (unitless($var)) { + $cols: $var; + } @else { + @warn '"#{$var}" is not a valid part of "$columns: #{$columns}" in the columns() mixin.'; + } + } + } + + @if $request == 'columns' { + @return $cols; + } @else { + @if $request == 'position' { + @return $pos; + } @else { + @warn '"#{$request}" is not a valid value for $request'; + } + } +} + +// Accept nth-selector variables, and format them as a valid CSS3 selector. +// +// $n : [first | only | last | ] +// $selector : [child | last-child | of-type | last-of-type ] +@function format-nth( + $n : last, + $selector : child +) { + @if ($n == 'last') or ($n =='first') or ($n =='only') { + $selector: '#{$n}-#{$selector}'; + } @else { + $selector: 'nth-#{$selector}(#{$n})'; + } + @return $selector; +} + +// --------------------------------------------------------------------------- +// Media Functions + +// Return an em value adjusted to match the browser default font size. +// Note: This only works if actual sizes are set relative to browser defaults. +// +// $ems : The initial value to be converted. +// $font-size : The current font-size in. +@function base-ems( + $ems, + $font-size: $base-font-size +){ + $font-size : if(unit($ems) == 'rem', $base-font-size, $font-size); + $unit : unit($font-size); + $mult : $ems / ($ems * 0 + 1); + + @if $unit == 'px' { + @return $font-size / $browser-default-font-size-px * $mult * 1em; + } + @else if $unit == '%' { + @return $font-size / $browser-default-font-size-percent * $mult * 1em; + } + @else if $unit == 'em' { + @return $font-size / 1em * $mult * 1em; + } + @else if $unit == 'pt' { + @return $font-size / $browser-default-font-size-pt * $mult * 1em; + } + @else { + @warn 'Variable $base-font-size does not have a valid font unit. Valid units for fonts in CSS are px, pt, em, and %.'; + } +} + +// This name will be deprecated... +@function absolute-ems( + $ems, + $font-size: $base-font-size +){ + @return base-ems( $ems, $font-size); + } + +// Return a length, after any em-values have been sent through absolute-ems(). +// +// $length : The length value to be checked and adjusted if necessary. +// $font-size : The current font-size in px. +@function fix-ems( + $length, + $font-size: $base-font-size +){ + @if $length { + @if (unit($length) == 'em') or (unit($length) == 'rem') { + $length: absolute-ems($length,$font-size); + } + } + @return $length; +} + +// Sort a list of arguments into "$min $layout $max $ie" order, and return the list. +// +// $media-layout : a list of values [$min $layout $max $ie] including... +// : - one unitless number (columns in a layout) +// : - two optional lengths (min and max-width media-query breakpoints). +// : - one optional boolean or string to trigger fallback support for IE. +// $font-size : [optional] The base font-size of your layout, if you are using ems. +// : - defaults to $base-font-size +@function medialayout( + $media-layout, + $font-size: $base-font-size +) { + $media : false; + $min : false; + $layout : false; + $max : false; + $ie : false; + $has-layout : false; + + @each $val in $media-layout { + @if (type-of($val) == "number") { + @if unitless($val) { + $layout : $val; + $has-layout : true; + } @else { + @if ($has-layout) and not($media) { + $max: $val; + } @else { + @if $media { + $media: join($media,$val); + } @else { + $media: $val; + } + } + } + } @else { + $ie: $val; + } + } + @if (length($media) > 0) { + @if (length($media) == 1) { + $min: nth($media,1); + } @else { + $min: nth($media,1); + $max: nth($media,2); + @if comparable($min, $max) { + @if ($min > $max) { + $max: nth($media,1); + $min: nth($media,2); + } + } @else { + @warn "Can't compare incompatible units." + + "Using #{$min} for min-width, and #{$max} for max-width"; + } + @if (length($media) > 2) { + @warn "You can only send two lengths: a min-width and an (optional) max-width." + + "You sent #{length($media)}: #{$media}"; + } + } + } + + // media-queries must be set in ems relative to the browser default + // rather than the font-size set in CSS. + $min: fix-ems($min,$font-size); + $max: fix-ems($max,$font-size); + + @return $min $layout $max $ie; +} + +// Return the nearest layout (column-count) above a given breakpoint. +// +// $min : The min-width media-query breakpoint above which to establish a new layout. +@function get-layout( + $min +) { + $min : fix-ems($min); + $return : false; + + @if comparable($min, $column-width) { + $return : ceil(($min + $gutter-width) / ($column-width + $gutter-width)); + } @else { + @warn "Can't determine a layout, becuse #{$min} and #{$column-width} are not comparable."; + } + + @return $return; +} + +// Check to see if a given $media-layout list is simply the default. +// +// $media-layout : a list of values including - +// : One unitless number (columns in a layout) +// : Two optional lengths (min and max-width media-query breakpoints). +// : One optional boolean or string to trigger fallback support for IE. +@function is-default-layout( + $media-layout +) { + $media-layout : medialayout($media-layout); + $min : nth($media-layout,1); + $layout-cols : nth($media-layout,2); + $max : nth($media-layout,3); + + @if $min or $max { + @return false; + } @else { + @return if($layout-cols == $total-columns,true,false); + } +} diff --git a/_sass/vendor/susy/susy/language/susyone/_grid.scss b/_sass/vendor/susy/susy/language/susyone/_grid.scss new file mode 100644 index 0000000000..491c6229ef --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_grid.scss @@ -0,0 +1,312 @@ +// --------------------------------------------------------------------------- +// Imports + +@import "compass/utilities/general/clearfix"; +@import "compass/css3/box-sizing"; + +// --------------------------------------------------------------------------- +// Border-Box Sizing + +// Apply the border-box sizing model to all elements +// and adjust the grid math appropriately. +@mixin border-box-sizing { + $border-box-sizing: true !global; + * { @include box-sizing(border-box); } +} + +// --------------------------------------------------------------------------- +// Container + +// Set the width of a container +// +// $columns : The number of columns in the Grid Layout. +@mixin set-container-width( + $columns : $total-columns, + $style : $container-style, + $px-vals : $pixel-values-only +){ + $width: container-outer-width($columns); + + @if $style == 'static' { + @if $px-vals == true { + width: round(convert-length($width, px)); + } @else { + @include rem(width, $width); + } + } @else { + @if $style == 'fluid' { + @if unit($width) == '%' { + @if $px-vals == true { + width: round(convert-length($width, px)); + } @else { + @include rem(width, $width); + } + } + } @else { + @if $px-vals == true { + max-width: round(convert-length($width, px)); + } @else { + @include rem(max-width, $width); + } + + @include for-legacy-browser(ie,"6") { + @if unit($width) == 'rem' { + _width: round(convert-length($width, px)); + } @else { + _width: $width; + } + } + } + } +} + +// Set the outer grid-containing element(s). +// +// $columns : The number of columns in the container. +@mixin apply-container( + $columns : $total-columns, + $px-vals : $pixel-values-only +){ + @include pie-clearfix; + @include set-container-width($columns); + @if $px-vals == true { + padding-left: round(convert-length($grid-padding, px)); + padding-right: round(convert-length($grid-padding, px)); + } @else { + @include rem(padding-left, $grid-padding); + @include rem(padding-right, $grid-padding); + } + margin: { left: auto; right: auto; } +} + +// Set one or more layouts on a grid-containing element at any number of media-query breakpoints. +// +// $media-layout-1 : [default:$total-columns] A list of values including - +// : One unitless number (representing columns in a layout) +// : Two optional lengths (representing min and max-width media-query breakpoints). +// $media-layout-2 ...-10 : [optional] Same as $media-layout-1 +@mixin container( + $media-layouts... +){ + $media-layouts: if(length($media-layouts) > 0, $media-layouts, $total-columns); + + @each $ml in $media-layouts { + @if is-default-layout($ml) { + @include apply-container; + } @else { + @include at-breakpoint($ml) { + @include apply-container; + } + } + } +} + +// --------------------------------------------------------------------------- +// Columns + +// Create a grid element spanning any number of 'columns' in a grid 'context'. +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $padding : [optional] Padding applied to the inside of individual grid columns. +// : Padding is only output if one or two values are specified (e.g. 1em or 10px 20px) +// : Padding values are applied only on the horizontal axis in from-to order +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin span-columns( + $columns, + $context : $total-columns, + $padding : false, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + $pos : split-columns-value($columns,position); + $cols : split-columns-value($columns,columns); + $pad-from : if($style == static, 0 * $gutter-width, relative-width(0 * $gutter-width, $context)); + $pad-to : if($style == static, 0 * $gutter-width, relative-width(0 * $gutter-width, $context)); + + @if $padding != false { + $pad-from : nth($padding, 1); + + @if length($padding) > 1 { + $pad-to: nth($padding, 2); + } @else { + $pad-to: $pad-from; + } + + $pad-from : if($style == static, $pad-from, relative-width($pad-from, $context)); + $pad-to : if($style == static, $pad-to, relative-width($pad-to, $context)); + + padding-#{$from}: $pad-from; + padding-#{$to}: $pad-to; + } + + width: columns($cols, $context, $style) - if($border-box-sizing, 0, $pad-to + $pad-from); + + @if ($pos == 'omega') { + @include omega($from); + } @else { + float: $from; + margin-#{$to}: gutter($context, $style); + @include for-legacy-browser(ie, "6") { + display: inline; + } + } +} + +// Apply to elements spanning the last column, to account for the page edge. +// Only needed as an override. Normally 'omega' can just be called by `columns`. +// +// $from : The start-direction for your document. +@mixin omega( + $from : $from-direction +) { + $from : unquote($from); + $to : opposite-position($from); + $hack : opposite-position($omega-float); + + float: $omega-float; + margin-#{$to}: 0; + + @include for-legacy-browser(ie, "6", "7") { + *margin-#{$hack}: - $gutter-width; + @include for-legacy-browser(ie, "6") { + display: inline; + } + } +} + +// Shortcut to apply omega to a specific subset of elements. +// +// $n : [first | only | last | ] +// $selector : [child | last-child | of-type | last-of-type ] +// $from : The start-direction for your document. +@mixin nth-omega( + $n : last, + $selector : child, + $from : $from-direction +) { + $from : unquote($from); + + &:#{format-nth($n,$selector)} { + @if $n == "first" { + @include omega($from); + } @else { + @include with-browser-ranges(css-sel3) { + @include omega($from); + } + } + } +} + + + +// --------------------------------------------------------------------------- +// Resets + +// Reset a '+columns' grid element to default block behavior +// +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +@mixin reset-columns( + $from: $from-direction +) { + $from : unquote($from); + $to : opposite-position($from); + $hack : opposite-position($omega-float); + + float: none; + width: auto; + margin-#{$to}: auto; + + @include for-legacy-browser(ie, "6", "7") { + *margin-#{$hack}: auto; + @include for-legacy-browser(ie, "6") { + display: block; + } + } +} + +// Apply to elements previously set as omega. +// This will return floats and margins back to non-omega settigns. +// +// $context : [optional] The context (columns spanned by parent). +// $from : The start-direction for your document. +// $style : The container style to use. +@mixin remove-omega( + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + $hack : opposite-position($omega-float); + + float: $from; + margin-#{$to}: gutter($context, $style); + + @include for-legacy-browser(ie, "6", "7") { + *margin-#{$hack}: auto; + } +} + +// Shortcut to apply remove-omega to a specific subset of elements. +// +// $n : [first | only | last | ] +// $selector : [child | last-child | of-type | last-of-type ] +// $context : [optional] The context (columns spanned by parent). +// $from : The start-direction for your document. +// $style : The container style to use. +@mixin remove-nth-omega( + $n : last, + $selector : child, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + + &:#{format-nth($n,$selector)} { + @if $n == "first" { + @include remove-omega($context, $from, $style); + } @else { + @include with-browser-ranges(css-sel3) { + @include remove-omega($context, $from, $style); + } + } + } +} + + +// --------------------------------------------------------------------------- +// Change Settings + +@mixin with-grid-settings( + $columns: $total-columns, + $width: $column-width, + $gutter: $gutter-width, + $padding: $grid-padding +) { + // keep the defaults around + $default-columns: $total-columns; + $default-width: $column-width; + $default-gutter: $gutter-width; + $default-padding: $grid-padding; + + // use the new settings + $total-columns: $columns !global; + $column-width: $width !global; + $gutter-width: $gutter !global; + $grid-padding: $padding !global; + + // apply to contents + @content; + + // re-instate the defaults + $total-columns: $default-columns !global; + $column-width: $default-width !global; + $gutter-width: $default-gutter !global; + $grid-padding: $default-padding !global; +} diff --git a/_sass/vendor/susy/susy/language/susyone/_isolation.scss b/_sass/vendor/susy/susy/language/susyone/_isolation.scss new file mode 100644 index 0000000000..2b70038bb9 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_isolation.scss @@ -0,0 +1,51 @@ +// --------------------------------------------------------------------------- +// Isolation + +// Isolate the position of a grid element (use in addition to span-columns) +// +// $location : The grid column to isolate in, relative to the container; +// $context : [optional] The context (columns spanned by parent). +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +@mixin isolate( + $location, + $context: $total-columns, + $from: $from-direction, + $style: fix-static-misalignment() +) { + $to: opposite-position($from); + margin-#{$to}: -100%; + margin-#{$from}: space($location - 1, $context, $style); +} + +// Isolate a group of elements in a grid, using nth-child selectors +// +// $columns : The column-width of each item on the grid; +// $context : [optional] The context (columns spanned by parent). +// $selector : [child | of-type | last-of-type ] (default is 'child') +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +@mixin isolate-grid( + $columns, + $context: $total-columns, + $selector: 'child', + $from: $from-direction, + $style: fix-static-misalignment() +) { + $to: opposite-position($from); + $location: 1; + $line: floor($context / $columns); + + @include span-columns($columns, $context, $from: $from, $style: $style); + margin-#{$to}: -100%; + + @for $item from 1 through $line { + $nth: '#{$line}n + #{$item}'; + &:#{format-nth($nth,$selector)} { + margin-#{$from}: space($location - 1, $context, $style); + @if $location == 1 { clear: $from; } + @else { clear: none; } + + $location: $location + $columns; + @if $location > $context { $location: 1; } + } + } +} diff --git a/_sass/vendor/susy/susy/language/susyone/_margin.scss b/_sass/vendor/susy/susy/language/susyone/_margin.scss new file mode 100644 index 0000000000..accbbe65b4 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_margin.scss @@ -0,0 +1,93 @@ +// --------------------------------------------------------------------------- +// Margin Mixins + +// Apply 'columns' margin before an element to push it along the grid. +// +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin pre( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + margin-#{$from}: space($columns, $context, $style); +} + +// 'push' is a synonymn for 'pre' +@mixin push( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + @include pre($columns, $context, $from, $style); +} + +// Apply negative 'columns' margin before an element to pull it along the grid. +// +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin pull( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + margin-#{$from}: 0 - space($columns, $context, $style); +} + +// Apply 'columns' margin after an element to contain it in a grid. +// +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin post( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + margin-#{$to}: space($columns, $context, $style); +} + +// Apply 'columns' before and/or after an element to contain it on a grid. +// +// $pre : The number of columns to add as margin before. +// $post : The number of columns to add as margin after. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin squish( + $pre : false, + $post : false, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + @if $pre { + @include pre($pre, $context, $from, $style) + } + @if $post { + @include post($post, $context, $from, $style) + } +} diff --git a/_sass/vendor/susy/susy/language/susyone/_media.scss b/_sass/vendor/susy/susy/language/susyone/_media.scss new file mode 100644 index 0000000000..ca860fc93d --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_media.scss @@ -0,0 +1,105 @@ +// --------------------------------------------------------------------------- +// Media Mixins + +// Create a new layout context for (@content) descendants. +// +// $layout-cols : a (unitless) number of columns to use for this layout. +@mixin layout( + $layout-cols +) { + // store default $total-columns setting for later, then change it. + $default-layout : $total-columns; + $total-columns : $layout-cols !global; + + // apply children in this new layout context. + @content; + + // return to default $total-columns setting. + $total-columns : $default-layout !global; +} + +// Nest a block of code inside a new media-query and layout context. +// +// $media-layout : a list of values [$min $layout $max $ie] including... +// : - one unitless number (columns in a layout) +// : - two optional lengths (min and max-width media-query breakpoints). +// : - one optional boolean or string to trigger fallback support for IE. +// $font-size : [optional] The base font-size of your layout, if you are using ems. +// : - defaults to $base-font-size +@mixin at-breakpoint( + $media-layout, + $font-size: $base-font-size +) { + $media-layout : medialayout($media-layout,$font-size); + $min : nth($media-layout,1); + $layout : nth($media-layout,2); + $max : nth($media-layout,3); + $ie : nth($media-layout,4); + + @if not($breakpoint-media-output) and not($breakpoint-ie-output) and not($breakpoint-raw-output) { + @warn "Either $breakpoint-media-output, $breakpoint-ie-output, or $breakpoint-raw-output must be true for at-breakpoint to work."; + } + + // We need to have either a min-width breakpoint or a layout in order to proceed. + @if $min or $layout or $max { + + // If we don't have a layout, we create one based on the min-width. + @if not($layout) { + $layout: get-layout($min); + } + + // If we still don't have a layout, we have a problem. + @if $layout { + // Set our new layout context. + @include layout($layout) { + @if $breakpoint-media-output { + @include with-browser-ranges(css-mediaqueries) { + @if $min and $max { + // Both $min and $max + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else { + @if not($min) and not($max) { + // Neither $min nor $max: + // We can create a breakpoint based on the number of columns in the layout. + $min: fix-ems(container-outer-width($width: false)); + } + @if $min { + // Min only: + @media (min-width: $min) { + @content; + } + } @else { + // Max only: + @media (max-width: $max) { + @content; + } + } + } + } + } + // Set an IE fallback + @if $ie and $breakpoint-ie-output { + @if (type-of($ie) == 'bool') { + $ie: 'lt-ie9'; + } + .#{$ie} & { + @content; + } + } + + @if $breakpoint-raw-output { + @content; + } + } + } @else { + @warn "We were unable to determine a layout for your breakpoint."; + } + + } @else { + @warn "You need to provide either a valid layout (number of columns)" + + "or a valid media-query min-width breakpoint (length)."; + } + +} diff --git a/_sass/vendor/susy/susy/language/susyone/_padding.scss b/_sass/vendor/susy/susy/language/susyone/_padding.scss new file mode 100644 index 0000000000..8e6394a49c --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_padding.scss @@ -0,0 +1,92 @@ +// --------------------------------------------------------------------------- +// Padding Mixins + +// add empty colums as padding before an element. +// $columns : The number of columns to prefix. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin prefix( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + padding-#{$from}: space($columns, $context, $style); +} + +// add empty colums as padding after an element. +// $columns : The number of columns to suffix. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin suffix( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + padding-#{$to}: space($columns, $context, $style); +} + +// add empty colums as padding before and after an element. +// $columns : The number of columns to pad. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin pad( + $prefix : false, + $suffix : false, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + @if $prefix { + @include prefix($prefix, $context, $from, $style); + } + @if $suffix { + @include suffix($suffix, $context, $from, $style); + } +} + +// Bleed into colums with margin/padding on any side of an element. +// $width : The side of the bleed. +// : Any unit-length will be used directly. +// : Any unitless number will be used as a column-count. +// : Use "2 of 6" format to represent 2 cals in a 6-col nested context. +// $sides : One or more sides to bleed [ top | right | bottom | left | all ]. +// $style : The container style to use. +@mixin bleed( + $width: $grid-padding, + $sides: left right, + $style: fix-static-misalignment() +) { + @if $border-box-sizing { @include box-sizing(content-box) } + + @if type-of($width) == 'list' { + $width: filter($width, of); + $width: space(nth($width,1), nth($width,2), $style); + } @else if unitless($width) { + $width: space($width, $style: $style); + } + + @if $sides == 'all' { + margin: - $width; + padding: $width; + } @else { + @each $side in $sides { + margin-#{$side}: - $width; + padding-#{$side}: $width; + } + } +} diff --git a/_sass/vendor/susy/susy/language/susyone/_settings.scss b/_sass/vendor/susy/susy/language/susyone/_settings.scss new file mode 100644 index 0000000000..e8ff9c8453 --- /dev/null +++ b/_sass/vendor/susy/susy/language/susyone/_settings.scss @@ -0,0 +1,60 @@ +// --------------------------------------------------------------------------- +// Susy Settings + +// The total number of columns in the grid +$total-columns : 12 !default; + +// The width of columns and gutters. +// These must all be set with the comparable units. +$column-width : 4em !default; +$gutter-width : 1em !default; + +// Padding on the left and right of a Grid Container. +$grid-padding : $gutter-width !default; + +// --------------------------------------------------------------------------- +// Advanced Settings + +// From Direction: +// Controls for right-to-left or bi-directional sites. +$from-direction : left !default; + +// Omega Float Direction: +// The direction that +omega elements are floated by deafult. +$omega-float : opposite-position($from-direction) !default; + +// Container Width: +// Override the total width of your grid, using any length (50em, 75%, etc.) +$container-width : false !default; + +// Container Style: +// 'magic' - Static (fixed or elastic) when there's enough space, +// fluid when there isn't. This is the SUSY MAGIC SAUCE(TM). +// 'static' - Forces the grid container to remain static at all times. +// 'fluid' - Forces the grid to remain fluid at all times. +// (this will overrule any static $container-width settings) +$container-style : magic !default; + +// Border-Box Sizing +// Adjust the grid math appropriately for box-sizing: border-box; +// Warning: This does not actually apply the new box model! +// In most cases you can ignore this setting, +// and simply apply the border-box-sizing mixin. +$border-box-sizing : false !default; + +// Pixel Values only: +// Make sure only pixel values are set for the container width. +$pixel-values-only : false !default; + +// --------------------------------------------------------------------------- +// IE Settings + +// When you are using a seperate IE stylesheet, +// you can use these settings to control the output of at-breakpoint. +// By default, at-breakpoint will output media-queries as well as +// any defined ie-fallback classes. +$breakpoint-media-output : true !default; +$breakpoint-ie-output : true !default; + +// Danger Zone! Only set as 'true' in IE-specific style sheets. +$breakpoint-raw-output : false !default; diff --git a/_sass/vendor/susy/susy/output/_float.scss b/_sass/vendor/susy/susy/output/_float.scss new file mode 100644 index 0000000000..9c24051c92 --- /dev/null +++ b/_sass/vendor/susy/susy/output/_float.scss @@ -0,0 +1,9 @@ +// Float API +// ========= + +@import "shared"; + +@import "float/container"; +@import "float/span"; +@import "float/end"; +@import "float/isolate"; diff --git a/_sass/vendor/susy/susy/output/_shared.scss b/_sass/vendor/susy/susy/output/_shared.scss new file mode 100644 index 0000000000..dd9df4ed87 --- /dev/null +++ b/_sass/vendor/susy/susy/output/_shared.scss @@ -0,0 +1,15 @@ +// Shared API +// ========== + +@import "support"; + +@import "shared/inspect"; +@import "shared/output"; +@import "shared/direction"; +@import "shared/background"; +@import "shared/container"; +@import "shared/margins"; +@import "shared/padding"; + + + diff --git a/_sass/vendor/susy/susy/output/_support.scss b/_sass/vendor/susy/susy/output/_support.scss new file mode 100644 index 0000000000..53dbc9c3f0 --- /dev/null +++ b/_sass/vendor/susy/susy/output/_support.scss @@ -0,0 +1,9 @@ +// Susy Browser Support +// ==================== + +@import "support/support"; +@import "support/prefix"; +@import "support/background"; +@import "support/box-sizing"; +@import "support/rem"; +@import "support/clearfix"; diff --git a/_sass/vendor/susy/susy/output/float/_container.scss b/_sass/vendor/susy/susy/output/float/_container.scss new file mode 100644 index 0000000000..121eb11ae9 --- /dev/null +++ b/_sass/vendor/susy/susy/output/float/_container.scss @@ -0,0 +1,16 @@ +// Float Container API +// =================== + +// Float Container +// --------------- +// - [$width] : +// - [$justify] : left | center | right +// - [$math] : fluid | static +@mixin float-container( + $width, + $justify: auto auto, + $property: max-width +) { + @include susy-clearfix; + @include container-output($width, $justify, $property); +} diff --git a/_sass/vendor/susy/susy/output/float/_end.scss b/_sass/vendor/susy/susy/output/float/_end.scss new file mode 100644 index 0000000000..3369997fd0 --- /dev/null +++ b/_sass/vendor/susy/susy/output/float/_end.scss @@ -0,0 +1,40 @@ +// Float Ends API +// ============== + +// Susy End Defaults +// ----------------- +// - PRIVATE +@include susy-defaults(( + last-flow: to, +)); + +// Float Last +// ---------- +// - [$flow] : ltr | rtl +@mixin float-last( + $flow: map-get($susy-defaults, flow), + $last-flow: map-get($susy-defaults, last-flow), + $margin: 0 +) { + $to: to($flow); + + $output: ( + float: if($last-flow == to, $to, null), + margin-#{$to}: $margin, + ); + + @include output($output); +} + +// Float First +// ----------- +// - [$flow] : ltr | rtl +@mixin float-first( + $flow: map-get($susy-defaults, flow) +) { + $output: ( + margin-#{from($flow)}: 0, + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/float/_isolate.scss b/_sass/vendor/susy/susy/output/float/_isolate.scss new file mode 100644 index 0000000000..4dd3c2309e --- /dev/null +++ b/_sass/vendor/susy/susy/output/float/_isolate.scss @@ -0,0 +1,22 @@ +// Float Isolation API +// =================== + +// Isolate Output +// -------------- +// - $push : +// - [$flow] : ltr | rtl +@mixin isolate-output( + $push, + $flow: map-get($susy-defaults, flow) +) { + $to: to($flow); + $from: from($flow); + + $output: ( + float: $from, + margin-#{$from}: $push, + margin-#{$to}: -100%, + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/float/_span.scss b/_sass/vendor/susy/susy/output/float/_span.scss new file mode 100644 index 0000000000..5b732ccb24 --- /dev/null +++ b/_sass/vendor/susy/susy/output/float/_span.scss @@ -0,0 +1,35 @@ +// Float Span API +// ============== + +// Float Span Output +// ----------------- +// - $width : +// - [$float] : from | to +// - [$margin-before] : +// - [$margin-after] : +// - [$padding-before] : +// - [$padding-after] : +// - [$flow] : ltr | rtl +@mixin float-span-output( + $width, + $float : from, + $margin-before : null, + $margin-after : null, + $padding-before : null, + $padding-after : null, + $flow : map-get($susy-defaults, flow) +) { + $to : to($flow); + $from : from($flow); + + $output: ( + width: $width, + float: if($float == to, $to, null) or if($float == from, $from, null), + margin-#{$from}: $margin-before, + margin-#{$to}: $margin-after, + padding-#{$from}: $padding-before, + padding-#{$to}: $padding-after, + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/shared/_background.scss b/_sass/vendor/susy/susy/output/shared/_background.scss new file mode 100644 index 0000000000..c230f61369 --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_background.scss @@ -0,0 +1,26 @@ +// Grid Background API +// =================== +// - Sub-pixel rounding can lead to several pixels variation between browsers. + +// Grid Background Output +// ---------------------- +// - $image: background-image +// - $size: background-size +// - $clip: background-clip +// - [$flow]: ltr | rtl +@mixin background-grid-output ( + $image, + $size: null, + $clip: null, + $flow: map-get($susy-defaults, flow) +) { + $output: ( + background-image: $image, + background-size: $size, + background-origin: $clip, + background-clip: $clip, + background-position: from($flow) top, + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/shared/_container.scss b/_sass/vendor/susy/susy/output/shared/_container.scss new file mode 100644 index 0000000000..7c7d4f17e9 --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_container.scss @@ -0,0 +1,21 @@ +// Shared Container API +// ==================== + +// Container Output +// ---------------- +// - [$width] : +// - [$justify] : left | center | right +// - [$math] : fluid | static +@mixin container-output( + $width, + $justify: auto auto, + $property: max-width +) { + $output: ( + #{$property}: $width or 100%, + margin-left: nth($justify, 1), + margin-right: nth($justify, 2), + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/shared/_direction.scss b/_sass/vendor/susy/susy/output/shared/_direction.scss new file mode 100644 index 0000000000..abb9c36fc4 --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_direction.scss @@ -0,0 +1,42 @@ +// Direction Helpers +// ================= + +// Susy Flow Defaults +// ------------------ +// - PRIVATE +@include susy-defaults(( + flow: ltr, +)); + +// Get Direction +// ------------- +// Return the 'from' or 'to' direction of a ltr or rtl flow. +// - [$flow] : ltr | rtl +// - [$key] : from | to +@function get-direction( + $flow: map-get($susy-defaults, flow), + $key: from +) { + $return: if($flow == rtl, (from: right, to: left), (from: left, to: right)); + @return map-get($return, $key); +} + +// To +// -- +// Return the 'to' direction of a flow +// - [$flow] : ltr | rtl +@function to( + $flow: map-get($susy-defaults, flow) +) { + @return get-direction($flow, to); +} + +// From +// ---- +// Return the 'from' direction of a flow +// - [$flow] : ltr | rtl +@function from( + $flow: map-get($susy-defaults, flow) +) { + @return get-direction($flow, from); +} diff --git a/_sass/vendor/susy/susy/output/shared/_inspect.scss b/_sass/vendor/susy/susy/output/shared/_inspect.scss new file mode 100644 index 0000000000..b0af9b6d2b --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_inspect.scss @@ -0,0 +1,25 @@ +// Debugging +// ========= + +// Susy Inspect +// ------------ +// Output arguments passed to a inspect. +// - $mixin : +// - $inspec : + +@mixin susy-inspect( + $mixin, + $inspect +) { + $show: false; + + @each $item in $inspect { + @if index($item, inspect) { + $show: true; + } + } + + @if $show or susy-get(debug inspect) { + -susy-#{$mixin}: inspect($inspect); + } +} diff --git a/_sass/vendor/susy/susy/output/shared/_margins.scss b/_sass/vendor/susy/susy/output/shared/_margins.scss new file mode 100644 index 0000000000..cd73e8cf15 --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_margins.scss @@ -0,0 +1,23 @@ +// Margins API +// =========== + +// Margin Output +// ------------- +// - $before : +// - $after : +// - [$flow] : ltr | rtl +@mixin margin-output( + $before, + $after, + $flow: map-get($susy-defaults, flow) +) { + $to: to($flow); + $from: from($flow); + + $output: ( + margin-#{$from}: $before, + margin-#{$to}: $after, + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/shared/_output.scss b/_sass/vendor/susy/susy/output/shared/_output.scss new file mode 100644 index 0000000000..20fc2d6101 --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_output.scss @@ -0,0 +1,14 @@ +// Output +// ====== + +// Output +// ------ +// Output CSS with proper browser support. +// - $styles : +@mixin output( + $styles +) { + @each $prop, $val in $styles { + @include susy-support($prop, $val); + } +} diff --git a/_sass/vendor/susy/susy/output/shared/_padding.scss b/_sass/vendor/susy/susy/output/shared/_padding.scss new file mode 100644 index 0000000000..5069d0cbf0 --- /dev/null +++ b/_sass/vendor/susy/susy/output/shared/_padding.scss @@ -0,0 +1,23 @@ +// Padding API +// =========== + +// Padding Output +// -------------- +// - $before : +// - $after : +// - [$flow] : ltr | rtl +@mixin padding-output( + $before, + $after, + $flow: map-get($susy-defaults, flow) +) { + $to: to($flow); + $from: from($flow); + + $output: ( + padding-#{$from}: $before, + padding-#{$to}: $after, + ); + + @include output($output); +} diff --git a/_sass/vendor/susy/susy/output/support/_background.scss b/_sass/vendor/susy/susy/output/support/_background.scss new file mode 100644 index 0000000000..b14150285c --- /dev/null +++ b/_sass/vendor/susy/susy/output/support/_background.scss @@ -0,0 +1,58 @@ +// Background Properties +// ===================== + +// Susy Background Image +// --------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-image( + $image +) { + @if susy-support(background-image, (mixin: background-image), $warn: false) { + @include background-image($image...); + } @else { + background-image: $image; + } +} + +// Susy Background Size +// --------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-size( + $size +) { + @if susy-support(background-options, (mixin: background-size)) { + @include background-size($size); + } @else { + background-size: $size; + } +} + +// Susy Background Origin +// ---------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-origin( + $origin +) { + @if susy-support(background-options, (mixin: background-origin)) { + @include background-origin($origin); + } @else { + background-origin: $origin; + } +} + +// Susy Background Clip +// -------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-clip( + $clip +) { + @if susy-support(background-options, (mixin: background-clip)) { + @include background-clip($clip); + } @else { + background-clip: $clip; + } +} diff --git a/_sass/vendor/susy/susy/output/support/_box-sizing.scss b/_sass/vendor/susy/susy/output/support/_box-sizing.scss new file mode 100644 index 0000000000..bf50bbc9cd --- /dev/null +++ b/_sass/vendor/susy/susy/output/support/_box-sizing.scss @@ -0,0 +1,19 @@ +// Box Sizing +// ========== + +// Box Sizing +// ---------- +// Check for an existing support mixin, or provide a simple fallback. +// - $model: +@mixin susy-box-sizing( + $model: content-box +) { + @if $model { + @if susy-support(box-sizing, (mixin: box-sizing), $warn: false) { + @include box-sizing($model); + } @else { + $prefix: (moz, webkit, official); + @include susy-prefix(box-sizing, $model, $prefix); + } + } +} diff --git a/_sass/vendor/susy/susy/output/support/_clearfix.scss b/_sass/vendor/susy/susy/output/support/_clearfix.scss new file mode 100644 index 0000000000..48c6e7b790 --- /dev/null +++ b/_sass/vendor/susy/susy/output/support/_clearfix.scss @@ -0,0 +1,18 @@ +// Susy Fallback Clearfix +// ====================== + + +// Clearfix +// -------- +// Check for an existing support mixin, or provide a simple fallback. +@mixin susy-clearfix { + @if susy-support(clearfix, (mixin: clearfix)) { + @include clearfix; + } @else { + &:after { + content: " "; + display: block; + clear: both; + } + } +} diff --git a/_sass/vendor/susy/susy/output/support/_prefix.scss b/_sass/vendor/susy/susy/output/support/_prefix.scss new file mode 100644 index 0000000000..f4e26ecc50 --- /dev/null +++ b/_sass/vendor/susy/susy/output/support/_prefix.scss @@ -0,0 +1,19 @@ +// Susy Prefix +// =========== + +// Prefix +// ------ +// Output simple prefixed properties. +// - $prop : +// - $val : +// - [$prefix] : +@mixin susy-prefix( + $prop, + $val, + $prefix: official +) { + @each $fix in $prefix { + $fix: if($fix == official or not($fix), $prop, '-#{$fix}-#{$prop}'); + @include susy-rem($fix, $val); + } +} diff --git a/_sass/vendor/susy/susy/output/support/_rem.scss b/_sass/vendor/susy/susy/output/support/_rem.scss new file mode 100644 index 0000000000..0a807f79cc --- /dev/null +++ b/_sass/vendor/susy/susy/output/support/_rem.scss @@ -0,0 +1,22 @@ +// rem Support +// =========== + +// rem +// --- +// Check for an existing support mixin, or output directly. +// - $prop : +// - $val : +@mixin susy-rem( + $prop, + $val +) { + $_reqs: ( + variable: rhythm-unit rem-with-px-fallback, + mixin: rem, + ); + @if susy-support(rem, $_reqs, $warn: false) and $rhythm-unit == rem { + @include rem($prop, $val); + } @else { + #{$prop}: $val; + } +} diff --git a/_sass/vendor/susy/susy/output/support/_support.scss b/_sass/vendor/susy/susy/output/support/_support.scss new file mode 100644 index 0000000000..9699113553 --- /dev/null +++ b/_sass/vendor/susy/susy/output/support/_support.scss @@ -0,0 +1,85 @@ +// Browser Support +// =============== + +// Susy Support Defaults +// --------------------- +@include susy-defaults(( + use-custom: ( + clearfix: false, + background-image: true, + background-options: false, + breakpoint: true, + box-sizing: true, + rem: true, + ), +)); + + +// Susy Support [mixin] +// -------------------- +// Send property-value pairs to the proper support modules. +// - $prop : +// - $val : +@mixin susy-support( + $prop, + $val +) { + // Background Support + @if $prop == background-image { + @include susy-background-image($val); + } @else if $prop == background-size { + @include susy-background-size($val); + } @else if $prop == background-origin { + @include susy-background-origin($val); + } @else if $prop == background-clip { + @include susy-background-clip($val); + } + + // Box-Sizing Support + @else if $prop == box-sizing { + @include susy-box-sizing($val); + } + + // Rem Support + @else { + @include susy-rem($prop, $val); + } +} + + +// Susy Support [function] +// ----------------------- +// Check for support of a feature. +// - $feature : +// - e.g "rem" or "box-sizing" +// - $requirements : +// - e.g (variable: rem-with-px-fallback, mixin: rem) +// - $warn : +@function susy-support( + $feature, + $requirements: (), + $warn: true +) { + $_support: susy-get(use-custom $feature); + + @if $_support { + $_fail: false; + + @each $_type, $_req in $requirements { + @each $_i in $_req { + $_pass: call(unquote("#{$_type}-exists"), $_i); + + @if not($_pass) { + $_fail: true; + @if $warn { + @warn "You requested custom support of #{$feature}, but the #{$_i} #{$_type} is not available."; + } + } + } + } + + $_support: if($_fail, false, $_support); + } + + @return $_support; +} diff --git a/_sass/vendor/susy/susy/su/_grid.scss b/_sass/vendor/susy/susy/su/_grid.scss new file mode 100644 index 0000000000..7fe2a02d09 --- /dev/null +++ b/_sass/vendor/susy/susy/su/_grid.scss @@ -0,0 +1,103 @@ +// Column math +// =========== + + +// Is Symmetrical +// -------------- +// Returns true if a grid is symmetrical. +// - [$columns] : | +@function is-symmetrical( + $columns: susy-get(columns) +) { + $columns: valid-columns($columns); + @return if(type-of($columns) == number, $columns, null); +} + + +// Susy Count +// ---------- +// Find the number of columns in a given layout +// - [$columns] : | +@function susy-count( + $columns: susy-get(columns) +) { + $columns: valid-columns($columns); + @return is-symmetrical($columns) or length($columns); +} + + +// Susy Sum +// -------- +// Find the total sum of column-units in a layout +// - [$columns] : | +// - [$gutters] : +// - [$spread] : false/narrow | wide | wider +@function susy-sum( + $columns : susy-get(columns), + $gutters : susy-get(gutters), + $spread : false +) { + $columns: valid-columns($columns); + $gutters: valid-gutters($gutters); + + $spread: if($spread == wide, 0, if($spread == wider, 1, -1)); + $gutter-sum: (susy-count($columns) + $spread) * $gutters; + $column-sum: is-symmetrical($columns); + + @if not($column-sum) { + @each $column in $columns { + $column-sum: ($column-sum or 0) + $column; + } + } + + @return $column-sum + $gutter-sum; +} + + +// Susy Slice +// ---------- +// Return a subset of columns at a given location. +// - $span : +// - $location : +// - [$columns] : | +@function susy-slice( + $span, + $location, + $columns: susy-get(columns) +) { + $columns: valid-columns($columns); + $sub-columns: $span; + + @if not(is-symmetrical($columns)) { + $location: $location or 1; + $sub-columns: (); + @for $i from $location to ($location + $span) { + $sub-columns: append($sub-columns, nth($columns, $i)); + } + } + + @return $sub-columns; +} + + +// Susy +// ---- +// Find the sum of a column-span. +// - $span : +// - $location : +// - [$columns] : | +// - [$gutters] : +// - [$spread] : false/narrow | wide | wider +@function susy( + $span, + $location : false, + $columns : susy-get(columns), + $gutters : susy-get(gutters), + $spread : false +) { + $columns: valid-columns($columns); + $gutters: valid-gutters($gutters); + $span: susy-slice($span, $location, $columns); + + @return susy-sum($span, $gutters, $spread); +} diff --git a/_sass/vendor/susy/susy/su/_settings.scss b/_sass/vendor/susy/susy/su/_settings.scss new file mode 100644 index 0000000000..8b439aaaf1 --- /dev/null +++ b/_sass/vendor/susy/susy/su/_settings.scss @@ -0,0 +1,73 @@ +// Settings +// ======== + +// Version +// ------- +$su-version: 1.1; + + +// Default Settings +// ---------------- +// PRIVATE: The basic settings +$susy-defaults: ( + columns: 4, + gutters: .25, +); + + +// User Settings +// ------------- +// - Define the $susy variable with a map of your own settings. +// - Set EITHER $column-width OR $container +// - Use $column-width for static layouts +$susy: () !default; + + +// Susy Defaults +// ------------- +// PRIVATE: Add defaults to Susy +@mixin susy-defaults( + $defaults +) { + $susy-defaults: map-merge($susy-defaults, $defaults) !global; +} + + +// Susy Set +// -------- +// Change one setting +// - $key : setting name +// - $value : setting value +@mixin susy-set( + $key-value... +) { + $susy: _susy-deep-set($susy, $key-value...) !global; +} + + +// Susy Get +// -------- +// Return one setting from a grid +// - $key : +// - $layout : +@function susy-get( + $key, + $layout: map-merge($susy-defaults, $susy) +) { + $layout: parse-grid($layout); + $_options: $layout $susy $susy-defaults; + $_break: false; + $_return: null; + + @each $opt in $_options { + @if type-of($opt) == map and not($_break) { + $_keyset: _susy-deep-has-key($opt, $key...); + @if $_keyset { + $_return: _susy-deep-get($opt, $key...); + $_break: true; + } + } + } + + @return $_return; +} diff --git a/_sass/vendor/susy/susy/su/_utilities.scss b/_sass/vendor/susy/susy/su/_utilities.scss new file mode 100644 index 0000000000..b737f21297 --- /dev/null +++ b/_sass/vendor/susy/susy/su/_utilities.scss @@ -0,0 +1,111 @@ +// Map Functions +// ============= + + +// Truncate List +// ------------- +// - Return a list, truncated to a given length +@function _susy-truncate-list( + $list, + $length +) { + $_return: (); + + @for $i from 1 through length($list) { + $_return: if($i <= $length, append($_return, nth($list, $i)), $_return); + } + + @return $_return; +} + + +// Deep Get +// -------- +// - Return a value deep in nested maps +@function _susy-deep-get( + $map, + $keys... +) { + $_return: $map; + + @each $key in $keys { + @if type-of($_return) == map { + $_return: map-get($_return, $key); + } + } + + @return $_return; +} + + +// Deep Set +// -------- +// - Set a value deep in nested maps +@function _susy-deep-set( + $map, + $keys-value... +) { + $_value: nth($keys-value, -1); + $_keys: _susy-truncate-list($keys-value, length($keys-value) - 1); + $_length: length($_keys); + $_return: (); + + @for $i from 1 through $_length { + $_n: 0 - $i; + $_level: _susy-truncate-list($_keys, $_length + $_n); + $_level: _susy-deep-get($map, $_level...); + $_merge: nth($_keys, $_n); + $_merge: ($_merge: $_value); + $_return: if($_level, map-merge($_level, $_merge), $_merge); + $_value: $_return; + } + + @return $_return; +} + + +// Deep Merge +// ---------- +// Return 2 objects of any depth, merged +@function _susy-deep-merge( + $map1, + $map2 +) { + + @if type-of($map1) != map or type-of($map2) != map { + $map1: $map2; + } @else { + @each $key, $value in $map2 { + $_new: ($key: _susy_deep-merge(map-get($map1, $key), $value)); + $map1: map-merge($map1, $_new); + } + } + + @return $map1; +} + + +// Deep Has-Key +// ------------ +// - Return true if a deep key exists +@function _susy-deep-has-key( + $map, + $keys... +) { + $_return: null; + $_stop: false; + + @each $key in $keys { + @if not($_stop) { + $_return: map-has-key($map, $key); + } + + @if $_return { + $map: map-get($map, $key); + } @else { + $_stop: true; + } + } + + @return $_return; +} diff --git a/_sass/vendor/susy/susy/su/_validation.scss b/_sass/vendor/susy/susy/su/_validation.scss new file mode 100644 index 0000000000..4c6ab8dac0 --- /dev/null +++ b/_sass/vendor/susy/susy/su/_validation.scss @@ -0,0 +1,57 @@ +// Math Validation +// =============== + + +// Valid Columns +// ------------- +// Check that a column setting is valid. +@function valid-columns( + $columns, + $silent: false +) { + $type: type-of($columns); + $return: null; + + @if $type == number and unitless($columns) { + $return: $columns; + } @else if $type == list { + $fail: null; + @each $col in $columns { + @if type-of($col) == number { + $fail: $fail or if(unitless($col), null, true); + } @else { + $fail: true; + } + } + $return: if($fail, $return, $columns); + } + + @if $return != $columns and not($silent) { + $return: null; + $warn: '$columns must be a unitless number or list of unitless numbers.'; + @warn $warn + ' Current value [#{$type}]: #{$columns}'; + } + + @return $return; +} + + +// Valid Gutters +// ------------- +// Check that a gutter setting is valid. +@function valid-gutters( + $gutters, + $silent: false +) { + $type: type-of($gutters); + $return: null; + + @if $type == number and unitless($gutters) { + $return: $gutters; + } @else if not($silent) { + $warn: '$gutters must be a unitless number.'; + @warn $warn + ' Current value [#{$type}]: #{$gutters}'; + } + + @return $return; +} diff --git a/alibaba-rocketmq-jekyll.gemspec b/alibaba-rocketmq-jekyll.gemspec new file mode 100644 index 0000000000..25a1cfabb1 --- /dev/null +++ b/alibaba-rocketmq-jekyll.gemspec @@ -0,0 +1,28 @@ +# coding: utf-8 + +Gem::Specification.new do |spec| + spec.name = "minimal-mistakes-jekyll" + spec.version = "4.1.0" + spec.authors = ["Michael Rose"] + + spec.summary = %q{A flexible two-column Jekyll theme.} + spec.homepage = "https://github.com/alibaba/RocketMQ/" + spec.license = "MIT" + + spec.metadata["plugin_type"] = "theme" + + spec.files = `git ls-files -z`.split("\x0").select do |f| + f.match(%r{^(assets|_(includes|layouts|sass)/|(LICENSE|README|CHANGELOG)((\.(txt|md|markdown)|$)))}i) + end + + spec.add_dependency "jekyll", "~> 3.3" + + spec.add_development_dependency "bundler", "~> 1.12" + spec.add_development_dependency "rake", "~> 10.0" + + spec.add_runtime_dependency "jekyll-paginate", "~> 1.1" + spec.add_runtime_dependency "jekyll-sitemap", "~> 0.12" + spec.add_runtime_dependency "jekyll-gist", "~> 1.4" + spec.add_runtime_dependency "jekyll-feed", "~> 0.8" + spec.add_runtime_dependency "jemoji", "~> 0.7" +end diff --git a/assets/css/main.scss b/assets/css/main.scss new file mode 100644 index 0000000000..2a763afffe --- /dev/null +++ b/assets/css/main.scss @@ -0,0 +1,79 @@ +--- +--- + +/* + * Minimal Mistakes Jekyll Theme + * + * - Michael Rose + * - mademistakes.com + * - https://twitter.com/mmistakes + * +*/ + +/* + Variables + ========================================================================== */ + +@import "variables"; + + +/* + Vendor + ========================================================================== */ + +/* Breakpoint - media query mixins */ +@import "vendor/breakpoint/breakpoint"; +@include breakpoint-set("to ems", true); + +/* Font Awesome - icon font set */ +@import "vendor/font-awesome/font-awesome"; + +/* Magnific Popup - responsive lightbox */ +@import "vendor/magnific-popup/magnific-popup"; // Magnific Popup + +/* Susy - grid mixins */ +$susy: ( + columns: 12, + gutters: 1/4, + math: fluid, + output: float, + gutter-position: after, + container: $large, + global-box-sizing: border-box, + // debug: ( + // image: show, + // color: blue, + // output: overlay, + // toggle: top right, + // ), +); +@import "vendor/susy/susy"; + + +/* + Base + ========================================================================== */ + +@import "mixins"; +@import "reset"; +@import "base"; +@import "utilities"; +@import "animations"; +@import "tables"; +@import "buttons"; +@import "notices"; +@import "masthead"; +@import "navigation"; +@import "footer"; +@import "syntax"; +@import "forms"; + + +/* + Layout specific + ========================================================================== */ + +@import "page"; +@import "archive"; +@import "sidebar"; +@import "print"; \ No newline at end of file diff --git a/assets/fonts/FontAwesome.otf b/assets/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..d4de13e832d567ff29c5b4e9561b8c370348cc9c GIT binary patch literal 124988 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ÐT?>-5aYhU|+1c>&YMpPK5x#-mbV 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'NS^o{z1ZKlHsAybrl=JE7AP369ntV%vB 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 CDx5C> literal 0 HcmV?d00001 diff --git a/assets/fonts/fontawesome-webfont.eot b/assets/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..c7b00d2ba8896fd29de846b19f89fcf0d56ad152 GIT binary patch literal 76518 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%0DyT{kunD z@IxRd5dG8cB%ivC{el@oX`~o+@gFaWStNM?ePP2;oQjxznuvt`fZ6Byzy1|qLyFz*dy29Gc>q2odt5J?m?L$TUX zDkVVyveNVoHTCp_0uu7oG8q0}SJS!|KT7esIRQPOB*tZqA>e#2Olw(hWqzND zAXED_xybmfrMW%CElQ8kQ5(saRqfyvW-qx`ty{aoUQTWf+PbI%R%KJpGJnZF20A8~ z*Fl;CsazvfsiZS;rUcHJ8uXu*?K=Box7X_C!fEEB2eGY8?D@Sx&H+iZpNEi`DOnA+ z!veHDyn89URFg6B+HWcRzy@O?NI1bdDr?wP2Z}&yU&|IF8EhA}qDQP9V@eCu=E3tk zMiC6E{BZ2-^M~3=_Y^Y4HLa36K~dajGNYDV!C)LM!nS_!+N-IG4`8FBBNC; zM!5T2FkyzpVCvONQkQ~_PM`$dUGs?-HT<%`5c)D7TpflP;xDCc4ab_^Mjn$ z?eT@RRaFivum$;@PFLsT$`}bwbB?e(g`!-yCsNXJEm%|UQ}h?PNv(-wD7g~QRwxO=Q{ zGUpj;eo~UqztIxFE0y9kDlzvI%V&6d!@kLJ+rkC9NA^&sT(sazwPlNWc1ndsVI>`t0uaDG^XK8q^@Z?AdE95Ap8 zK)H;*e66kf!!#c}lIpYjxfQrHcRC|4t+V^G9))cZ@kyp=me_<{_SQi_kjqMFpa6)j z5Td355BKY-ORhPWNI3r47Mgh$4Nl-$%5uRcs3|LPnHIwxRwmXt$ zP76lxKtOmhOU2)YB6Qu?88A#&MiBIAb}1Ou9l-=g6^;EOR^=o+QkiZ+iYC}4QB5OG zpPOfat}EF=W&?Bx3<)&9%EovMk4lCY zGV(4VKuHOpxnf-tG^`QkR@ueqBYxFt)|9+TjFu59h!#n$gpkSjlUPKRzKbPzsZQ zgH|g;h5-L-6Hhn(5XLi&32W%1i9J8LRLo%fCQqG$9@?@Dqvd^RaF2*rc{;=hTnIQf zADj!J2vp3hJv_Vx&B{`CNDx58PJtiMS`O)v;XA7sISZ=Npjy>=%}iJ@+ddQmZNu@0 zGWMhsB-~UEHQ&@-s@ARMOwpFER4Gptin;JeSi{IFSW@vUGd0+IK>bidCpPQwXTg3$BV`D~&`h6#;iu*SA6 zEKlPXR9B#OQz_}8b^lta@csQ24beamVrS>yzpU;(9E_W=Ik8;f~ANfy3Cb6Q+mQ30kCbSGbMGR5Qk!Ph-V>a_VQC^ z@LYqSHf^s^D5n!hXw1Je=0dc#bW@mI)?r|M<*v(I4$4xv?ZF0OL)xzJx8Ny1=6MGX zq#cjc*Rlih<_{zR%44+*+@GtQbcUwa6q-ZH`9`A@VxN6T$x1R!vzmk})+LS-y)lpn z5&@Nw(;$<1E)19v*0jGq2HZr<3i!0w`BTt!n~8s3{l`krCF?Mw3H-41~skM zp%}cIL6C^ZU;2VtQKFDV6BMK=X)tZoG1t|mdi(+RWeh7LaQ?rbxWAd1{rQ7Bj<s2kFTWoOqt#X>rw+HHl`m%`v&Cf zhqiZ;^W~)v4@rrbQ&<7w>^;|tRuW`@DpH{`!wG>S^T&~}9)=}bus_e-H2?#w2rN2B zfy3{C-0Wns;iu!}8!EVs=D^9E?W#dB2@Hw;l_v4u=-Sy5D+mSCg6%~*CMC6TyfJue=I|NzQI|VY_+=61Q z@UjAsPZi=&e#vmLm#uNkR{u-D=^+|aU=x)PfrBE$XB={*4SIYNS0^S3Oun;dB{*iQ z#0COAiP~!1jz>3$>LgzwEbT5lDMzYYc5QuiNx}B-qx6Erf$!@9< z$yTJ2B;A+JyW?<&QAuT8K)wP69RJ)xu%CBsgX5UTRjI7*Ypkl6_wz)1X&a6*Q(=)4 zr$E6`s%`Dbmo0~{SW-JJ%Iy%wu@MtQS8-IRvN>6bJca37bWf~`RO6Pthn!zK2KQ{R=+5|aZ zV3uxy%=Y-hu?u?_V|Z^Ai=*Bk?t%2!%p0QAc46-CDAZ$W*NQ zGjtKFeC-AQ*L3QyB)ts~%wZnI?{Cf^>hdv06iFNH5e^{=1hbNg?L!!q+_`b_e<2j^ zet^5P2QSX-GH5qU_~>I2QMPw2Y>g&J?jTrHVlbgLR)V1fslBUXMelpB^0Q}n zs7SkO%di`ts6il36`mn@6^8&28(&=XP-BW%ICU(reX0VgxxSxi9Hf9Ax_=>P27|*% zz(yPS<|?c_1EgXAvn9l$`C>jWBMxeg9UCG4g+Q=m+msb$&H<{5sGUg$L2aFgAnIJI zJz0kJu~QN@i*dW0?n45!BQWwifozOmg+zh@K0(b_#lBs%M8l}AtxMM^LGIGPvw{g@F21=$X3On4M zoSaa6JTjbhd3+rp2j=Fk$}QT$jzD--8$rkfYfWQwX6-A zQr87-##=eC)gluVaCzOkP2Xp^nh1yi#*?9xxQcRI?+;8YzTJk2MQ`zYCNfxIp=Pfn z)-BLTmhXO)$^Bxi)JB2nPHL1S5c0emi{Sn8eKvQI z0A2Q|iug{>1#IZb`8-wZ2bpuck92|jNi7SYzbpsbp(Tg}^~`en=fkd%5D@B3)eh&J z_$71}%rgl|7v2w|K^A}rch~ALV;Sh=FIgAFS=6uI zft4%}P&z2MqkmLlX$Uo%k7Bbos6h}h8d>-qm@uxkPqMMKK`o$bu)Hz!8LUIMb#*HG zS3{6`j~)w2#p2-V0Qy_b6^In-bndCa*ENSg%SF`V81VZzmjvZkEls9sW3U?_an`LJ z8O+osy|{9$m+YosffHoSm3TPRn6tY8q$>_fU^Jl7ED-nGAaX@QC#lFJ=8H@OVoU@m zC@h*X@yr=$98^3}mH^^IV=NcBqrGsbMTh(pdMay1{!Xwpfz_Y#4o)qC!ZV4T93)Tz z3c{&Bcz>bq>p3-0TDd)#Hd|JcH4p<(?f7#Z4FD)4S}GwATxBU&ued?*zm>{3naP2e z;c_#vRXTl%5<|$*eBOwRa!RPn)?R3aVo{L)hd)GRa9j+LfVgp>#}Q#grK7*jyAuNt z4{Q=O3`>P6vUOE!9SW3sPVf*a&}V?m?LzSdb1gm-coW2Ni}7FmTe^Ff^?@6E-a z@-6(Kbcs_hi7o*8EUBJeof?4}3(!7+KB~}x1z<>JY{?&JMzYw?u%1`FWO=+4wXpH~ zEFERds3%z%)+d=mz99LiQGfviKyN_|pCMQzexoDp`jPv}Q~G-_Os@NkZL)|Rg^_$y z7*XITYy1Zo6c=_NLNTn!!m~^-bG&!c@MTbHbMQ2YHCT~^vtvddDUrb3#xldK$e2XH z8gegt1>IVZpc*>LutJc4B2dU=KAL$Jmmvv--sl`_7^wkai%G|wbKg4JU-)RQ%!7k3 z{DnN`I=^qLoXKlA&u@<1hlEE2)!y3Ohv**vVbN)Tb7|Heu(Q_+F-}kD z{y3*-HJe*bIW(q)5=aAbhVLH=)sY1#6Wj)uH_CZLJlV7apM=~6-o1 zJ+93sq=29)s`pI{VUT>|{OB%fdi%^rjV#`i?G&s!^_*1bl+Wupg&A`#oo&T#WsoA|084|9)=9$fksz;?GjZdFQ%|$2Z>-zGMNX2A znGZt2l09}bdKou$8t@V@K{<2rri)l5t_(B=p~T_}%Fx7=)TYt!2oZumTfTXfhq|F|76iFSsOLA7c%}k>C#pT_-KH3h z`#ET&H&;ah3%1vc2?9^NCF9U>Q>VgZ{12}pG2`;)D}w+PCOnk{6s*AFuKS}Kk{)q$ zZF7h>NNNgT!4yUVAfb#Lwf7w#Ik)XXC)_3|3dXaj^7UvM zBwy$-?jd7`{BMDLJyKgSI2Fz~`gP&R?v|{H?N6nNi<}q~HHP26tzc(_)KvuxYfl-r z)YD;JTZ2aExw~ktuV6{*IiPtk%4UxW9&u~3;*vgjaUA?ENN6<0BV-ym)-^P13-~O%m>Lw!xbAEUU6bYqXHK=>lRRo1de`;RqsY$JUH4Nb&F`)h^D*3{sv9uaeEgif1t^@om@;a&BcB8JfdER0F6@nXmaoJ7pYd zpwP%&8+pw>Mz)~;p6Uh+iTPHN7zUm8kFZwmw=01ZDTW~QA861hHc~hvCD9xN0bU`l_8{aEv_~)@gR!@hU7-YhPG(g389Awe1`o9qVV@I0 z-XeabL6Gn09qT02ZuU$~PNjn4gCU1cd_D|Bub{xYXz;D*&`&%Z9oqMMpt)X@HclNd z?qj|#l9H}OYo{ibBh8~uJ!A!qrC%4g;E9K$`gqo4*X$85#W&pgXKe7&gh;En=j6A* z@tycbJ}6slkO5*!gvshnRQ=;H&6Ox$wi{%Z13A{jKr-md3!=mhLsk=?a-@uH7M<@U zM(NPJ1Mqt3e{$IF(>d^7J>aA`=3<#$AQ~iKMrM^{fMr1El$?no-VCCfTI_mvOdQ#z zj6NtSpZ%Apb)6l@AZo5C@DF2(%NVBf7sj`r3z0VIjA1mxP0C~Ab5!nF*=1@cjAEjw zUMoYbNBhFq=xQ$RLRxXsWwuZpfppsNhuXViX=7SPrVjwOvqS0n{SpBB1e%5!1!?a$ zCqJ7*4~vMMym8}{kQjZL4B>2*1Muw<;WA}p^}58nF&-d4uM{XRQ4A3em{f}l)bg)7 zC7Z|tu?-B89Y0xOv)Dd#@K^f@ob**-ETu2S<5aUmqKR-M^oF38mAH!Z zU=t3!69uJ(l=-v4;}`574129ybuNwJ5QR z3FhJq01*^&uIpE{oM>D4-;1=bJSJ@fh>5U8I^A^~B*Vr_eK{o^s??_o6S!DBu=QNGd;#J^Ftn4rQY0<(Qxc(E;MWaRBXsXm(s(RnQJbTY z9TGr=z?w|}U`$-3M=Xf|{<`>;IM%NdkYFZbU&x z!9ZpzRbZ1y(i$^6u!<35>KLU!WK*-M)`J2^WvEmB(QH8wkA|#WZvQimOu~!_P-_Td zdZvSNDAjOFz)oG1Bz?#7R`NeoKF8W4W^rJwa|2aHqg%#T*pmOI&;khGVqo=ahj^q@JJa0<<8x^}}`T9o`?D zOr%g)ZrTXqIXP~wpvo2(B7zr0CAgHBc#V4Y{5+0n?z1FYfKiAd@8Md5cw6*UG2;VhLza0Xek?e{}C{2_JoOy z4ljYy?jKm5=s5x?jE$2e(w(#gw^NWD7&6vsRtx>`8vz6Y7rY0|%DS1o;THTO&7gwB zBBvx_236z-Y8VBWvY+n-fN>}U|A3#5i|bNSDh{G31gZ_v_F@ANXf<$|vXDSl9fFUU zW&?yh)Ept>a^J8TPV^{Af3I%%8r$`-#=NcMO4m6A8t%Nc0Uz?L zjC`Pm8?cR7jB+H7lJP6R850Zc>;*WD#PHyQHf2PqheXT0H(%_52yW~NNEZLTb=?O88ge_p%V!rB2u-b| zXJNx+LwqZjT$W@G-e)7DCt48`p;w3fpslZ|cLbX*3 z#jpG|#|`EDs&QWoVo;6xO`ln!Eb;)Eu^ufSZ6nLur6f=ueb;@hin8)(!CLPmwY^QP za+9x?Vr!M^_MLP%xL6YS?y*T0Q+5+F{)O2#}DDAf{~{w2jD-2xcCC(nKe)#Zb@(89V@D6=5P?Ys^0wU|`@Z6r1Q9 z96uvQlD%I!kT2`Lg!m0KRos{`Q0xE|fF^J3)DiRd_=hAAOwneADXjwSHfB;fksIIF@8YN(Zq4QL@bkZtQHm zp)C7YIFTOd3ku@`XLzH)zvG5;ujM{t6p2LSU~dpg3E9Fc{2Uv$#sbTG35iKTEQz_? zQ$&h0DV;5MmH08q@5SS>?C4{f3GyH$g4&7s=W045rrnbbf~qOiY&(@jDexe&Iy)mX z#SI(`E}sp~aqdv-*~1y@KXcbNIu6IpBg0?=?kKA{+XOI)%#M;2Z{mV^V%@BMWwP&E z@iWEC57DVRO)LrE0j0VnB$fc{yIpwJ>Ooh$=9OmyUAPAcF%Ufnyk{YpIJVBv1Y@BZ?DT zbFQ%Gx@yLS76X6=%RaneMz2IQ8V=Uiy>d42`=1SJvm+qp(ppoYLkp(L*K!98&H|(% zmliwyj8#7!i3+>v{zQSYAgzo4s2d<2*%18=Pbe^P4A&J^Rm7cB+ z+RPPc1Ga(yzPLrD4VTyECL*%UyzPe#O@N9LxvAPL4FX0A;pIt$#&azo0*O` zGc10|6zA$F0@MVwR0Gcq2MgGSLO?N%3yeLib02_zbskkr{X(aq)b#L}7wU&%U(MZ5 zF%DGOK~~k{o_YbmaBwRlu@e>z7ZoqsQ;pG)p4q@Z2zle3LCCx$p~HYGvs`|ST)?55 z;4e{!+Rt?M7)LQd2^JG?XSGqus(GFXP3S}1}8Ppf(;l8e7da@`U+>Yb3PJ;07?&x z)5{WF#=-FgQ5MJyqeW<)0g8;3*{ziI=}Fs+d^RANJiWlD%6}=qvF!L z9yNJ-t(35D#hq`Li4EKZ1zTCsqT1Yav@kPcvWms)UDj9=47x+~zA>?%t%U{sci#&8c>>b8C$S^HR#+?)9m+>Cri7=D*5uHl~~x;{0$C0TRSa=I|919_oi%R zjgM474vHcf{8lhZg)ub0gCC0kV%27co%C6tQvRsGFraD%W-XK}oVMDx6wNsfiq>gh zycG⋙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 z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/fonts/fontawesome-webfont.ttf b/assets/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f221e50a2ef60738ba30932d834530cdfe55cb3e GIT binary patch literal 152796 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

=v_rA!CPE#mM^4@)}X7qf;At+v)G*FZd&; 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 ALjV8( literal 0 HcmV?d00001 diff --git a/assets/fonts/fontawesome-webfont.woff b/assets/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e7483cf61b490c08ed644d6ef802c69472eb247 GIT binary patch literal 90412 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%0Ded40&XED0GYFoIh+AV*?9!MR5pBW?X_8Bp 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 IH>08b4`|GD*#H0l literal 0 HcmV?d00001 diff --git a/assets/fonts/fontawesome-webfont.woff2 b/assets/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7eb74fd127ee5eddf3b95fee6a20dc1684b0963b GIT binary patch literal 71896 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≠dR0E9ICQ{-tcR;@{R^I5P#1GUH!p=-{c zuc3w;7+BWfGaHj8JK6^F_ud{JF#?=p5IuL6%&BpqXGS{~wMRx;wzW@^P zzUW@Ot)-|dI*HP<%}AdxG=8KzXl^eew9JBUhfnZWKLoxK?HB-a*iv{+&FC9ByM80l^Gei zQ>vs1gSdu|%R^~clqW1HizMeJZ|Uw%65_aMdUAc=1!3QDeKP%EsZ28Zdzg@}Ra@o3o`d(7rU% zr%Mf`gx6r1G)j3PTIP7=RmrzHWJSTZ%8CM}L66{96Ho4D6?_e$&nwU~mxXqb zId&iY3{0N^R#wLfcb@8L^e#OJ0i2H zb1N~AI}Hhrr57~D4e+b*D>)wL^>o&)s8UwztF>$9RS7a?Sw$u3K`tZ*0x?8ZEV-%! zZ(Cu$a0TW-IWz_qLxkLbLdA#(MA#a)4oLRdKYo?%uPGj(X8nN-$ngfAplK!b+*+qu zd(^3srD(1I(q}@BoTVq%c)#*?F6u!kTXOc5e<{PlbM>3-_uc!l7m9~NcH(PIlU^P< zJm0cu@FYZB7yJZljwq`NdTWWwJf>Gmh{QwgZh61R`E)FxUO^-=N zUk_hCvNP$No2rYcET|!l$1|!COnmS_6xl=4AOcijV13+-y5FGgTB)%Z6#$vt0l5yn zc}XjHUE!zsSExQ#F7P{D*A3QC)vRlLf3}afFsGqV0M4(^NIsoho|d7?Ws1E;hZ4fa zOn=}epz9 kgw;ucYbA3cU1VJz%pjZC;Qk%~9{|M8~LQUOASDQR}Rkd4u{d`EM0 z#z42NZm2!myxQVgiOB_;c?k zlt~BrZfgQ()uk$+b4t(W8L1Dq{?-3n(@_7=jLW{gbK47%hqi3Si77PP5j3!pF~)_3 z@i8t~3S}m4z?MnVzPp{(T)K$|;@a7{d#x~^dVqSp>4E!z}v?-=tE(@Q0G6oT-hW6LGZ-|l?8KvgK-NS~Z8J62b zH`CdcT@78ZaY(vf+0yUTNMiVEdQojmS#YO~u19^5U7kkBLFVh#q#gwjQaVjk_E%%Q zW5)ucz5L9OK-D}21^p(t8Ib{#^el3ctEg~To0KMul*p-27#?x<-#cD1#}ww2eL_fD z$v>Fu*LL`g8B#SzuHPXUJLQ_!dJJZCtm=N^==#L_RbvS4CEo-a@9!%5c6iH|l(yhG z-qbeBqno#K{kLzkZTXgQcw5msN*i)Ay=hT5yl>U1tVUFFQ2QjVxnP_hY|JlBw~9K1 zZC4w{qbWrFnYF8`LSf8cLCq+6@ZXXcV}a$ zo@Yk1$idN<~Q@Ropjc;Z8}5`IO{Ii z;YhxD(#zHsPX5FB`-d(6^l6R7HVMMO?3)Hd&$oeHF9riqpq@4o3~N!4HI9g_?3}K? zj6VtI3U(<&t8#t*5(_I63BG)F-cow^%5)1EBDu3Ag?PtT1w=pBmHldGBdQn)KmcQx z!ez5{w7@~_a(Fn0OHJjEh@8Lrg)n8q4hZ)jZ!crLH+Kkg3P>$tNmuSyzuJIdtKj(> z$y{uaQ@nmoq>L`t#+iWJM=?1E&-Z|yHSAdJwNgVedZ?bq^x-0!K?^LO<2t7_iW!?i z7Rx{MS`%5HRM;a&Nh4FyeP>2|HgO+0c`WcSm}tqcnOBI2vW!gFqwTQK_HW*vIGs5khREImcAja+4D9gTh?Gl02cQHw!(s6RP@m*D7e8lI@plF5mU=x z>B&*D`$7Zh2)}t4;=IR(`B#n4U9rp{0im;xr`ucG4i;l{k6W(tLn(AS3kMrEpJD-j zDtbu|B=XcmdhNgUP63C^qV(wlO|bHO-6L!36*Fr>eQq_Ut;Mu)g01bORC}N6Ej@Ai z>Fq67E&kLUilT@ATW23t>Xkn@oa zus>fiWoscKG1089E#0l4{Gqok;irrqTV8br;D^|jhXD*r&bKIt+yLT^!(4mtd)^79 z4yv>VmJOjbe%QF(HxOi}ICFy|*f}*j#(4#h^!X#}@*jp7ru#8oNXmT_TU|36RwO@| zXIzv}x}4oeyS6R)=Z~z(WpDD_Hr8O*>U8Yh#DI8HUF@rFujw7h=+sClO5RzRw0;X} z8vIy}7Fz3yTT`65sM1|cvC$d|a~|hNgh%#6zg4Vtk>Mh*f#I-WOx%Xpy@DzVSyz6! z$!wSj@jl71lonL@{{de#=$fD1%-oV)l=Hc-j9%pMmtDZzk=yu*%BkllK@7(oky2Yu zcXZh z30OLYBbzmZ-#BjBGmL3P<59K&hqsm4*OFTgZL$%f@aQ(oa0eFt^!WQUFCw?z*IPTn zJMHpNua&$Cg9p@osIha9$U3J@3O1K;|59biD!tt(x$JnsvW(NZY3Pj@@gG;>*A zTH+ALGZ}irDadBtsZ*6W8vqk*Dv@*_94NT@%1b+VEL(GPrHv%f?#q^N!aL91_kBo$ z)NG+ZmBsUB82|Wx$I|BpqVVJs&*h_PiCyr>$;pAf<44g!G`;tQdg!9zQ~iX_bC}6A zQ^|ia>VYRu^lI6}&97gdqGGe39K_-x)@@>J6driJ9=LK4i=|SPF(*&FGiXVyCR)*~ zKX*F()X~#IMDkOrB%b=cjJ!Pz-#i``@_l@2EHpT)7o3|AH;^nUE1xWMN{So@0nuGz zQ8~&d&rQx-wW)k~r(djI^ z>#*7_iM8KW0p66fjO#5O)*C%oxTe*!d1vuR_ITN|+3sS1aH68x%;3=Bfs9p$59O|# zug9Nh1hu=rPS12!>HMe*_^s@b6XzuHKiCnJM zE>@rPxYY0Y@9F3MBh4%a(+qO?N57msjUyb=>3p;_1aAT5s^5mVN@eA!Jp z^KUwNathUCqD}hZdHjm)6UIJ&{*XJTCrd~LgHV2<*x@Ecco;(!7K)`gx)mD&Bne?7 zO#n#BYkUsr3_-XV^HPLOQudSO=jHJgI(d*0Lf==E8R{JUb;RLziB0yqyX)e7?mj*1 z%~%By0l;pDB3Q^~=6__-3-5Z3RMPPo5F{5Vn+8L`&f#XMCuI7-wacztV@JjVv350TvMt!zq2O{m*X6fy}e@@IxkM+m`uf1Sou)%DNAY zSSzDjV|tN-;$UpAvK14YVKbFYkw3y6Q` z=K6mofv8g8e9)%wXLKV$=FM0eke6sq+gb{pv=qN9Er%pFUdwOenVUz#N}d^t8(DeD zp>^29oeB&}z!x!A2+~Cy9`$5L6NERF*f!*zu|eEu?&mRQHDNlUF38;+kfL`%vGrWE zMRqubh27W_*HvN~XfXnFgDi+#UU~oaEHw+HFLK#jczPLWFteGLmh=y-+o}OsURw3o z4K6!zf5h6t@S2UTH@4}y_dk8#q1@Z@pi}A)Y(2nNGU)n~!;zg$n)vFDD%n`%`P64m z&t(orRfl)h6o4xl*T{e}8RJr_9s1?eNczsSFxmRZjnBS@HE%eyA^dsyx(|9fn+a6H zhV$8^KlUYjwe>>ICp)<<{j1yuYMc_CLNgVWyzMy+JAKW|@-q{Q2AQ=Xmo}(M!dIkk zZjV-{DRgV3b?ifrY&%k~{N&z;ueyC?anG$IpiHp&)Ysb8`Y;ZgdRx+Isd@u7Yu}ys6^?pi-Cr%Lafb=bmeY9*=7+{Qa%_v z*3fG4hor+^CBaf6n5s3`YHUp|0U#2GUj8ZvV;Gxel4=Yhq|&Uz=cMn3j@r-JzQ zF1Q3ARfhnZqK*f0Il~+`S7BNK=Z>54m5NT^ zeng|4COob$Au+NyCasZEOKLoQWl&*r5V9t3l4R62O|qZNHzC`$J=Sjaa;LxLguL;b zNs~x)XKnO9Rb5i^KPCW#OWQ-bK-shQLFEHMy#W(FLh(44Q4EIXlW{I;;0P*l<5NOvPm^Eb~1XvDpY0%Ge9&Qv(Udp zHo!uS1CDLtXL~AQ)ijtfQlCW43AfK9S77%~dFw}?&82p_#bnTqi^iw*N|(+Rjq;T@ zZns+yr*@N;SIXok9t;W0%Jpru*GocCY@5J%Wptxb*{D#&3;i_rtWEDN8I6+ZD&XHdg?~ z9*9kSZp0`vz>(_;XAc?(UD9%Ff^_LHHE zPMhH~w%0OUnVGM#&rbDcNZUViBO4o>k@^3G^E`V27Ed^#hsWQ-F`tvX!#G%yz_|nR zNxhF{9GDP4uYrE({hvNRrN`!(8l?ZW)x~pz3%bN66ByYK4Mh(3JpzNQ_z-Ov4PU6FH5U+BD^z3%j6M$!M8UPsHF zulFyfveXTAH>T?9Ry^%>tj%{81u4JC*P%bpkI~KMi2h3-lOhU`#S~=9Hq0ep{<}!$HnjI>V?b7k6O;8S~>&` zUZxkWK7F!qrPH;Z-unz7J;5Z`Hy>zjPEKhi?0*@(Ia+2tvaOP5(;M_#;XeO*MW&o2 z<4AT|lNK3+C&JAO!f+=xRa$e34i>s*mgrXJN--{%qmshXY&d4eUX(knipwka>q<`W z>yK~k(42Rvuf8BQgeB*DYsDe1oK0y*kWeIv5gm4S4@u$lDTWBj7+G=tLJP;$QS{Iz zH-!nG*65Pv$dUeO=51l7CITl@t}k@g86e4yVO+aL+bY*S=r6+SvgyZrA-2+M9lAF# zNoc@sJT|#xg~HFgz&Y>gI8lM#UandIFuC4=xTxG4zKC?ayh)&E^6j1SM(OQl;AG!8 zUK{NmnJcYpv%=>za%be&zQGWc9o>e+z7BU@iv;RGGo3yaeP)48H}TC zg%8Ai0hGCa5J(^Yik!)&vBm3*TejTuX)Ip`JCv<)T*8lc*$JKh7ZyFm86u4~DX;Cc zgwu%x5CUTF)BgT}fo=f(^u=RWuZF2G`Pu*ePfMeK4gx#&TIniERLQxGb&K|Y0tg8; zqT&Uz)}6C%DAMpO>-2Pt^96x#VZN?XV8TAw1%@*q<_e#V8G-b`-+0C;E>cAd$H=D? z2%RN%QVen8#*TWc0gN|!g|+>3QdGM9l955UHb9>K2|SPqr_--Mq%vFvt;- z3`Q`@RNqV%XL5F2BDG1&_UwVQg1?hhJV3QX^p|=VXt_OKx1>`8iwkL+Gs$B&Kp*a} zy_(~yWDD5gxtvowfATEXCguKtzcBStJ$m&8fHDBIRrg)@-#`6#J;h^L7iCBcIpeyq zf7(fXxGwR&{(?TcW^QVe!(`Y)raMsRSeZP(dP(QtgLq;dlkR)TqvDkSQP6AIC!Hmo z7q9Aw_$2;BVadV?lx@UxYnd)mOBm9v+g{N!G>_*#DmQ`>l)DAdmmPLB1dz)br0ZkW zy8dc=&fmeOld$M3DSb83u|Dhtb36PArWzgLYK&+;T1OX2r-KHw88W~+5(OwG%J*Ly zgnQDUcJRWkErZ8xi%^i|j7Rh&V^;HMN_QL9=2tnX2VY~=fFJepzk{$%9Vw&j#w>ag z;}K*-fyHs#)#^>{A52;1R=pL8^xT~vmH#;mqeEtWWnGom`eZkV0z0-we zjoZ0MRvzkgYKdwkA{!AqA1TQgI;x~s~kF(%dn(FZ0mF>qHoJm$ZTch)G4r(R-+ zC-AhDS6)_-{I(5bYx)|kczCX&AUU?Dv$y>C$e)vpXW&@*u#M!dEF8RY35bM*ju(`p z;K*~2MXsXrTO+@mDa5gH-;Pw7^H$?NUE=I=4^X%fqY6$6d+`<(`I0r!`86k>H{9F# zUXeRpfO&S_kdQ(J_0JnaN(xBreJI+eu>ZMePvOrFIL(&29w0ORNpYGBVhMtb1Mtl6{OvioEC4|H$ zo-w5*_}~jH9$*_#fpguu_>^)_EcOeB9{FE%tl8INvegmyzoU=^cpNwcqC`sDsL^P(C{c=TO7~Pdw|fPVBfR{q|BuIPOsNma7Z}|($RTYO zE?f7ajj)Vr#v5(c_&#*~Y+Gw_~6vptkceJ;6#AA4{U*G>m zv(t<}@AbfZth$BsgN{kJUQ4`I*>8>?8Nk=3zX?V%kwLG$-9i|(vVKJ6M`!jwoy^SN z=7FOwD=f^3=ZfV@actpRZtw@(j^+)HNl-gZ~_DmlAr+wcNi?V+b}qU;6q?= zcMb0Du7gVm85jueE`RRbt=+fXx38+Zy8G+XRehdL%byGMWw=ETI*Tc$XIVkYXsCVZ zb4N#6EZ-Qo#uYC<)!0ZG)(v6fHg4C8`jx{nW|IC1!LNG4AeKN2JV#qDHPM>^p6uL0 z>sDt9GR-_j@TKZ>xk9%<^4)$Z0~^cEDs)_gzV9)D&!BehM206+ zh}L?Gb?OHTpUvN2!?8v|DZ5qSjW+&#SXC&6!p~)oR}{k%ir*7xyU`bBw$B6F_y&R* zJGXM)P!sN_x?Fwvcl}Vi*TwZFCLhL}Sy(AkQ-O#tK(cQ5gCw6b$%tTc447{$X@Gt4qYl@?zZo zscT?q>xo+eXXdS%1=jkXdHT!tFWA297sM4v?KP52N58N5zWb-#2Z3ReM_Sjzg<}dnBy|GvI zhgapzrd3&*de)CZ!Oh~tL+K5NMR_+D@kp?5);fS&CFcwMo0!7w7ZNMm>>QDX7GHBZh)p-i`3Cbr6`q-0WzGf< z#>Iu=PybFT)E8et6+C+0Um{ezd0GY1nTz!3uAe@VzZLiSWS*nz{Y{by=d6LAtzeYw zwGFvS3S3>F;Z>G1mx2%JKH*NCZ@aP`q&iJcG&4~6o1Nb+L3zU|_0UwVk)0xSgkcXu^f(UaE9@~0>ztQR=w#`0O zTrZx+vX?#Jxh(CfeYELi=fpfM+DiYH6g-ONCiU95Jhw);kgSl7%Hx3zn2MfYJ5|Yw z%F^3xg*>0(y?JanEA{+m;rFeV-Nv!=!HyviDdGTZA?t?eh+u7t43pT(@|jp?PPQyB z&UIB|@1rjRjZ_2nFuxapx`I^gG<*>)xeBqb*N7X@Gbp)y4Fn=V4BpsuXeVYPhQCe2v)Dpw}5=9o9&dT&sh$KQK(W^O?86exnUfRayql~=x_>%Qb z_eEOB9rl9IlYA9e5VbCk{M;Go+sVSuW;xu(hOTUEsb+QU@N?brZ< zPP!)Lp=FXvUB#uOmpVE?c@_=>uMsh0184t<{R&1E~4kxh&46o=yQvQyO!kDegF!4ilCORdzqdzD7sf@iwmJhn9yIaIg!5Xa@)TbSDB;6 zqE4I*l$1vwtNMi@am@s{^KJg*?NEo|?a-1oX+gLm(0jsb6vuWWVf|KwQuQI$83+&M zr0QwGrj1}v{n+h(d6i)C3w^R{RyeTYaxAo!47T#IG%PLGJ2fl;b zGC<;obp}ZfmWeOoP$`xE&CT5}Qz!C8^h~*uA94@*(M7j1*OQ4Edm3;c0IhdttG>Vv zfS@Q6sPL%p)H0|Z8B9ptnr$JWFEeRvm2dr+S2mc;-%J}1f{kAD_c~cSO@ZQR3rFW0 zy*U$ALMUmoIy82fhQQO#)$NImKA)Ep_w|y*{cbw7@fP2|zL6+!3Wy6se|P65FgAE^ zi)tS>wpE^gak zJ*1)MQQ6l1LI4^O|40P$&tnN7Ha1^W?w>DbTVlPOr5;9=y^@E>BZIZDBHhZS2Imah> z@~IG#=!yi*5(}P>-#a~*gd=+QMTmGtaK!n;*q$)UtdZ|Jnao%mtQ-3+Tj&1 z8ak3WU%N*pRJYo((O|@+o1l{l0Iu$3?Q~?zVmhXT%b9{L{^~DkvORw9qukbtK*wfM z>yg{&mbJUR#+E@x8wro`mJT@$r)Xa_c$?7tM4s8v`ko*+VdZ(k9c{+7gNcsO!=GP@ zhn40Qh@a<&w+xHPXZJ(^;XQ{hJK<51R0fWe5#&qhBM#QKO#%D|-sEQCwMbue(x0H{ zJ()+CxWBQ6urBJv@ZRi+MD04)LHRvF)%p>97xuW7XqAF?R@96;@=*pjV+2Y(%{Z64 zg{$0_pl*FYX#$&WR@}z)XEL*Jm3XjJW9Z zGWc+Z{@B3W4SNt#*;VS~;9FyRv2x`1APF4JgUxSuKoWsIah$SQd-`AZso!9T{eyQ9 z?CSZ*2;W%#i>7EUTpe#<^%-Bc%$u+Iut&k#n+(D^O{HSik~y!P-#(`O02?pL2&Ix$ zlMBH_z{Jc|tO8Wu?qjW3C@tFCYvH#J-Ai_=^+W?&zWWnylWZ6P(~aX_U03R-zXasA zK9-(50i8nv9Yo&Z7Uz?^Hb(|q3Y|lfNk<^7cmjVS9yk(~I6ohN?TEe)JfVqC6(Di; zNwCmU!}ruh-@nnbWH7eDJIj(dIU}zTGSBKpg7>%&o#)yNOwq)xfT8RB2c@-zL(~Q9 zApv8k9vfO;X~M1EENU`MxFq!M(U??^>i^Kq(l5dC)bj7Rg6UAL|H|tI=rH0M*_geq z3eUu}uc74YQU*Q8d&Do0-GoFGJ6g1s95ljIR7<(O0jlI)G z4|m{~-IY+6t%u4ZR6;=AGa&=*A~{}{d51QZ6f3-)bEtgaSN~`w&v2#}ZkUdnT(OA^ z+?0)mVG6qRBslfi4`Tmep;vfbx&HG8=UN?vfTc>*mRSkAOBxTumVF^^<=J!26+%3I zmB7HYDc#=ksWY3(c5p4(%^<9*1PbB>yoL&~-a$gLQsOG6*z|eHV|EE`W!Q99)2jvW z8-ZE##B8-cno^e3DB=#5TeNgS&z0@CsvS}&3xq;+zQSZOws`$(4PIp84J(^dpn8;F zsXIlV?#VSF^qPt9=xBSCjmE0p?Xp`XzQV^CPj2e`Xzg2W}5DI?_2U@Ao;@*`?wD;V`zJxUnhZ;=LweQ`=>{G z_X8*r58bqMt=h)4u=k$woYL7nhhg<*w4$o7-x2ulhcE)6tRIqGTQ)8BLY|M{+i#%M z>p-A6s|kcjf5|f`<7mb}-1yd)lJqV`DqE)^Rlp_P5meqJ(-}-n=VXdwMT@%_R({k; zd0g^{uvjy5`&5EwTc!6|v0N-LHN0MM8_>0Xp*&%iCB`+R<)_>TUAIl-U+<#0OZ`<- zX+$S^{bWM(tnZoE9*qrY9!HKrlKk=~af{He5xc2?P!u&2Nm+B|CMh-a2fq%D)_mPr zuC=L?*w<3{RcLY-*mVX@o=0$hN#RXBq0ZGr!)+aioWlVxrGpWs%~bIGh@b(-fE|1!7HhIq~c1z+TVD*Wm=kWdW-NAF=dNcHHkFjp)qmKg7w$5P< zzHxp;+9uaPBU}a-vwu3fyGgs-A>tpO^Q_PdD=Ms;f#|R7eNzxo-g?Sw%H(m&xFYb_U1pZ(S0zwO*kP2 z3i+>%Zu?wZDqz=#!zK7+49R!XH9;=~o_tM*5qurY6}b+%Jz-Wvq|CVDA?o#$lEazq zlTT#3od;swz9mIeL|>4k!?3K36zcNr+RP1_;Gh7)Pp&_#eKmAEVO~$XUoPsL9$ZCD ze>OkB??8cF-QBeCQ#8g%mAg;pQe>i`qd@l-@h)k0V&y{qR+%z@eS>HxLvXx7%cw)` z>LGr~_|e(@BNApWX4Dp%;wsE zeK)2bp8l^hW-c>lc`;S7mDtZ+40BR8+hhtWZDGeH0=OX0K@;7sr_{*}%tz1BD+0E2 zeRg~AyF(B}7?Zo)w}lp|k~g=9%Njkob$*MIr|>ReY#X~sscLrr@>RkADh`Pd?VGf@ z3mS3wkeRCwN`hRmx~<2n#6g6MFF4qxwFnrg#j4A$Z5OLkB21}j9lc=fEn@5xzqE_N zO#VK;GTT1qq3e&O{DMb+gTwIEBYn&t=E?K?%KhS_d-F_$)y6fv<9PQe0Bz7Er10yv z9iNYA>OaV|VR*1Qnx%_S-Y5zS9W7O1m2oel>D}Qle(u7#c{}U8RE>(Rf z{QublBzjET;J)9O%-FHLfBp;2|L@=b8x%$rcDM|O<9{)y2Z5oOxXYC{Y{)hGC&>R9 zh#~<}{egpMNhc4{$Q0UFjr%n3L9$2>1t&Y8d6rGnMrUMxTCj%wC$Hb#R}SPl@0`#B zyMp^s%7_Q=Uu*h-g^%VqI2MiGjl7kV(l+VUW`@r{5p+%vmQmQu)eipI@WykhY6}Ir zt*4XkdmwEoul;g#;Z`$)>Y>ce*Ni3ea1XIC6@x7GS>=d4T39do3lv1TX{YXDKW5=} z0UpLJIc4?md|r$;kVi>N&xG5mh$fFm576b}+pE}G%u)<0@-o;_9k9nx?z?1DaEi?l zr%9Ys+$q4-oO`P|CrFJhg9`F;SRsU`qJvun*mQ_xwQW~OhL60)Eky4ur=RNnc5Q76 zbsQHUO{=KF$=lU(a`{M6Cr5A@^ErOPOa2Rr;P<2&3!J-kxde-jr7fgTSz1F+od<22 z0+(ZMFx0L3>DZ)^J8i8|XDJHxhaXxy_7d2K>@BVI+PuDklz9`vt92BZ{sq@n>bM^? zUog;cSw+uA-;C8A&=5OXxa$Tk$y->^MlBTRp-dODXWrNci*}5%*RJ8DRGzysy;i)p zv5-(*&}vkHK5u2u^U1BWo7T+?s<*F%nS|_(WF`fD1=I|1fe5Kf3UeJg*omEh@x)b? zy}#6R>^fo%pCbmRO#-^tbD=gpLXuJ-J(F2*+$f!BQTBqgA_U{?dqzZ5ft_M>%hl<6 z)Sp`6s$@f66p;imJdLrw?+o%{+O_OsIG>#i+Mx7VLXZ!+OF4BpYvej{Y-7ExN5kqY zcWIg`rJ6c2omTNCCBlLDKNTUhV~%k*ckL3isopY6&yz4Znk(zRlhQtR=7s06z)_tJ zA0(2XUTz)5BPH#Gcm1yd-TbKSt;p?C3r3y}ZOb_r?ECQrGXe4MQ6tJYQGcYq=y!H2 zvM|?b_2MX*Zj33QtrlU&C5Mi;HqNfzR7uev`BZGCl9=p+l|X-=9q~qvu}L_`5-O(A z{XQivf^2z$CPb-rnix2EBjgo;CMb8)3UY0*Ysq~5{En}mQ(SqO$85$y&~`DOQLcoB+UQ_v63sC) zewy&oo|z1(`{t0pBM8i>T(?aS+M4XIg0+$hJ&?{jQNW-@XC}DEu$lCJgUPdFu}Q9w zXT|nCH`h|I{rkb{@4KwF*na%h8tFYA@Pk}lMDO!}Glq)pPxRNaIlnns>5Fhhwh^hQ z`C=7`rD|h)AJAEiQvlOen5Hg=TkoH}|(s z88guDw8K@AA8CX(o?8;zjuV&wEv~Nt5Pzu?=K;HqIIMjh5YN$XTI7_2a@2h~e{ z*-9wY+~5pqBfwpq0?h{6kLNwNGfbCFFv&tiPo>y326>)+ZAg`4p;Uu8CTSMXQlSW^ zasQx)p^x`uT09s&B*e<%n_d_}rUqp(5`M-3U}lkI+zTFfkcbhjalk$0iww z#Ynxxs`ug>!ata-ochEaD3i)%wPxffFn#0YFt-R$V7t+hQhhj06iYHI9WALT*{wrN z_hCO58X;=1!6ah+R%Wv~>olr>R8|6V4*Lr4GA!$XMq)LwN6_&`su%J?M^8y3F_M4z z9rCH+KPk3+kBV#dV0YYA!A3ROtClEeXWbJyb??yC%c~exnn-?bBk5A1p3YE~8kWkNu@$+A4T>Q6@qkHOQ zN|dE!4Z6F{J_RTrHfn0m7u0E~0V*u8bKZ|O{@J~0 zzSO0NZ2vfh_P2c8amEX_9T6V_+7dDU?ZEe!+(BX4$rpB8T=?#I9n+Kmr4`usX3Q0* zsVYbU6rfZF=(Uout@8YFGdYIJ{Wvisr*Yj|$!FeE!w>^3>rqM>y63 zvD?d{k0g}AWC#N&y)8-t3{hId@C}LVX6h!g?PlUIgb~VoCpJ`|pVgeg`e$dkndD^G z;DD(Ab8c8Pu&+{nkv?~d2~h66>u)3{%oj#@!8-=klmW6Qn9ND83=1=2$i)BBaJXkA hYQ7@;&$HadiZ^|NpN=W$zx?7q%qNRS@!^Hye*i}iX8r&G literal 0 HcmV?d00001 diff --git a/assets/images/community/2dfire-logo.jpg b/assets/images/community/2dfire-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a5ba597cc0ce5218d631d67c21483b18eb1ba92 GIT binary patch literal 12185 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 ZBFs%WAR3E6zj^^fML|=(PS*1M{{aBN)FS`@ literal 0 HcmV?d00001 diff --git a/assets/images/community/china-telecom-logo.png b/assets/images/community/china-telecom-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4001d2329186db4cd0d820db5c3e139c2b34a9 GIT binary patch literal 9254 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

3Fu0C6J{!3*(7BGq_l5F^|bZh>W`TeWHx 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 XAArEtRX@{5nHa<1rV*k>$073HTg__8 literal 0 HcmV?d00001 diff --git a/assets/images/community/media-logo.jpg b/assets/images/community/media-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8e17324191950bded35f41f70c40af9270c325b GIT binary patch literal 6222 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 literal 0 HcmV?d00001 diff --git a/assets/images/community/yunpan-logo.png b/assets/images/community/yunpan-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d374780bdec625d19b2dc1a9931ed4a0d216cd5e GIT binary patch literal 2819 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 Taxi26a|f_6u|d@sUylD5VXA19 literal 0 HcmV?d00001 diff --git a/assets/images/rmq-customizable-feature.png b/assets/images/rmq-customizable-feature.png new file mode 100644 index 0000000000000000000000000000000000000000..a28ab0d15c27288546f065b9e31bc8a429022d13 GIT binary patch literal 12547 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 Z{sBXT_&W&QbkqO<002ovPDHLkV1gb=r9A)u literal 0 HcmV?d00001 diff --git a/assets/images/rmq-free-feature.png b/assets/images/rmq-free-feature.png new file mode 100644 index 0000000000000000000000000000000000000000..630fef62c268f110bb4dcdb74e480151700ddb94 GIT binary patch literal 16852 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 T`6IBo00000NkvXXu0mjf*>JkQ literal 0 HcmV?d00001 diff --git a/assets/images/rmq-home-page.jpg b/assets/images/rmq-home-page.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76c9d1d84b49a7b4d0cfdde9914a5ce0c8f8c363 GIT binary patch literal 31487 zcma%jXFyZg+U`n7G=L>QMr@-Ah7uJNL>NcW5JU-xVAL5Euwj9bh`pdl!00G82oV%4 z5efE&7>WvZ!8QUmh>9X&MXVr3;65wpIrDw@{%-RzoTug|a zoDjchghVy9=!ufFVX;_jRvR|EjcFTv%sFk^aLn78nVFlJwd1xkZrpYqI&wR9XlG@` z<5^jC@7Aqb_n!aR7;W3OZQrhaXD+vM*Iz7t>H41w|Gx(<7l;Li*{+S)gkeFL77P;$ zM$09VM;ONKzlstDlV!sG-zT9S(}YWyOoj=IX+p0WpRmALet%2uJQpj0jd-ea;BAek z1tDzQ#9+7Hg8TY2ECl>{&Rp@BX`b@~V-uN{HX6(ST>ZiNwiPjC^1nd|eUnPh68M8Yewk1G?=hY-liXI|1e2(hft|!02H}rka5%js8UX{p#S$)8Dd2D<+;|(w zuSIOOgUHv+%*-avxGBuch(kPKQ-T`0Gj42e!ee#8^K=|Om z;IJh`!enw4N|up4xbPB`gA>fC{Ayk&qGb~;(P)@zV$K8E43IMW!2rLQ_)5%dxx|dY z<`V~Ckue;I>_p-f3MP}y#Ws%5;wL}Z+dr}YcsgL6n zfo2RJnPS2k9tcnen=!!Xe=EQxFhA)_SPa?tIKtsDI2y6IH$d8lvEGGgz!K35kOf8!$@)SG3MgmW<$P9!v!|`~l^gJ#-`p>4|(G`kMXF z;0K5hNpy4IJ5aM|xJKyGLjvOa^4@e~IR{^X7A#h$E#be5ZPqcK1}l9yoZ|=y#2SOs zzN?E@8w%UM7f=`}S|JN($9779sd#WSVN*aE9Zl)BvLFgL2KIxM%*11lKOiRd76}|S zO!RWIiXS`mmtNQQT#B<0D_N8ar{mZ=iSY zDNK=^x?j!vv<_UD@KE`K2w;shWK%+d%{i|tHGnZw0i*$H$cKd8stpTvV}X-`sbDe0 zM#Z?TjF@B`i*jsxW-&m<pqG;x95@$W7S3beU$v6$}lybHE6Vi>*TX!WFGQE zQHqV4hX~|p9b92bEs7a21{)o_y{_}q0U7O;bbV7%+;?B!{{>Nwd1)b^I~o};(6N)?!NGs z9O5#+2l>^046@aYmDlH)a+NL!L$2c2duFJrTIw)pi4-h@y}%Ta2F?oTKc3HHCbSk6 z4X!~?4bCE1ET)S&W?|oY6EZ_XBt1P`I2rFkRtwt%q#{dwYZD9G-Wo7_8BjFR^5Y$$ zguB*90=y3%^M{`VaTv#ElT*I!d2lMIxdsL@NFcQKWO#~c{Y8`-j}#ihk&yAWP?s>7 zCcOnjl63o<8IkWPG+BF6ij8+qDZzu=k86&X%F#B?xN9Zd(4=2!IT1 zfxy9iHQ6dfAV&=KM031FzEG5fy&AC(wa4=*hD2sa+ah3@m`M~eCaR;a7#j0!E^v!E zW*tKd*d#q`<>zmGJjsv_LdAy9eq3dnJ~eU3$_FZB9OW+zKBvRXrw6*w>Z}x)5+W#{ zs>y)I6fk9p-yiJr~| z#m?vG;QG|;lYLI$CMLbO$MJeK9G6#KQxHzX+bv=V*Fwzw@Y^V3$06ay@%gOZ4{N}P ziF~Scos=~R&J8r9$pI{p{HU(u`6351vIou%gjHxE;*w5K6wxjAvJ15vmB4#BG}c#^ zDhk*+X{Zt!4e4N(*fB%Wm(%td`xj3i#^+wQl@r7W<`0N+WF@i067gO#lW0H=I;ypP z<9J%62cQ{6OAWWuNIfVf8DaEZjyWk#`zEZX^8S+Cz&xM@~EWpY3&kT4BFCPj9^D%^HH++98=N$R^{ zCFyFdsb?7Sl+gevnrJ9tW8ereY>CpvU{))MhJR3ObB<%CkXTGZHbc^42^n`5$9rdR z`fRHaJmQsbyxQJsdwWa*8M?gMSWSTCVulzsz!W7zf?$~G;BSV(h}3_)YZwjQNxwJ% zURsgAiCBwF#p8jik`S6alzekQlE~teOf;1mKs#N@OccX#i+2WUgyvrAYQf8;mkw|( z&-7B)2|AIEJC-N1Y+}t|5+r*f;MgDmGr3G|J-fH;E=gcJ%G4zYpHnkVd1`2)g10oZ z)F2;07jWe;7#wdV!jA#aX}U~c_yYNC!sAgp4^DZ&9=xmdX3sM5DRwI!W6%^%wBfXppvO^#MWfMasc&0vbwa_nIJ4 zYuUXSTNS(mzO=|AgQ3USn1I07N2OyDyh=ceN z@WkpbllM+lSdwQ)r<0{U&MDVPkPtquLm*9<0l$bjKE)hK98xVp`8ey{aTG5MKSX|$ z{E-!rn`kG`RD&1Q0p{n%diORXd_ser$TV8SD{aEj;}Ql>Y`OE$TMnPYS^4@CU$FP( zh;^_DkNa`xe2zDq;05#vA@mv=P6HGl?T z{DnpdAVM9deJulfsK3@nES3RA2Ts1+&tx!yUzjq8TQujqPrEo~!t>vXycMu1T!G$> z%LVRX!aL^o+Oda4-_!&tXM5v z$6#Czt`>@U2}+maO86Z77z~0`%NOvL2H&Poq}q*{$#oF@1@&4hGi-^@LyR22HWRZZ zjAL4e*Z2|?8R`g_AL=Su_MBg8S<7pdJi{F2PbU-gY3oM|&`Im0}o_OQEaa5k8B-m?rLxej0fLmT@@X3n!pR zcs?%B@JwzrzQXW@jaFdi>|7y-{5I#Dl23*Uw$j!dn~*YtC%KBctOO0(5Ww1jEh*h9 z@*fYNf*oW)Z38>4jF|CRsL_IHp1!avx@-og6PKypjogGJEu{Z zp~6Yg1EwEVcdD4*{RxkmVRONRuVg9UNLWq@xG{K(vxsIq)sV;#?1;rlT3@rk37yu! z!hkgOrQ{MD@MOh`6(mrm)M(;ukVjYo!fu=Qh)nAK;rfJ4J4eJ42bYy7GaK4%OEOPt z<0D?N^NALx-ZOm1NC>T1d=V_jq>;jn9qB7k@_3yNAk$#{j>@HVM5qi8G#5iNAd}7G z@#Bf&m);7<$e|IU02c6Y0-w|mhJao|7q33(25X~tj$I>=U!hz~@D#f_7w*#iSRk-%{lVgg=p8pqR2 z3!5ks8H|@vyVk~g*~i|B+Bub{;eP1rSZu>JX=}UeLI&E08MM`ta8JCMJj+)W$3)Sm zFfrC6Bp;4u1z(F)U@P(ogsqtj->|!=ASGg=IpsNn5k_ROUHC{ygvAcivIHt_A_sv? zV5-+Ec4>(cUP?GOo{AbcPayU01eSgqCF9Oam&I z$QzQlgf6TJUiR&lnQ1f%OX>l1JQ6@r$s(i^i!fN}0`Yo@0%1)AWmB~z1G$nJ2T}@V zsz}Us9Y=U^YDA03+?SzZs!K97+H5axXvS`PqBIKmhu~p|M%cgv5K(+%fs>CJ!xND9 z;WA-Q?4V?<4`V7@Og8YvOhh;z+AVs3fgcQj88ys6DGs8kg|5`(#4HRW1Y@<-ddl~U ze4~E7dcYT|aM5RSI0zSCXwk0okdD1BDJ;Y+O*{(_CR|Ga5)C3>Y37sRz(lsRN#~2q z#R3N5vm~20fE`1{9nNNJSQdn&??-`EAaSz@x+WwvEvko_H@p%`RFr@{7&&{cD7LtXYOZWBbE;J$HRC^fejOI zgk56C(J2nVkc;As4n#rWY{u}GWyUZ0Rji=^Me_0COg+E)M)B&YYqt!z1k5qSEWTN9 zo&+WlgBuHKawMS6!CV~E!PMMLM9=dS+zOd`Tr6@nP+{hY762v`(;+-24Z=$NZFK;# zxy^0JSRzx`c_@fROS<%*v369#+ELs1d_JOsi@+f)+@YKxL7Ku82a~{U3Pll+fdXY2 z+xr}oo@>vi+1i0kvI&@hCF&JQEXmx|?V$Q#Z)ocv=!7Wo?U){wK$h>AwPoRh^A{uu z1YQTs`Lx`C4+2Y5+=-GFs5mHIM!x}k3dI@$2KoX|+)mIv5j4NqZ2B9+t2ngc95V?l zcyhca@WE6Ar!d~o?O8lUVqn1P-VzXQ%4oo6Tfc+@yVL){47$qw(;lv<( z8->EAQyi2sQyXUi#*CvrAbg}yKFt^!uGTfI#8Z}>=*?5ZFo9-jU_-$kvSmjrD`p(G zm>DnTAP?+s^G6pIGA~gCY7i2`T^J08nHhRt_<)Y66|oW)#|(Bh@j)376Xsnw9LX&9 zFPh5;-vM@UmBej@yWetXi1RkT9@Hn=;qxwZPRmS{(N zsfn4n+!r$>*@|KnCy*-!0fCCiq#+0NV}k&+m$MWwW5pc8gz$WD;h2phNb~3i95n03 zjDz}XD0Mn26^L2rN;GQ-?~BKlv3D>US3en|AX-s|u2j<{kR`CeNQ!zLIRk-D2U%hX zppE33AeQ529x+0fHj&0!$B`&F92D{uJKLVXO$y$J z-++V6n>0<*e1P7bBkAG-000vt3~7$q3xMN@Gnitw0+{9yvIo=FT&_tNi)a9-44|#l zmNkh-=bFV1A`N0#$%n#>(W^5ah^nF#W|%Rv?+g_)H+2<>X;~t?lE31Hqjs?|_AsM1 z;R_gMVhA8+5E&Z1PJ-bqn%x4&k>fC^NeNPP9Euj~K**SJyfrM~9KAY90TU6-xV^Y5 zt~s!Vj2>I0L2*D*qOw8@FdE@ALjg=+Yz)c3T%(}!3B36ktaTCx8c!Sy9HEkud=c~6 zupP<)$OQ&YVsNz@%7@O7qW5f@cQ1;-A|^#2hIH(22G^lO;Zve)4AA&A<0$Y^YmEIB z(QuVQ9@oJ~2W>IALGPi%+5{tll`K-S*PDe> zwT92;1Ms7#Kr9z>0A}a;KRgPjAt`gK%x@kZLKTK;(!8!i1v!tdTvvq_7Dk=SoTG^ z64Sz^!F(N*&d@ffj3JYYQn+?-oz60E3YP3xX z@Rkg36RSZlM}ifSI0ci@iCctm1uCwR4GvlsvH_YgiA4yVuf|sdjQ=O(pO9N__9wO; z9+B5*$E$sI^iIX{8Hcu9+W3dZ_}~5%VkHG zJnYhY-}^c1)~$QHLtcIK-mqT_gFo)xwtM~KBeO2g`K2Q5Qo!^RF-vMc47T|G@Q};> zXG?!wKKi~xOwagl&Rf1*EorvvSMzwvyUc0#SA2-CUjN{XNPooc@^l-w%tW{EBb+zJ z>@+aQYUjGf)T^EEugw1t@}^+4$LeF7Yvjw$ES~Y{Rs1!1hk-LPul(*Pw=Sx8 z{-@Ia*e{OZ+4V!qtlSRn{O!!ZDc6q<&b^uR6whyC|u?MIV0 zHI_5U&i0Rk17f0N-}f|SPdX8HYSu{~!<*t46*B~!5uM9#{yP7Aki;T+bMCXc5{~3m z(m$t`?R|41t?^#+^R9=yQzi!tt(euk`07mgo5m%Fx(}YR>sEMU$>w*1=g0rDB+{wE zW|p09p2y*=0~H4^?%bgpb1?ateNWx3Rd=6m*}377)u$7FH#%)Sm1d|oJnzuaMz`Af z%RQY>q+LJddPsLB=iz0$e!p&f9CG05WaoqTo^|VZ$mUx3u-UkNvc$^%;HBILSN#_{ zoNXMPNtIt)Im>xt)PUtnmZ)c6TC{Dwqx9&u1!KF9goQ#~DxXth4@fMkUNETpy8P5f zR|Pn6qpTihhh87>YtKLLJl8dhl`f)CL zLJNsm@!-|fijM+F_xZ?GsPvMk~@#Mzno`04!r(bby?)Cbrb|YXg z^n_n==YWt71Ap-zyTl!pK!Z1vR7i!Y<#F0ehLmU z9-G~Md+;pu{=%}*GW(3ryOPS<9#sBuqA__}T%%pgtmyyf@ss6$OhXmyky@3V7=NO9 z$jzy`>9b}xSkoZ7+8E$J$E}agv9D)duW(pVFxz(D$vekHTeiGE5_Nu1aq;rn9-Y5_ zU$xjH+vAJJi~Os)>RBfS9kJKFD7f@IyM87oXxZLZdDr&o{?6ZbreT+%$D3XHUDtOU z(f3`|HFBRc-u6f{~ou7$8SMt8n?_jPp7 zx?_70bX#VfaFLyu5c=}ltlh`H_N8iU*?arS&?}clZM`Jf40&&Sx(oZ(IB&`Nu=(Q% zOOelOs+voAIn_n)a2d9p`t@OP;*zRdpTi?I$3&++56L;&#pXn}d&LtRRb~3Ws zy}x9E%=Cu;5f9zbKGI2loL)$Ey}rEXoZTbfzF`^DRedIOMh4#7#r?3=j=PKjVXe!* zzA>3?hA~HbwO;wxF@u5gEhK20Zde0+C9(-CIUqv(_pm%WW$x|D6`ly<*k zu;ux6kyq=29OJzLpWn@EAGGhz-ygl~IKCMk2~Fdi4~?Ah`?xoskB;mhk7^mgg)GI5+>(SlNKuf6&-@!gzrXLrjy zn)p^-e&m#Y zYDJ+}qpj%OLxbqmyc)+t)6-Prmx~;OlFA)+nfuKuZg9L1qzgE(;p<0_prQ4ft@BP< zWF)+a44Hp;^MTm%b}RnQKAL;5jq5h9*V~}W8Ems$Fv)nEPO z{rL~qdAe0hy|K=3p^aH0^N)u`ae3W?wy(C4-&yA}e_CN{-(kWSCTJngPPdR3JDd6x zddfZ=Sn1K!Ufa)7t?jp|aO@PmwqJ?$#_h#xKJ0qk^VUN4kX`TlB~Hnhd+1z)*UX!v z*=37tGxWRn6eXwhbm@8Ve4%toM_*ZrYo4~u7h_KPa?ZHR(~6cIEbwX}MO$B`6gq$Y zdsxoi%TJFy^m^2z;%HE1!b=ZcuJ*mdik^v8?Q3#IPj`JbrjhLwzUX0yyZe=pKY3^R zR2}e@)u^>jGWq2jL3OXcr2AZzs1XVj)M_RDPXOb9RkXxh<~@l?M2{|KoS`JL0=6fJ_xRk9Rs zdj3rN{4dWBR_$*0JU%#BR<)azSM}bh>yEht!WKlm@(o$}(5r_bTDd|n-!DG6RDGt~ z2HY0H(}G5dHILFNZKd)|-ODe@f~es)yG@}n_7X^t7Z zBW}HSk=7}7%&~<}d{3@whc?p9B%J;uR2Nej&Wv<^vlJcCEQr z(r13h&%19>wq9>}S|^Lim&U=A>H_bDi-Kiu@EHZ(ljIz1E{^>4pRO3s!_R z@0{b+?RL7{+L~8j`GbtnNJe7V&0j2gqjgH#klr}%*{TIkdf$?48h@Z&z#ZT4Z}aN! zuc|mS`snmGZ{D1nlF{ttzjsVhlw+ky#pGi=YU+i4N0B_J(em*&{3k_YMiDJsS+Hzy zT0A}5I7zgqy}tIS^lrRt_olSJ$@e9)6t7pWUMp>bcOBX+PPY+y-_B}gTD+W@zv|eg z*5^U*44-|$NHm3K)cj>1O3n#iMxO6$hQnc;Q9Fk}KEm7g32P-@!P7}8iU#F5IG2d`5aBIJw|>wlm@COG)5sZyBqJv*p;9^ZW;uV!hw zT6-~U<=^A=UO}BSkwXXCsP`Vpi`u(2;v4emWs$F|Z^7`-)P_2DrF!CI@h=)VVog+od2#`a;GV5#;H z?IjWyMgaCb=4EbwGMDB>5M3a9x^e>Mks$frWl^G=U#Sk-u2Tb69hwy)4vO;V|KR(3 zGNf_)JQyf=Y|4@Wkx^!X-u04)t9LGVDNAv8w{~CS3kQqlt*KGx<%iS9jWqtXo9}l) zDR7D2u=-@piGsWs8+C5(!?&TI?wfpE*m}Ed#I}Z*`CnSd!iUjU#zmCO_uFvk%;5B@ zSEELaqSP9XTy8b1Xr(KVjv@HK*zdnGxvMv(4$b(zpz7W1u$4Qm&)qQdW>WuL>kd~R zV;Vup-)48{=__B^*O|&G!;n8fr|R{YLF?$_pphDzZ6xKUFDj+(iQ?co9``u zmAg=Jzvf9PfaH`v#dKgmABu{frtPO_B}Un-Hx{G$QV(}dY5JF6;@@454=#&%881`o zD+NEE*mOCn{lC3(`QwU%>VmF6f)(gI_SDMK*eqxrWUNB1iQt{W>skKWBCmb?hXqG|8+P&8?8MT>P1L~ob?Z>ssuoV38+Cum z6bZV3dD;uiD0BUD(=|@v^S=*uS=Q}IIFMwtXBA4__FZcBt`_v*Sl)^0O%{Lod zAFf@Qa4jl|9*&HCy8L^J?yyW9dFhP#m4Z%HsA!j+Qe{Xyt&Y8X`SPbX8(Py@+3upi z4Kv1!>UMQ#x>{?Iw9wr;H~-w3&Q>@NtT@cNq!_ z8jo>s=y@Cj%ihm*>bF()$|xSK*YlbZeS<|K-7CIDb^jXRJKKjfHt&7AKVSAJe4BN> z-)Q&HN5}5|dB3E6MM32H????09Q~23>cd>X>C7ZqivLZN;{v;szke{LH>~-A%Q2g# zG_Ajx>??b6@oCTcZyo<>`*iKKkSTXh9IW~1>icj+gI&}0l=5Z#sq70W=JcTyUS95* zC>h!XT4w)C@n1(FtqArzsMcOcu@(94x3;~S9+1>bw%$$p+@tL6ih$$g%^eC)T7GFi zI7f59A#a+mtop&>xLb$6bfXk&{#mv5?sbi}#P9OMnk#E+JG?PkXARBp|7A0O(Zk6D zsoxN7n!Xz{oP4M787*WLgPtii-nWbl5}epIuh$KGff-KrV^(e2vSfH(yQt+Gj-?N> zyVbW9?E>fDmTo}9U^HBawKXy$?OZ@Q#nw8Jcz+eoITuA_RW%SFgXiEj3fXvE4g+qMg9>d~2j5gDf9-S>$)&UvfK{HYO13781v2 zs&i}7I{F@)FU*_&q61P*iF3zMtf~l$ffNY% zo)!+#vLA-Ipw{-3U%$KK(C*2ucIza6?dVk6HM-ZpBk?`XS`QDtFmIacD8!hZed3ML zjwL^1UR}VX)IzK`ATOOenf}E>=oe{IQ@3h$;e!@paa_N$S=Gw-;{hdB%wG!Kd+wFm|V4A>F= zBw@|DR&&_dZM|#%@UvIw=ar@lmsZE9x+iwI_V}GwO}7}yXrX)a2b0TQzbr!o*i>hzG8JE%=Jgd*L!_4OsQIQ!I^=;GYi~ zPyTDSc#2cOKp5U{P4Ob!hf3Vp<5J_96f^mse^93&+f=>GZyj|k6C-vOnYEs#ZN`tW z2yR2sOxtkrOz$ZJe!|fKhMdY46VWGd9`)Yl=H~gU9<< zzEe!#z14oz3;*_`NsjU!^XK)2x9y8tu&#WIDn-FO=AA>BGpUqX(Mon}Rj#V+l^@xo z(fh;ev&nB?#oj7-Dy+^lN+#GGV@yz1R#rbAxt8+sdi8p@s_~mvoT-k#*IHv-zit$v!`CB3f>dU4`f(3j#x=1IFw|JrX!Ojn~->Al8A z%ecR@-FGr=#n75<#}E_a*pNTH@f|7f=2Pb(^ioRTAYc9deIE4^rF0F#P&8V4`oWj5 zdK|W)ek^ZS`KJ`|XyPe&|upd3SZ=^4J8+iL&3i67K&UKI6-Jg~(@AP1m&v!%X)Klv; z!?y)JTW6U5{q?_pM#a^YNi$2s?F(8+3n|5+zfd18Op*%qa$W1sCFAdiWaGE2>%{G% zTo)u;GNMeL@gS>wn$nWPvMMylTZq1eRM)zt`Dc{*do*CWwM?2_Djfo975>>tKdI?m zq&ZoU@+|q;EU9CbLar;4Cs(9qxuu0WT~79!DrAaD8Xm3%xtN-pc4_{ZW%8Ju%BG5N zol1HJWK#Wg75|kkN2ia>QS0==Y<)z9UY_l!)7?Gks+SIR)Ll2_tJ*%5DjfVrz@G;dQacbll9*8ue#%xgLCR7s`M$nc zA4v(Gmb+HapQd_43rX`AR!D~#%7q|P>Tjo)3X}d9Js1>JrS|dzcBS$o5y=lYEY+&) zkV5F$tdIEy9m6w|!V3#4qd&>BRdQj$KTY4H!Zdj{2$f2ODydPtaLAJZ9%=H7tZT7DmQg7{uJs2* zaf97GeY46xGxd#JsNwqbqUMRwL9jx&GfSRbA%}2Us%8s$^sYkcs*+}>w2)!+dkaxX z-75S+%}!4RwM&xQ8LbxiEgbj}?y3wA=O;+J)zurCatzdPK#9D*EId2aUzigTLs^xD z+a-mALOq0mJ({U-R4g5pRi2@eey4osxg>zJa)MaJ^sJ12VQ9=T#DHdVab~JC6COyF zdo&oL3n#j!QDcK3ya8~?p-R0zvKh*>{%g|dPeC*l;1n5I@Sx`b;^SGld?}?DT?iR# zGn4#*;mlO|KuS-aohGHuQ%NBT$k~-j3+u~mbs%qa5DZYdVkJ8N=z<5ElahT$>g5Gg zuxLQ8u3rA`Co$Ku<b?xxj zzd_&Btgo-|chu|aa{PhbO!_0YZ!pMn@B<|3prT%WQhr2tQ&$So#lk{;M!jARTT=hI zrqA8uFbZwG1_ zfL@_K`Uk~#75>7caCvID8wi(5b>bt>MGsnzR@=uZ~JFYJ)95 zQ>UK={Nw-zpY(33@XR!6CbS2@fEA!eg_sG?t_aUglJX_~U@{Q-=eB3tn1XW&=8djp zkuf^M^CW*)y{w!FGgCu^N&c`0HQ5Zk-i{Ira4VJC<`|ZgNwc9-ntyewe<6IJG9@uB zB;=is!pgG^;C*gwn%=I|e`T`%h(0{CLO3a$53jnWNj;E4bM%o7m2=ai87f0{TDTja zi{zpQw1o|DM%f(rB=NMc31nABWT+Ud+U#{qD|o5Yzu+D;%h9`fs)|W_*Hk%j7Im1s zurl&wi8 zvhsDi$5R%SPIS~6dNs6=2!b^)q+?UHrDY3=OqJW+ed{J^>STOOk_ir)K)c-Z+oPmQUL=n9D*WN z!#F@@OnzlF5~sZI;=)2{h-t=#m@4WCxF{T7+rLdtUtnQ3!k zBGlb%v$+fbt@0VANN9iQ<;B_XLuycTJ;+to7M_4|K@9U5MErN~5h zx+c{>Llq=%(AVj%14T3x>c4huHq?F)Cisnf=OdIivzR`t1hLD+$5W=K86pdxsC=^Y z5m|l_848YYAUs)MNLVUAyX9uAF!_R2xKI@klLKmgKd8Z_G4++-rG)9(_MMMCqEydy zf0$s(N+iRWqUff3`XKL=NL$FDAU>=k5Tw2`!A&}>-hYGqcy*bS)(@S&u3!b+N~No$ zrA9%7mY(+SJWW6jCn_WB^;H}pbH>d`eN1FwKnppglFF4_j!7-dRM$|+$dU_F`PZb6 zbQSXK)Bt2*)DRT&J;5)G z6=$bM^dWiNpQ{QNdg?A9Nvp!;rGDrN>I(F7-Ax6jlFF#JG=+SI=;C3uIh9Ch@^gdF z`LuZqQx_WKD5$YQl_%faSSAd$r*hoN!ut-_l_tS<@;aTdGEkp9&dcT|;%@MvflsWQ}_ z44PFIbLy&r_Iz>_Yt&txAyQ{R1^6!QrZRP7%A}6Xjb|I0ulW$J)ruzAu9aRP>O!{u z554^KT)ljtt};dy60>?rcG{zyLPH%y0@7XpH-_lKN-7<#Wpxc-6HNK-4lPFF(XZC+vDlL(oeDK7Yjq8oD*fDS-NfE8@+7Hiy&kTW>mE5i)*mY{ zwAb~L7xkiUM$LkI8Vn%Vl=D7;VJ~lJh_nilf0OF!ANx75xWm)x8Y&~3n=?~N=Nw7) zo7+OBfE*g125Pj*xjB{n3eFK9;dgN_VA?2LOffjYoaeZVZnXs@p>#zH`R1>?*X-xW zkK+u6ZROycnKoYmV78i+7Sgeq6=y2k;n@p!(nbwi?PtSBQ=!RB zmZhgY#$iBA&Ta_(u{fMXe1_q!$b#m9XqbWi5`bc>#a<_W|;)z-htE|Vv36LxXT zR+r7GN%Pl2Z@AR3BZj3Q-{S~LSgJS45u!X;L@>=GYL7MF?B7wXfQ)VhQYqihc6S{b z3P@InyrQp9m7*H-Cpv}Yij@`N8M<&?5no4yJETG+bFL>p!H1vJS2Zyrxq7>hOYGlF z8x~zJcWee@T!aYN_m49EBYQoe6OAcTixv#zw0yXI#WhcWwhRBBF3535Ik(fgwb8hw*XC#F6 zTIDHBly*`OHwA;0BrNrd$oi)t+^tMHBsDU7l%irSi|_{5Zh8(N5^r{jtUopcsr7#($*e|9N4weSodw>Snr z$U$h?rm_|!k!p-^Y|I;&GABZ%@0(0aSqY#>_zDi+QjEndNbm12B}j#vnpv!*6}58^ zG2y}_Iokj13Tb8%OCjc4w#y1~91L(8pd0RZJQJ^7Z>NINuBY5uh}uUwJi9_yo1rElCnK7eh+{7v*B z`S(vvh&6w#wus2OE}q)oQ;1B8P}9rrH_q5?c)Jt^DPpa+P4<;%O_auDq)9XNa>MLe zE$zq}Vq#EcvQvYw4phvtfP77e6pE3$uzO=?CI>mNnoc65k5}>&E0jyYB^Kgjv^T@*@kux8CqQ zO&UYxrxi!R;Kxb%*%A!7BI52R^|X-G z6<(0`P4?@X5D8F&U}a80brL=LE*4t)@VN{dW;g%r-L=^jm6>VC97qb$xN~k&xSh(c z_Vf&}C)Zr7;{5h?k>UxB#RWRy%P_AALs~o0O;bEb4=n9)spEzGB z?H^TowCHn7fK{RJe7)2*s{%_&M`^h3l^BUN6&h-FK3yW~uM5$!R@TCN{otk0!hfoz z!z{%@!eMcJs>ACmCeGGJ_{m-M{$~q=+&o#Ug~`*ZsZC4{>-?}75>~IQ&5{C3Zb=5Y zTz7qjs!3OgO#a+}zM{DH2)zYWpDCriy2@0j@?@FV>thN`Gs;+&!-era{B@?RI1UW( zft3g~BbyB?Q<}>okXtLHa-H8amnQhGUO#svrBrNK3P}}6O$@>m;}2?C37&ivnheIa zHrq(jR2{NY!e~QGj-l=x9TCM880y@bF?Zp2Bv~)dvNYw#WKF4S4w^fnHX`q#WsLq) z5gunL81^x@ESYYGw^}qxZB)Z`6HHm<4k%i*&;96A3DiQudi|{0bIMmosz=e{0O11|aZg!ia;1SR~FJ z6m@zu4;U=!g?fVkVS={GN5tp0&k8h!*aj&qNK=ozp|Y^>pQJ)m9+DvLhWdcyC|kx? zc#=3D7FUWt-607vbd(CEV;aiCV*(y}N`i!{3R7zA1k+xa|FADa#DQmnzA$M@QlU`6 z;48#~Ri=Ev%yK^866x6o-WICFm7xf)$Q+=Q3RhoeSoQ7t4Alh=%aTLTsVaPW<&?@# z(W@xi(G7BlCoiaG;<^>meS$$jvI|&D4x+DDWPy;l;U2xb*$`2NfkIHwQq@GqEL0Us zDQP1W63?EPx7i1?!|;Y##*Ecax$?BXqt3^zwAdA6;$&1tRe*{kv=sM5X=uW%EtfbYbVZ)uA8t#8>FDpt^01;gAQ z6zLQ7dPHR9Ov4I!eOgR&B`O4LwjSO_Q=C&732QesqsUe$#Kc$6k7KB00bfCq5MsFm z3LDp2WA>5T$qH{>FZDf~*|)@{N-suBp!?f&>ffmocg==1m$i3Jm8$c@{o+Fwo;SX;52r7hjMK9h zQrtH!4jC8e?KC&Yshd;yg2!uJHq|^mu`x8XTer>+9)P5q^NFgbGiN$ab9tGUKJ#+P z@Xw_wl9`vCW^I0s_j)|7Xt88jpHvzB>u|hQbXs4R{{GeC(yE#ie~0VwE}O7qC0E<6 zo5TADSJ%F$^yud1ylK|(d;R7@%;DO+bnD0xMRF%*-=6Kxi{JUV$=obqM zjP`Z1H?tZg_zhN??`#^6S^m0ItWR)qqAx(Js#16nxmY6RP(IISlZ_Go-a=%0j^fC}_68g64mXtyp4c8x9ZQ`+?n4tBJ5 z&2UcYH-@0Q+!M9=cTU+a_~Vr>SY_C;I! ziyr1`2dD60z$>@{dEj(tNVysjigl{5M&;&@<(`~((vQB$5G|}Uj}KldGA=K}3uzGC zw=mCdKV^?Et*>{r{W{^BUpjWUkNPUbsgYh*XTBI@et5%2=bQado<%L>AY!@0*e5OI zf!pTB_LOz*vUjp7Amqmel|z4E+&x2S^VCmy>5`pHJt}>=$Zzx4+tICMkDU>3tuDf=lx@nsur1`9Irv5HHoP8b zUCjft53Zs%!jg)A35J(o#eOQa_Wcw5!N@B!D*SxkF`ZRzmBPQ>!{5GW81z@p-Ma7V zh3VzI;fatVbne@F|DAt4{XxcJ&o2c&%5wW-1LEdmiCwO2bA{W@M|sg}=SGSA63?jj zhW=}t9(CnxxAIjZZ%4-sdwT41z^W}v?tdF^H#;%+MyUrJj;-960@>MxTISLewR4$icyWPHyG3p!cb8Wp0({CU|G`G%PiDDocoM|rRPyX$RmZRFYNs{wvV zud~g9)!Oq9k44rSX^mMnDYfZnP5Gke`<`d$*CS|#;+OQ;Y!7f8#)}YT# zDNm|HP`_1|+g!O)v?*H^nf6-jbW3`(y{@O<$zjuDrboIq4s05;YwT0^X3nRMS(u=0 zA;W|8(f6yh1mA}x38e(;%P$P#Mq zX(y`3I1lY?7I!7y;mB{E^Ay@R*a=IWh*)ypoWA)hroQc$*v7qz@a~u8TzB#fVLZ{q z>s?o<_0P)2m(Q~76OmZhxF)H+2ec8T;t@oI&|6Cbo0V%rG2w54*09wGRAGopYMFH+!XFU z&=}a9)&Ife?&16LSKe;;cDnGyh;E&yJ)OC>^R(#eAK%(8_|yG$WpL-nK=77JFBhLG zf(+Bv_E1bx%uGq=dh*72&rXlyII<@MZi_P?P1*l&#B28LpJ9x*=*3vIhVV$~Rn|gw zuR+(?cJpif_Y1GtPQ1)pErh$gUH|KY|ITl26LIDb_mEu|wrm|UdO(AhtRbe9w)c zU9Fd%ZXukoZIy2I>ECVCmG4rH&#Jn5{pQiQ^};;IL_gIQ`BALZceqHCWQ6`vL5Q^{ zN>Ie!!&lv|))_h`^C%>a9s4t+9?0m{*Wa*l{+A_w>968Ac75Z6A9~tg$;kBSXal!x zL#j8vT8D+zxl~T9vY?BWoTyFx);Q5#;{Aljg5SgrqXcc%Nv5wzOM7nl=kVlh{?@K# zGaE(>+HD(nlF3a@6qle z+CdIT|2+BFlgID6C!UB$N(nXfvYDIuI^u9rd0|zLLz7>X9jL$mE$ZSY>-x)yqWjzC zhVRfjnIh+)K;5``VI5X9dOAC^E^$5Qi8+pZif?Lfa}`B2;Qo@zo|YM=#IhT%5A9a1 z#LBLn@%`5m<~FbI;V&e^aQ3wO^XO?ahn;Jj&YhMXQulmQ`}Xa*s||Z2>()7Yd>G^$ z+&JZ17r#9b%XAVp7(kuQ{p4K(O7tVcuAuh!)Ej3HTj6WQ=pG zsM-s!%`hzC*zx1~_%ugF|FR#;PJo3xZ6|M-7WSSjyxRe*Cff|$eCgV7f$NRT&R5%v z3l1I|m5+F2>`h2sk?Yd#z`I>`n**htAO98h+1dVT)5fsS&W|ts^C8)Jy_e1JyU!^K zF2B5r9%oO_@li3izm^WlbS^&~u-S`(BQ(_F^uhYGQ#?N^*%pn=S!7zeRTI3fjYY1eG(FiU9uK7Hs~H| ziOr#<6-GPT?KFthD^>0RZ~sD3QEvB>!?C%s-BHH{a>>cpPW1#8<2@tsdfoPJdI^L* zvs#y^$H8#lDCh|9)W+WVaL}jw5sF-W(GVG?={b@&>o>qchZd|L9 zEfG`&S_bop)_#MrrW>hk!*U*ZL6Lr~iNIT}^T{0rs`B=x#koIJn8{MQ_atT%*#5Jz zf=w#AHUT-|3qhJj#^YX{QKs`V`p#jy0v26j<+nKB(}`Fj+=zDx0bCbRCu*R`g8a?W zHa88oPMD^O0w}ftd)g!`A(wLd2W8+1O~aOlpQly+>9w^s zss9OG+K|xtrAo*0)4Y<9lM~p0Derp8vOx}9qSdx*z;9Pu2WsH6q+cWDL zfwwml)e2Mrua9u$Z-ClK;o-m_#9=XX>>#RG zy|5T}JRA6EKV1Ny0fvhyjOs_#0LoK&JF$C4|$WYeJ8 zb8F)~4SVs+T93&c35Mt07k+0=#%i)$8Be+x*-4QDvzB46#}lVa)RGhQc$akAHl`}# z_KxNZdxjbf3-2dKCr(+;?S1{7g3>&4Cp_?Odf!>XO=daw#sz!B?hw9n5exNiT)2mb zfa`;QrkZhXQ?UuYTtyVOt;Zp7uxVHfs(jG8;ohT3;m{}>1-`G-BWf(0KFjxYw z;nLpEyLK51)4KwV77ME^L;fb$r=&_oVH`O{Cfc6Ve^%%f3`NPz$+19?Sj~B#jy)Fz z+F$9j=^8r%&KLjTruR!<(i|K}7^;yCS33&=ePycutT-&TSn%$&wdwJ^iNXzUZyykv zG!U+0Scz7(csxli31FP)CkY%?G7fbBmJcA;6sB(?W+?G)@9c|ZE*n&-)XR@erWN?V#dKRvrs z>)fKp7=guN)!L65zspmNIW%6DG&M?&|aW?uW8tbwFu67=nX(Qf)7aWopRG6UzJiGD&4RJ+4k#WH{p+%wpQ18S0r$5(lKqwtIgN~^ZE0p742<~buALp8W2c^AXxe5Ps-yysv1tKL7ChGSbV zXdtT9{=xZ63&~mr%6>X`XPtamo6oBJ?dNCQR)7hfUBb1iDl>TaW6Hu}Fgf}mfq}v5 zji^#8PAkQ^5})8~0ZA?YAn=C>eKKnx)-wrV1W-#Pm}L{gM)_kb<+Dntc0dtCUct~h zT=o`{vM^}#W`b85-xeX7thEoMc@1&b*fn2uuag+&kObamVLB+|{lW_e`)AYh)hy-M z%_b#oIrZJnj>!pugq-MwWWqC(ORJ@X!f8a-?MLKf!X+&*5d3>!i^+jfyErR_R%AUc z1wBv!0l_9f-$Me$5XxW+!OKsS9KgYRMGZL@kM(+6I^p6i*8!H*1b6{|K?|hYrUwFO z{Y_zDMEC9zTU-39>BIr5cK;ztn9IQ9DAPWutl4}epug->D&(}se+mq;?fJa@c~9RL zA&S*~xK-1Dh?E2KQE7l*l%k~k+SaG`&J5IOvr$9`dK~@8@4@RiIKU!s8DwhbY+W}D z>}5Jbbs%BKg+_;mklwWbf((+`>6WM=tMn^Gjoc%-(a6hDadMj83Z6m zSahkwL6vCG{2`qgR*i`l5pZy!_`B8IO~s;+VTl6YJ2TR;7pGG)EjI@gxNN;npT!boKgMt|7)*gI4HplM z2f>70^78Yxv{J2wc2CfZ*9&87OH+UYmx@gzpt^#?84^L9$h684%aF0ELos*=qo|w& z3b3~EqJA&B7l%E_HbHv_DR5W3=3RW+wlu}~h1;A}xh;1Hdx1hlf< z3kTEU0u`pXO#jnV%#l*E>m4E(m307CReztIwuqDU zh9x5uwn^4K`OkdnlJvXu;L!y&OK%MVrE%_`6$aia7|?M4J!FBs#zwewV;ESu^%Z+N z+u?xMRz2E!zx0eS)Ncm}kH!^XPlB64ufyj+2UHG1jh>< z>!WKtU(I`K6rdqvp~)U4S!Tu_16bJlHj`m6TF6tF_x<=EiV6o|1irHosQUX5wj9KY zPzcX2mqCbIap`p9JQdKUrny>it@4|W{Ta4!+2k<26lWe^vyfysL8a||F+F=CVAYnP zE#5MLSrIqLY6gGcjK{Tq?R0W}>|*uoWZ8+A9sVt)+NaG=;B>Sv9GF~kZ9TPaosuHz z`GI~PlC?RpPo=JYs4Kp|x-y?!WnC5c)Rm~+s` zW_F=+z^Bky1}2_8IWva_P|lSR|mNMxptAc0S$ zvQ)tTKdU5-B8Wjyrf`^5C`f~{azE}eg!)BPiTzZGDL4T^Mm}04zng2Aj%cP7VOih8 zCA4XN`6{5l%{Yll+Q$X5;Bv`vg|)ioCrzUNcyq()>f;>h!{>d$S<1{MZ!(4PMON8&@@u0=%n@@E@iTat z-aY1jl^nVJ_`$;*tqH&tp?-iNb#iVz_KfE0RD+o+x}umDrI_D}qf(4Gr~-Bwb_L4> zE(yE={6d!?6lX)!UJI|J=mbG?{jiIM!p3-6vu8M((N>Lb89pCC=Au@Ogh}NT)7EO~ z6w{3?wv8C3{T_OnsRH`cD^6`)kWTZ{DAUpzIhOMLM#6&dn5?Q{S76{{Jx<%hobTIG zWIl4K? z9xp*p6PywLY4LWfVyVin2qY!lJaXZ6j6Fla>k-J7Kf_u3e~>krG;BD;oonfD-JJF!}>nPLJ(Qj^xFa>(C_8nv8(3${|>iw?VGs&9e3>T@4gUP)}+}L z)8*5jh0D^M?~5$1u~khsmd8vkw4`L+&3fkEJy$q0f3hji#Kf7U<_(c%@VzzLFy@7O zX9txtlS^J4TavbVe@lt6F6;XB>o>$7d_p4CPCOzHLv+H8bdcvoBIzNGSI6T!wJ-*f z7Zm{k-anym;_9vx8wJ}md%H~@c^-Lg3Ns2=EB^Q5=qo94dT+o{ku_?pN!a2kr6JGf z9XsDV)Ar4Cp#Rj%Ue5~>_UH6(7f%J3y7s7>ZoxATBOSq4d+(n5Ws#C$nWw6{_0b2T ztACX)HupSy*J+m$31AA|L5J;e838)o?Rmgd(Cjq&+>XHU#eVW@S}L)_XwtrW>6 z8BGUZ46Mv)-~ev1tk#l|$T5rATYowKv^i~7rk5Pjb5{_Q7sM|dKgWyV&2A+4m(5}x z{H<}oM=qJePOfBFTwA!Z$ekmLH>K^G_mACV)_)ezsYh`IUg_S#iyTOr(PoZ8gw}ez zWQZ&pk(&w@Um~_Vc>JX?F`?l=Xzv3DBGy-qA*Jkzx(+ zXk^j)3;wj)>5b(+rQg<4&(#iv9(Vn0y{>Bd7k+6<|M`~BK`p&O-@_EF>>`fgE)w|P zjA_T~X*fSbfq21)CdV+O7k!RissRs-Ty)HMB^HmN$!>>W0^2Dt$*58OX9qAP!aaxG zs)xKrPKKf}e0nbAtrAmN8)g1k;UkiEHewfUv9Vsq`}}h4lV0AHRBN_ooT7=zVFXNi z9m6ZSo_Dk8IQ4j@Yx#RycNcMgdU|pZ>_o)kwFy!hr~%et(`0)vTl`56Mm4a5%g?EP?6#Ob znKwwD7&gvcfJjr=VdK1)|Jgb9{p!-~KR!WH*V_5-ON+|E#3yYSh_A6YY#pRJ$?sQs zqw=@aY(N->6DX>{W^vgLH39J&D6EO|YE=vjHpN-jH36)^s~2@4yVWn(5)2V-02#>Z z<8d;qjelCUu{9F_8I1RQGeqk2AdGkOrTO&(VgiNa__?x8{0XGNAtvE5H}xp*Tn(YN@E!3<9cwBW<1UB?kTz3e z^Rmaqc%EC4)x=Z#NYpIkDZfYeqyd(!owRA~5_FhoQdLxZ2GE8PD9#7pr*yqE1&khe zXVxa0O(vAc7rKzacK=dn91*E+RhN}U2sw@j@%Z{U%$vtmtv;i7n&P%n8~zk=_YiD& z=lDDK%yyM8sHF)j+3poIA7hcvPpLGrQH<2f&w{q)D-p%eKC`HPbye618||sedjE33^eP zs^uJ5^blktqc0~Y_7=kc?B8*QXxSf5&%SG7H0TQOsGbU7D}hNYE4qIr&$37APy1e*X&x>8@r(9@jcD`U45w~ zFM^8|>vXMdhaEcP8J75lwek0zh)s?u+mpo zBSfXlliDRZR$tH8OUzgt?oIDK7kPl|(~mcdcU+swKBja}A|YAfXmp_VJ3|M=8dgQz{Szp(3O3lf_O{~ASTI|fiZSeQbc$D0TBn(>PR;X3Y;k? z06+t4;=Hhf5P0a-w;~w9_akz6)GJEet$n@14%hRSg`b`AOw8ktBHU-|iaVWBdgMwA zor4k6QQwOsA4p;}5v??Drq64eMugxs&?V4-_RZikLd^0+I?OGQ;qI86^e-FuD0n9+ z(KUz(;9#n$so1+4rt`nR2EE@_!U{dK-dF9dJ%M7B#^-strW^jL>e|(X#0-_3QE+TI z)K@Xwj@NG3{Cd~R%jMJb`Qbgq+={O?J9+PH8b7nC1i!7?wzhP|FOdQ@6rE;ctd+ra zC>r;+Jxe2C6HrNqNEKR$qSgipppg7oa)n%Sk_iP(`8Z#Jk`p&)xW3%QOH>%f#R7{$ z>4oPpv?F}KIM{)Uao8J{#s?2S(`191nq}3!+TTTv=ld;+%8!kjr6P*_e3R22$^8R| zPgORDKXM%)cDr1=1?1VRF))CEq1R?7c#8^m_oB_NP6G$De}46rA%?zKJ9;a)_qn+rs)wFwkR5n=Ja=tn57 zrAp;dS*BJk)}=cIZIGFg+-*Mc_3O3K1k5Ih4KJNa7gNWU-tl&(pwq>_^ik27y5~4# z>694*5LL{UOogN_)JK?cd23xUFj*#s5EaU=7s$Gd3mzJvOJ*pI#&(x^z4Eo|k@G zN#~=i?%{#JyX)=?>^mG1Tl31>XSOEIA+I#}$<#vjrHC`u)fA)Rmyzld zfLQ)`z_%Mb?h}vKuGYe1T=T#$7Fb%A5rZV-1_yvaTw6DET#~a9*nh_@rux1RGl8;} zWbW2!LI^Gwby|}zO6UB5bkBFl} zb>lKm-rT262!$`lm=60SYA0~WH$F`f8FI=Wgp-#jW)hPfR+HbhRin>^hrstD8vY7) zpfJUWh}2FTxP+dYnnO3m!_7nO^JaBZM>s&#^2MNJndUo5A~B?C*W8G{cb&}2cX=v-3Mp50KUgl4$l>sSDhjsl z<`xbo!DR&M^yut;lH@EHdb8&yD6ShAq!_!5XRpM^!@7>QE0_rKhl;ky2D0jM$<zTk?+LG_4rHX3HgJ4 z5zu>rYuY%tUrYz?A&0nxpZPfkGE zjGc0WGNEw>ISzSC!O)mHdH6c$vo-__+g^i*8NaZchbLbI>j3-b^CwG;D-_0&4}B4L zh`ze2%gjG3IoQ;)j`^&@GCcY`dF5C>iFj{h0wI>N9cXw#O~}`4{j2G<{4x^JAIr(& z3b#)bPjD8WOH5YcQJPdV)=2?c0eXw$(3 zCZ|C^HaE1D4ZlJfSPXEp0oZX*y6?ih1VxRgqL1)U*Z)zY z7p)FW;DG%w+X4dgon#& zJhm=BxDB3;qARp8VglYe`ft2pIw-N$P25NBGcG%Hp z|8^YE4+XM;{Se)LJ1dNEj-*1WA6+9f(3*j7UeDO_`QkM1SVwaj_myey1x z)(lptf3`I&C~j>#H{L9IO3#T{_9ZLRU9n+bIFX@oRLw*Xz@(9mWazJ; z@-fown;2?a^%vcaHmw9*n)1LXa%_K==4H%h}IQkS`C3bGp|2JpAiOtjU#WCj($K0ws1Pf~o z3;;9qbxe*d&E;T6JEn=;H@7iPop%4M7%G1o>i~_U-dTuM@iPjzoV!n_E10ehPMvx* z-lwJ!@i{MvDNd}r;yw#q!IGS@Hz5lf%njeW!&dtHTy1D0j3Y>fF%q%w0I2pvhQ zwDFJ>zrl+#fw$uJv%}EN@l*F`$i*S2$6vEu@EnZeenkA|eDB1zi{?)&!s!G0F%^({ zppS5qV}E|c87Xlmk;qc`Pi!FY9E2NYK7+~HebW_+29QD8c?*}0-K$QL zXiP^O2cOsDa_BU?Xb!yslpNjx>?mHe z=#M2$z)m|1?2{dEaN7LuD=!bW9lZ$10X;TdJ_x!F?Lz}Cz|^rHJ1%0Ulip(Q4=I*r zeq|wGkOPoK3^)kk#?XXiyT=B?_BY0hl8{c|c`;RZC=?lU*AK-`|0TY^xGm;!=3~)8 zcvKC(@yiRbq_LA36g~xy8xXKFh;A!7pa5=2>acg;57resoRagiQ{ET8n+x6w)Yx=! z2uXj(1hQyQuI$v|=Xd}$!B}x9y}-*a2in|c7DD5)w;0-aJdD76F>NdkKp)9tj!nDi T{+2_fh1`oSj=2N1`Q85qZT-}e literal 0 HcmV?d00001 diff --git a/assets/images/rmq-logo.png b/assets/images/rmq-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..86fa49153b2ee69fc3e955661ebb9e366f98eb05 GIT binary patch literal 6255 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 Z{{gcNO{&(-e2M@7002ovPDHLkV1jZ=#u5Mk literal 0 HcmV?d00001 diff --git a/assets/images/rmq-model.png b/assets/images/rmq-model.png new file mode 100644 index 0000000000000000000000000000000000000000..a5eebf82141feb62a941fae4166eeb42e5f47c00 GIT binary patch literal 90694 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 literal 0 HcmV?d00001 diff --git a/assets/images/rmq-responsive-feature.png b/assets/images/rmq-responsive-feature.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f8b40146f079a78135664992ab353f814d903e GIT binary patch literal 10565 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 T*axJ200000NkvXXu0mjfoe5RJ literal 0 HcmV?d00001 diff --git a/assets/js/_main.js b/assets/js/_main.js new file mode 100644 index 0000000000..4f71a5dd03 --- /dev/null +++ b/assets/js/_main.js @@ -0,0 +1,100 @@ +/* ========================================================================== + jQuery plugin settings and other scripts + ========================================================================== */ + +$(document).ready(function(){ + + // Sticky footer + var bumpIt = function() { + $('body').css('margin-bottom', $('.page__footer').outerHeight(true)); + }, + didResize = false; + + bumpIt(); + + $(window).resize(function() { + didResize = true; + }); + setInterval(function() { + if(didResize) { + didResize = false; + bumpIt(); + } + }, 250); + + // FitVids init + $("#main").fitVids(); + + // init sticky sidebar + $(".sticky").Stickyfill(); + + var stickySideBar = function(){ + var show = $(".author__urls-wrapper button").length === 0 ? $(window).width() > 1024 : !$(".author__urls-wrapper button").is(":visible"); + // console.log("has button: " + $(".author__urls-wrapper button").length === 0); + // console.log("Window Width: " + windowWidth); + // console.log("show: " + show); + //old code was if($(window).width() > 1024) + if (show) { + // fix + Stickyfill.rebuild(); + Stickyfill.init(); + $(".author__urls").show(); + } else { + // unfix + Stickyfill.stop(); + $(".author__urls").hide(); + } + }; + + stickySideBar(); + + $(window).resize(function(){ + stickySideBar(); + }); + + // Follow menu drop down + + $(".author__urls-wrapper button").on("click", function() { + $(".author__urls").fadeToggle("fast", function() {}); + $(".author__urls-wrapper button").toggleClass("open"); + }); + + // init smooth scroll + $("a").smoothScroll({offset: -20}); + + // add lightbox class to all image links + $("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif']").addClass("image-popup"); + + // Magnific-Popup options + $(".image-popup").magnificPopup({ + // disableOn: function() { + // if( $(window).width() < 500 ) { + // return false; + // } + // return true; + // }, + type: 'image', + tLoading: 'Loading image #%curr%...', + gallery: { + enabled: true, + navigateByImgClick: true, + preload: [0,1] // Will preload 0 - before current, and 1 after the current image + }, + image: { + tError: 'Image #%curr% could not be loaded.', + }, + removalDelay: 500, // Delay in milliseconds before popup is removed + // Class that is added to body when popup is open. + // make it unique to apply your CSS animations just to this exact popup + mainClass: 'mfp-zoom-in', + callbacks: { + beforeOpen: function() { + // just a hack that adds mfp-anim class to markup + this.st.image.markup = this.st.image.markup.replace('mfp-figure', 'mfp-figure mfp-with-anim'); + } + }, + closeOnContentClick: true, + midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source. + }); + +}); diff --git a/assets/js/main.min.js b/assets/js/main.min.js new file mode 100644 index 0000000000..7c4f130e4a --- /dev/null +++ b/assets/js/main.min.js @@ -0,0 +1,5 @@ +function updateNav(){var e=$btn.hasClass("hidden")?$nav.width():$nav.width()-$btn.width()-30;$vlinks.width()>e?(breaks.push($vlinks.width()),$vlinks.children().last().prependTo($hlinks),$btn.hasClass("hidden")&&$btn.removeClass("hidden")):(e>breaks[breaks.length-1]&&($hlinks.children().first().appendTo($vlinks),breaks.pop()),breaks.length<1&&($btn.addClass("hidden"),$hlinks.addClass("hidden"))),$btn.attr("count",breaks.length),$vlinks.width()>e&&updateNav()}!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=pe.type(e);return"function"===n||pe.isWindow(e)?!1:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function i(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Te.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function r(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(Ae)||[],function(e,n){t[n]=!0}),t}function a(){ie.addEventListener?(ie.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(ie.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(ie.addEventListener||"load"===e.event.type||"complete"===ie.readyState)&&(a(),pe.ready())}function l(e,t,n){if(void 0===n&&1===e.nodeType){var i="data-"+t.replace(He,"-$1").toLowerCase();if(n=e.getAttribute(i),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:De.test(n)?pe.parseJSON(n):n}catch(r){}pe.data(e,t,n)}else n=void 0}return n}function u(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,n,i){if(Ie(e)){var r,o,a=pe.expando,s=e.nodeType,l=s?pe.cache:e,u=s?e[a]:e[a]&&a;if(u&&l[u]&&(i||l[u].data)||void 0!==n||"string"!=typeof t)return u||(u=s?e[a]=ne.pop()||pe.guid++:a),l[u]||(l[u]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(i?l[u]=pe.extend(l[u],t):l[u].data=pe.extend(l[u].data,t)),o=l[u],i||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(r=o[t],null==r&&(r=o[pe.camelCase(t)])):r=o,r}}function d(e,t,n){if(Ie(e)){var i,r,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(i=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in i?t=[t]:(t=pe.camelCase(t),t=t in i?[t]:t.split(" ")),r=t.length;for(;r--;)delete i[t[r]];if(n?!u(i):!pe.isEmptyObject(i))return}(n||(delete a[s].data,u(a[s])))&&(o?pe.cleanData([e],!0):de.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function f(e,t,n,i){var r,o=1,a=20,s=i?function(){return i.cur()}:function(){return pe.css(e,t,"")},l=s(),u=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==u&&+l)&&Me.exec(pe.css(e,t));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+l||1;do o=o||".5",c/=o,pe.style(e,t,c+u);while(o!==(o=s()/l)&&1!==o&&--a)}return n&&(c=+c||+l||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],i&&(i.unit=u,i.start=c,i.end=r)),r}function p(e){var t=We.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,i,r=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(i=n[r]);r++)!t||pe.nodeName(i,t)?o.push(i):pe.merge(o,h(i,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function m(e,t){for(var n,i=0;null!=(n=e[i]);i++)pe._data(n,"globalEval",!t||pe._data(t[i],"globalEval"))}function g(e){qe.test(e.type)&&(e.defaultChecked=e.checked)}function v(e,t,n,i,r){for(var o,a,s,l,u,c,d,f=e.length,v=p(t),y=[],b=0;f>b;b++)if(a=e[b],a||0===a)if("object"===pe.type(a))pe.merge(y,a.nodeType?[a]:a);else if(Ye.test(a)){for(l=l||v.appendChild(t.createElement("div")),u=($e.exec(a)||["",""])[1].toLowerCase(),d=Xe[u]||Xe._default,l.innerHTML=d[1]+pe.htmlPrefilter(a)+d[2],o=d[0];o--;)l=l.lastChild;if(!de.leadingWhitespace&&Re.test(a)&&y.push(t.createTextNode(Re.exec(a)[0])),!de.tbody)for(a="table"!==u||Ue.test(a)?""!==d[1]||Ue.test(a)?0:l:l.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(y,l.childNodes),l.textContent="";l.firstChild;)l.removeChild(l.firstChild);l=v.lastChild}else y.push(t.createTextNode(a));for(l&&v.removeChild(l),de.appendChecked||pe.grep(h(y,"input"),g),b=0;a=y[b++];)if(i&&pe.inArray(a,i)>-1)r&&r.push(a);else if(s=pe.contains(a.ownerDocument,a),l=h(v.appendChild(a),"script"),s&&m(l),n)for(o=0;a=l[o++];)ze.test(a.type||"")&&n.push(a);return l=null,v}function y(){return!0}function b(){return!1}function x(){try{return ie.activeElement}catch(e){}}function w(e,t,n,i,r,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(i=i||n,n=void 0);for(s in t)w(e,s,n,i,t[s],o);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),r===!1)r=b;else if(!r)return e;return 1===o&&(a=r,r=function(e){return pe().off(e),a.apply(this,arguments)},r.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,r,i,n)})}function C(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function T(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function k(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function E(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,i,r,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(i=0,r=s[n].length;r>i;i++)pe.event.add(t,n,s[n][i])}a.data&&(a.data=pe.extend({},a.data))}}function S(e,t){var n,i,r;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!de.noCloneEvent&&t[pe.expando]){r=pe._data(t);for(i in r.events)pe.removeEvent(t,i,r.handle);t.removeAttribute(pe.expando)}"script"===n&&t.text!==e.text?(T(t).text=e.text,k(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),de.html5Clone&&e.innerHTML&&!pe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&qe.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}}function N(e,t,n,i){t=oe.apply([],t);var r,o,a,s,l,u,c=0,d=e.length,f=d-1,p=t[0],m=pe.isFunction(p);if(m||d>1&&"string"==typeof p&&!de.checkClone&&it.test(p))return e.each(function(r){var o=e.eq(r);m&&(t[0]=p.call(this,r,o.html())),N(o,t,n,i)});if(d&&(u=v(t,e[0].ownerDocument,!1,e,i),r=u.firstChild,1===u.childNodes.length&&(u=r),r||i)){for(s=pe.map(h(u,"script"),T),a=s.length;d>c;c++)o=u,c!==f&&(o=pe.clone(o,!0,!0),a&&pe.merge(s,h(o,"script"))),n.call(e[c],o,c);if(a)for(l=s[s.length-1].ownerDocument,pe.map(s,k),c=0;a>c;c++)o=s[c],ze.test(o.type||"")&&!pe._data(o,"globalEval")&&pe.contains(l,o)&&(o.src?pe._evalUrl&&pe._evalUrl(o.src):pe.globalEval((o.text||o.textContent||o.innerHTML||"").replace(ot,"")));u=r=null}return e}function L(e,t,n){for(var i,r=t?pe.filter(t,e):e,o=0;null!=(i=r[o]);o++)n||1!==i.nodeType||pe.cleanData(h(i)),i.parentNode&&(n&&pe.contains(i.ownerDocument,i)&&m(h(i,"script")),i.parentNode.removeChild(i));return e}function A(e,t){var n=pe(t.createElement(e)).appendTo(t.body),i=pe.css(n[0],"display");return n.detach(),i}function j(e){var t=ie,n=ut[e];return n||(n=A(e,t),"none"!==n&&n||(lt=(lt||pe("',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){t.types.push(z),T("BeforeChange",function(e,t,n){t!==n&&(t===z?W():n===z&&W(!0))}),T(l+"."+z,function(){W()})},getIframe:function(n,i){var r=n.src,o=t.st.iframe;e.each(o.patterns,function(){return r.indexOf(this.index)>-1?(this.id&&(r="string"==typeof this.id?r.substr(r.lastIndexOf(this.id)+this.id.length,r.length):this.id.call(this,r)),r=this.src.replace("%id%",r),!1):void 0});var a={};return o.srcAction&&(a[o.srcAction]=r),t._parseMarkup(i,a,n),t.updateStatus("ready"),i}}});var X=function(e){var n=t.items.length;return e>n-1?e-n:0>e?n+e:e},Y=function(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var n=t.st.gallery,i=".mfp-gallery",o=Boolean(e.fn.mfpFastClick);return t.direction=!0,n&&n.enabled?(a+=" mfp-gallery",T(p+i,function(){n.navigateByImgClick&&t.wrap.on("click"+i,".mfp-img",function(){return t.items.length>1?(t.next(),!1):void 0}),r.on("keydown"+i,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next()})}),T("UpdateStatus"+i,function(e,n){n.text&&(n.text=Y(n.text,t.currItem.index,t.items.length))}),T(f+i,function(e,i,r,o){var a=t.items.length;r.counter=a>1?Y(n.tCounter,o.index,a):""}),T("BuildControls"+i,function(){if(t.items.length>1&&n.arrows&&!t.arrowLeft){var i=n.arrowMarkup,r=t.arrowLeft=e(i.replace(/%title%/gi,n.tPrev).replace(/%dir%/gi,"left")).addClass(b),a=t.arrowRight=e(i.replace(/%title%/gi,n.tNext).replace(/%dir%/gi,"right")).addClass(b),s=o?"mfpFastClick":"click";r[s](function(){t.prev()}),a[s](function(){t.next()}),t.isIE7&&(k("b",r[0],!1,!0),k("a",r[0],!1,!0),k("b",a[0],!1,!0),k("a",a[0],!1,!0)),t.container.append(r.add(a))}}),T(h+i,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),t._preloadTimeout=null},16)}),void T(l+i,function(){r.off(i),t.wrap.off("click"+i),t.arrowLeft&&o&&t.arrowLeft.add(t.arrowRight).destroyMfpFastClick(),t.arrowRight=t.arrowLeft=null})):!1},next:function(){t.direction=!0,t.index=X(t.index+1),t.updateItemHTML()},prev:function(){t.direction=!1,t.index=X(t.index-1),t.updateItemHTML()},goTo:function(e){t.direction=e>=t.index,t.index=e,t.updateItemHTML()},preloadNearbyImages:function(){var e,n=t.st.gallery.preload,i=Math.min(n[0],t.items.length),r=Math.min(n[1],t.items.length);for(e=1;e<=(t.direction?r:i);e++)t._preloadItem(t.index+e);for(e=1;e<=(t.direction?i:r);e++)t._preloadItem(t.index-e)},_preloadItem:function(n){if(n=X(n),!t.items[n].preloaded){var i=t.items[n];i.parsed||(i=t.parseEl(n)),E("LazyLoad",i),"image"===i.type&&(i.img=e('').on("load.mfploader",function(){i.hasSize=!0}).on("error.mfploader",function(){i.hasSize=!0,i.loadError=!0,E("LazyLoadError",i)}).attr("src",i.src)),i.preloaded=!0}}}});var U="retina";e.magnificPopup.registerModule(U,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=t.st.retina,n=e.ratio;n=isNaN(n)?n():n,n>1&&(T("ImageHasSize."+U,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/n,width:"100%"})}),T("ElementParse."+U,function(t,i){i.src=e.replaceSrc(i,n)}))}}}}),function(){var t=1e3,n="ontouchstart"in window,i=function(){C.off("touchmove"+o+" touchend"+o)},r="mfpFastClick",o="."+r;e.fn.mfpFastClick=function(r){return e(this).each(function(){var a,s=e(this);if(n){var l,u,c,d,f,p;s.on("touchstart"+o,function(e){d=!1,p=1,f=e.originalEvent?e.originalEvent.touches[0]:e.touches[0],u=f.clientX,c=f.clientY,C.on("touchmove"+o,function(e){f=e.originalEvent?e.originalEvent.touches:e.touches,p=f.length,f=f[0],(Math.abs(f.clientX-u)>10||Math.abs(f.clientY-c)>10)&&(d=!0,i())}).on("touchend"+o,function(e){i(),d||p>1||(a=!0,e.preventDefault(),clearTimeout(l),l=setTimeout(function(){a=!1},t),r())})})}s.on("click"+o,function(){a||r()})})},e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+o+" click"+o),n&&C.off("touchmove"+o+" touchend"+o)}}(),N()}(window.jQuery||window.Zepto),!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof module&&module.exports?require("jquery"):jQuery)}(function(e){var t="1.7.2",n={},i={exclude:[],excludeWithin:[],offset:0,direction:"top",delegateSelector:null,scrollElement:null,scrollTarget:null,beforeScroll:function(){},afterScroll:function(){},easing:"swing",speed:400,autoCoefficient:2,preventDefault:!0},r=function(t){var n=[],i=!1,r=t.dir&&"left"===t.dir?"scrollLeft":"scrollTop";return this.each(function(){var t=e(this);return this!==document&&this!==window?!document.scrollingElement||this!==document.documentElement&&this!==document.body?void(t[r]()>0?n.push(this):(t[r](1),i=t[r]()>0,i&&n.push(this),t[r](0))):(n.push(document.scrollingElement),!1):void 0}),n.length||this.each(function(){this===document.documentElement&&"smooth"===e(this).css("scrollBehavior")&&(n=[this]),n.length||"BODY"!==this.nodeName||(n=[this])}),"first"===t.el&&n.length>1&&(n=[n[0]]),n};e.fn.extend({scrollable:function(e){var t=r.call(this,{dir:e});return this.pushStack(t)},firstScrollable:function(e){var t=r.call(this,{el:"first",dir:e});return this.pushStack(t)},smoothScroll:function(t,n){if(t=t||{},"options"===t)return n?this.each(function(){var t=e(this),i=e.extend(t.data("ssOpts")||{},n);e(this).data("ssOpts",i)}):this.first().data("ssOpts");var i=e.extend({},e.fn.smoothScroll.defaults,t),r=function(t){var n=function(e){return e.replace(/(:|\.|\/)/g,"\\$1")},r=this,o=e(this),a=e.extend({},i,o.data("ssOpts")||{}),s=i.exclude,l=a.excludeWithin,u=0,c=0,d=!0,f={},p=e.smoothScroll.filterPath(location.pathname),h=e.smoothScroll.filterPath(r.pathname),m=location.hostname===r.hostname||!r.hostname,g=a.scrollTarget||h===p,v=n(r.hash);if(v&&!e(v).length&&(d=!1),a.scrollTarget||m&&g&&v){for(;d&&u=0;e--)u(D[e])}function u(e){if(e.inited){var t=_.top<=e.limit.start?0:_.top>=e.limit.end?2:1;e.mode!=t&&m(e,t)}}function c(){for(var e=D.length-1;e>=0;e--)if(D[e].inited){var t=Math.abs(b(D[e].clone)-D[e].docOffsetTop),n=Math.abs(D[e].parent.node.offsetHeight-D[e].parent.height);if(t>=2||n>=2)return!1}return!0}function d(e){isNaN(parseFloat(e.computed.top))||e.isCell||"none"==e.computed.display||(e.inited=!0,e.clone||g(e),"absolute"!=e.parent.computed.position&&"relative"!=e.parent.computed.position&&(e.parent.node.style.position="relative"),u(e),e.parent.height=e.parent.node.offsetHeight,e.docOffsetTop=b(e.clone))}function f(e){var t=!0;e.clone&&v(e),i(e.node.style,e.css);for(var n=D.length-1;n>=0;n--)if(D[n].node!==e.node&&D[n].parent.node===e.parent.node){t=!1;break}t&&(e.parent.node.style.position=e.parent.css.position),e.mode=-1}function p(){for(var e=D.length-1;e>=0;e--)d(D[e])}function h(){for(var e=D.length-1;e>=0;e--)f(D[e])}function m(e,t){var n=e.node.style;switch(t){case 0:n.position="absolute",n.left=e.offset.left+"px",n.right=e.offset.right+"px",n.top=e.offset.top+"px",n.bottom="auto",n.width="auto",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 1:n.position="fixed",n.left=e.box.left+"px",n.right=e.box.right+"px",n.top=e.css.top,n.bottom="auto",n.width="auto",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 2:n.position="absolute",n.left=e.offset.left+"px",n.right=e.offset.right+"px",n.top="auto",n.bottom=0,n.width="auto",n.marginLeft=0,n.marginRight=0}e.mode=t}function g(e){e.clone=document.createElement("div");var t=e.node.nextSibling||e.node,n=e.clone.style;n.height=e.height+"px",n.width=e.width+"px",n.marginTop=e.computed.marginTop,n.marginBottom=e.computed.marginBottom,n.marginLeft=e.computed.marginLeft,n.marginRight=e.computed.marginRight,n.padding=n.border=n.borderSpacing=0,n.fontSize="1em",n.position="static",n.cssFloat=e.computed.cssFloat,e.node.parentNode.insertBefore(e.clone,t)}function v(e){e.clone.parentNode.removeChild(e.clone),e.clone=void 0}function y(e){var t=getComputedStyle(e),n=e.parentNode,i=getComputedStyle(n),o=e.style.position;e.style.position="relative";var a={top:t.top,marginTop:t.marginTop,marginBottom:t.marginBottom,marginLeft:t.marginLeft,marginRight:t.marginRight,cssFloat:t.cssFloat,display:t.display},s={top:r(t.top),marginBottom:r(t.marginBottom),paddingLeft:r(t.paddingLeft),paddingRight:r(t.paddingRight),borderLeftWidth:r(t.borderLeftWidth),borderRightWidth:r(t.borderRightWidth)};e.style.position=o;var l={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,right:e.style.right,width:e.style.width,marginTop:e.style.marginTop,marginLeft:e.style.marginLeft,marginRight:e.style.marginRight},u=x(e),c=x(n),d={node:n,css:{position:n.style.position},computed:{position:i.position},numeric:{borderLeftWidth:r(i.borderLeftWidth),borderRightWidth:r(i.borderRightWidth),borderTopWidth:r(i.borderTopWidth),borderBottomWidth:r(i.borderBottomWidth)}},f={node:e,box:{left:u.win.left,right:O.clientWidth-u.win.right},offset:{top:u.win.top-c.win.top-d.numeric.borderTopWidth,left:u.win.left-c.win.left-d.numeric.borderLeftWidth,right:-u.win.right+c.win.right-d.numeric.borderRightWidth +},css:l,isCell:"table-cell"==t.display,computed:a,numeric:s,width:u.win.right-u.win.left,height:u.win.bottom-u.win.top,mode:-1,inited:!1,parent:d,limit:{start:u.doc.top-s.top,end:c.doc.top+n.offsetHeight-d.numeric.borderBottomWidth-e.offsetHeight-s.top-s.marginBottom}};return f}function b(e){for(var t=0;e;)t+=e.offsetTop,e=e.offsetParent;return t}function x(e){var n=e.getBoundingClientRect();return{doc:{top:n.top+t.pageYOffset,left:n.left+t.pageXOffset},win:n}}function w(){I=setInterval(function(){!c()&&E()},500)}function C(){clearInterval(I)}function T(){H&&(document[P]?C():w())}function k(){H||(o(),p(),t.addEventListener("scroll",a),t.addEventListener("wheel",s),t.addEventListener("resize",E),t.addEventListener("orientationchange",E),e.addEventListener(B,T),w(),H=!0)}function E(){if(H){h();for(var e=D.length-1;e>=0;e--)D[e]=y(D[e].node);p()}}function S(){t.removeEventListener("scroll",a),t.removeEventListener("wheel",s),t.removeEventListener("resize",E),t.removeEventListener("orientationchange",E),e.removeEventListener(B,T),C(),H=!1}function N(){S(),h()}function L(){for(N();D.length;)D.pop()}function A(e){for(var t=D.length-1;t>=0;t--)if(D[t].node===e)return;var n=y(e);D.push(n),H?d(n):k()}function j(e){for(var t=D.length-1;t>=0;t--)D[t].node===e&&(f(D[t]),D.splice(t,1))}var _,I,D=[],H=!1,O=e.documentElement,M=function(){},P="hidden",B="visibilitychange";void 0!==e.webkitHidden&&(P="webkitHidden",B="webkitvisibilitychange"),t.getComputedStyle||n();for(var F=["","-webkit-","-moz-","-ms-"],q=document.createElement("div"),$=F.length-1;$>=0;$--){try{q.style.position=F[$]+"sticky"}catch(z){}""!=q.style.position&&n()}o(),t.Stickyfill={stickies:D,add:A,remove:j,init:k,rebuild:E,pause:S,stop:N,kill:L}}(document,window),window.jQuery&&!function(e){e.fn.Stickyfill=function(e){return this.each(function(){Stickyfill.add(this)}),this}}(window.jQuery),$(document).ready(function(){var e=function(){$("body").css("margin-bottom",$(".page__footer").outerHeight(!0))},t=!1;e(),$(window).resize(function(){t=!0}),setInterval(function(){t&&(t=!1,e())},250),$("#main").fitVids(),$(".sticky").Stickyfill();var n=function(){var e=0===$(".author__urls-wrapper button").length?$(window).width()>1024:!$(".author__urls-wrapper button").is(":visible");e?(Stickyfill.rebuild(),Stickyfill.init(),$(".author__urls").show()):(Stickyfill.stop(),$(".author__urls").hide())};n(),$(window).resize(function(){n()}),$(".author__urls-wrapper button").on("click",function(){$(".author__urls").fadeToggle("fast",function(){}),$(".author__urls-wrapper button").toggleClass("open")}),$("a").smoothScroll({offset:-20}),$("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif']").addClass("image-popup"),$(".image-popup").magnificPopup({type:"image",tLoading:"Loading image #%curr%...",gallery:{enabled:!0,navigateByImgClick:!0,preload:[0,1]},image:{tError:'Image #%curr% could not be loaded.'},removalDelay:500,mainClass:"mfp-zoom-in",callbacks:{beforeOpen:function(){this.st.image.markup=this.st.image.markup.replace("mfp-figure","mfp-figure mfp-with-anim")}},closeOnContentClick:!0,midClick:!0})}); \ No newline at end of file diff --git a/assets/js/plugins/jquery.fitvids.js b/assets/js/plugins/jquery.fitvids.js new file mode 100644 index 0000000000..5c2f85c992 --- /dev/null +++ b/assets/js/plugins/jquery.fitvids.js @@ -0,0 +1,82 @@ +/*jshint browser:true */ +/*! +* FitVids 1.1 +* +* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com +* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ +* Released under the WTFPL license - http://sam.zoy.org/wtfpl/ +* +*/ + +;(function( $ ){ + + 'use strict'; + + $.fn.fitVids = function( options ) { + var settings = { + customSelector: null, + ignore: null + }; + + if(!document.getElementById('fit-vids-style')) { + // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js + var head = document.head || document.getElementsByTagName('head')[0]; + var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}'; + var div = document.createElement("div"); + div.innerHTML = '

x

'; + head.appendChild(div.childNodes[1]); + } + + if ( options ) { + $.extend( settings, options ); + } + + return this.each(function(){ + var selectors = [ + 'iframe[src*="player.vimeo.com"]', + 'iframe[src*="youtube.com"]', + 'iframe[src*="youtube-nocookie.com"]', + 'iframe[src*="kickstarter.com"][src*="video.html"]', + 'object', + 'embed' + ]; + + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + + var ignoreList = '.fitvidsignore'; + + if(settings.ignore) { + ignoreList = ignoreList + ', ' + settings.ignore; + } + + var $allVideos = $(this).find(selectors.join(',')); + $allVideos = $allVideos.not('object object'); // SwfObj conflict patch + $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. + + $allVideos.each(function(count){ + var $this = $(this); + if($this.parents(ignoreList).length > 0) { + return; // Disable FitVids on this video. + } + if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } + if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) + { + $this.attr('height', 9); + $this.attr('width', 16); + } + var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), + width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), + aspectRatio = height / width; + if(!$this.attr('id')){ + var videoID = 'fitvid' + count; + $this.attr('id', videoID); + } + $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); + $this.removeAttr('height').removeAttr('width'); + }); + }); + }; +// Works with either jQuery or Zepto +})( window.jQuery || window.Zepto ); \ No newline at end of file diff --git a/assets/js/plugins/jquery.greedy-navigation.js b/assets/js/plugins/jquery.greedy-navigation.js new file mode 100644 index 0000000000..3f6c5415a4 --- /dev/null +++ b/assets/js/plugins/jquery.greedy-navigation.js @@ -0,0 +1,72 @@ +/* +* Greedy Navigation +* +* http://codepen.io/lukejacksonn/pen/PwmwWV +* +*/ + +var $nav = $('#site-nav'); +var $btn = $('#site-nav button'); +var $vlinks = $('#site-nav .visible-links'); +var $hlinks = $('#site-nav .hidden-links'); + +var breaks = []; + +function updateNav() { + + var availableSpace = $btn.hasClass('hidden') ? $nav.width() : $nav.width() - $btn.width() - 30; + + // The visible list is overflowing the nav + if($vlinks.width() > availableSpace) { + + // Record the width of the list + breaks.push($vlinks.width()); + + // Move item to the hidden list + $vlinks.children().last().prependTo($hlinks); + + // Show the dropdown btn + if($btn.hasClass('hidden')) { + $btn.removeClass('hidden'); + } + + // The visible list is not overflowing + } else { + + // There is space for another item in the nav + if(availableSpace > breaks[breaks.length-1]) { + + // Move the item to the visible list + $hlinks.children().first().appendTo($vlinks); + breaks.pop(); + } + + // Hide the dropdown btn if hidden list is empty + if(breaks.length < 1) { + $btn.addClass('hidden'); + $hlinks.addClass('hidden'); + } + } + + // Keep counter updated + $btn.attr("count", breaks.length); + + // Recur if the visible list is still overflowing the nav + if($vlinks.width() > availableSpace) { + updateNav(); + } + +} + +// Window listeners + +$(window).resize(function() { + updateNav(); +}); + +$btn.on('click', function() { + $hlinks.toggleClass('hidden'); + $(this).toggleClass('close'); +}); + +updateNav(); \ No newline at end of file diff --git a/assets/js/plugins/jquery.magnific-popup.js b/assets/js/plugins/jquery.magnific-popup.js new file mode 100644 index 0000000000..27fce06bbd --- /dev/null +++ b/assets/js/plugins/jquery.magnific-popup.js @@ -0,0 +1,2049 @@ +/*! Magnific Popup - v0.9.9 - 2013-12-27 +* http://dimsemenov.com/plugins/magnific-popup/ +* Copyright (c) 2013 Dmitry Semenov; */ +;(function($) { + +/*>>core*/ +/** + * + * Magnific Popup Core JS file + * + */ + + +/** + * Private static constants + */ +var CLOSE_EVENT = 'Close', + BEFORE_CLOSE_EVENT = 'BeforeClose', + AFTER_CLOSE_EVENT = 'AfterClose', + BEFORE_APPEND_EVENT = 'BeforeAppend', + MARKUP_PARSE_EVENT = 'MarkupParse', + OPEN_EVENT = 'Open', + CHANGE_EVENT = 'Change', + NS = 'mfp', + EVENT_NS = '.' + NS, + READY_CLASS = 'mfp-ready', + REMOVING_CLASS = 'mfp-removing', + PREVENT_CLOSE_CLASS = 'mfp-prevent-close'; + + +/** + * Private vars + */ +var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this' + MagnificPopup = function(){}, + _isJQ = !!(window.jQuery), + _prevStatus, + _window = $(window), + _body, + _document, + _prevContentType, + _wrapClasses, + _currPopupType; + + +/** + * Private functions + */ +var _mfpOn = function(name, f) { + mfp.ev.on(NS + name + EVENT_NS, f); + }, + _getEl = function(className, appendTo, html, raw) { + var el = document.createElement('div'); + el.className = 'mfp-'+className; + if(html) { + el.innerHTML = html; + } + if(!raw) { + el = $(el); + if(appendTo) { + el.appendTo(appendTo); + } + } else if(appendTo) { + appendTo.appendChild(el); + } + return el; + }, + _mfpTrigger = function(e, data) { + mfp.ev.triggerHandler(NS + e, data); + + if(mfp.st.callbacks) { + // converts "mfpEventName" to "eventName" callback and triggers it if it's present + e = e.charAt(0).toLowerCase() + e.slice(1); + if(mfp.st.callbacks[e]) { + mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]); + } + } + }, + _getCloseBtn = function(type) { + if(type !== _currPopupType || !mfp.currTemplate.closeBtn) { + mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) ); + _currPopupType = type; + } + return mfp.currTemplate.closeBtn; + }, + // Initialize Magnific Popup only when called at least once + _checkInstance = function() { + if(!$.magnificPopup.instance) { + mfp = new MagnificPopup(); + mfp.init(); + $.magnificPopup.instance = mfp; + } + }, + // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr + supportsTransitions = function() { + var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist + v = ['ms','O','Moz','Webkit']; // 'v' for vendor + + if( s['transition'] !== undefined ) { + return true; + } + + while( v.length ) { + if( v.pop() + 'Transition' in s ) { + return true; + } + } + + return false; + }; + + + +/** + * Public functions + */ +MagnificPopup.prototype = { + + constructor: MagnificPopup, + + /** + * Initializes Magnific Popup plugin. + * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed + */ + init: function() { + var appVersion = navigator.appVersion; + mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1; + mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1; + mfp.isLowIE = mfp.isIE7 || mfp.isIE8; + mfp.isAndroid = (/android/gi).test(appVersion); + mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion); + mfp.supportsTransition = supportsTransitions(); + + // We disable fixed positioned lightbox on devices that don't handle it nicely. + // If you know a better way of detecting this - let me know. + mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) ); + _document = $(document); + + mfp.popupsCache = {}; + }, + + /** + * Opens popup + * @param data [description] + */ + open: function(data) { + + if(!_body) { + _body = $(document.body); + } + + var i; + + if(data.isObj === false) { + // convert jQuery collection to array to avoid conflicts later + mfp.items = data.items.toArray(); + + mfp.index = 0; + var items = data.items, + item; + for(i = 0; i < items.length; i++) { + item = items[i]; + if(item.parsed) { + item = item.el[0]; + } + if(item === data.el[0]) { + mfp.index = i; + break; + } + } + } else { + mfp.items = $.isArray(data.items) ? data.items : [data.items]; + mfp.index = data.index || 0; + } + + // if popup is already opened - we just update the content + if(mfp.isOpen) { + mfp.updateItemHTML(); + return; + } + + mfp.types = []; + _wrapClasses = ''; + if(data.mainEl && data.mainEl.length) { + mfp.ev = data.mainEl.eq(0); + } else { + mfp.ev = _document; + } + + if(data.key) { + if(!mfp.popupsCache[data.key]) { + mfp.popupsCache[data.key] = {}; + } + mfp.currTemplate = mfp.popupsCache[data.key]; + } else { + mfp.currTemplate = {}; + } + + + + mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); + mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos; + + if(mfp.st.modal) { + mfp.st.closeOnContentClick = false; + mfp.st.closeOnBgClick = false; + mfp.st.showCloseBtn = false; + mfp.st.enableEscapeKey = false; + } + + + // Building markup + // main containers are created only once + if(!mfp.bgOverlay) { + + // Dark overlay + mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() { + mfp.close(); + }); + + mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) { + if(mfp._checkIfClose(e.target)) { + mfp.close(); + } + }); + + mfp.container = _getEl('container', mfp.wrap); + } + + mfp.contentContainer = _getEl('content'); + if(mfp.st.preloader) { + mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading); + } + + + // Initializing modules + var modules = $.magnificPopup.modules; + for(i = 0; i < modules.length; i++) { + var n = modules[i]; + n = n.charAt(0).toUpperCase() + n.slice(1); + mfp['init'+n].call(mfp); + } + _mfpTrigger('BeforeOpen'); + + + if(mfp.st.showCloseBtn) { + // Close button + if(!mfp.st.closeBtnInside) { + mfp.wrap.append( _getCloseBtn() ); + } else { + _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) { + values.close_replaceWith = _getCloseBtn(item.type); + }); + _wrapClasses += ' mfp-close-btn-in'; + } + } + + if(mfp.st.alignTop) { + _wrapClasses += ' mfp-align-top'; + } + + + + if(mfp.fixedContentPos) { + mfp.wrap.css({ + overflow: mfp.st.overflowY, + overflowX: 'hidden', + overflowY: mfp.st.overflowY + }); + } else { + mfp.wrap.css({ + top: _window.scrollTop(), + position: 'absolute' + }); + } + if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) { + mfp.bgOverlay.css({ + height: _document.height(), + position: 'absolute' + }); + } + + + + if(mfp.st.enableEscapeKey) { + // Close on ESC key + _document.on('keyup' + EVENT_NS, function(e) { + if(e.keyCode === 27) { + mfp.close(); + } + }); + } + + _window.on('resize' + EVENT_NS, function() { + mfp.updateSize(); + }); + + + if(!mfp.st.closeOnContentClick) { + _wrapClasses += ' mfp-auto-cursor'; + } + + if(_wrapClasses) + mfp.wrap.addClass(_wrapClasses); + + + // this triggers recalculation of layout, so we get it once to not to trigger twice + var windowHeight = mfp.wH = _window.height(); + + + var windowStyles = {}; + + if( mfp.fixedContentPos ) { + if(mfp._hasScrollBar(windowHeight)){ + var s = mfp._getScrollbarSize(); + if(s) { + windowStyles.marginRight = s; + } + } + } + + if(mfp.fixedContentPos) { + if(!mfp.isIE7) { + windowStyles.overflow = 'hidden'; + } else { + // ie7 double-scroll bug + $('body, html').css('overflow', 'hidden'); + } + } + + + + var classesToadd = mfp.st.mainClass; + if(mfp.isIE7) { + classesToadd += ' mfp-ie7'; + } + if(classesToadd) { + mfp._addClassToMFP( classesToadd ); + } + + // add content + mfp.updateItemHTML(); + + _mfpTrigger('BuildControls'); + + // remove scrollbar, add margin e.t.c + $('html').css(windowStyles); + + // add everything to DOM + mfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || _body ); + + // Save last focused element + mfp._lastFocusedEl = document.activeElement; + + // Wait for next cycle to allow CSS transition + setTimeout(function() { + + if(mfp.content) { + mfp._addClassToMFP(READY_CLASS); + mfp._setFocus(); + } else { + // if content is not defined (not loaded e.t.c) we add class only for BG + mfp.bgOverlay.addClass(READY_CLASS); + } + + // Trap the focus in popup + _document.on('focusin' + EVENT_NS, mfp._onFocusIn); + + }, 16); + + mfp.isOpen = true; + mfp.updateSize(windowHeight); + _mfpTrigger(OPEN_EVENT); + + return data; + }, + + /** + * Closes the popup + */ + close: function() { + if(!mfp.isOpen) return; + _mfpTrigger(BEFORE_CLOSE_EVENT); + + mfp.isOpen = false; + // for CSS3 animation + if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) { + mfp._addClassToMFP(REMOVING_CLASS); + setTimeout(function() { + mfp._close(); + }, mfp.st.removalDelay); + } else { + mfp._close(); + } + }, + + /** + * Helper for close() function + */ + _close: function() { + _mfpTrigger(CLOSE_EVENT); + + var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' '; + + mfp.bgOverlay.detach(); + mfp.wrap.detach(); + mfp.container.empty(); + + if(mfp.st.mainClass) { + classesToRemove += mfp.st.mainClass + ' '; + } + + mfp._removeClassFromMFP(classesToRemove); + + if(mfp.fixedContentPos) { + var windowStyles = {marginRight: ''}; + if(mfp.isIE7) { + $('body, html').css('overflow', ''); + } else { + windowStyles.overflow = ''; + } + $('html').css(windowStyles); + } + + _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS); + mfp.ev.off(EVENT_NS); + + // clean up DOM elements that aren't removed + mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style'); + mfp.bgOverlay.attr('class', 'mfp-bg'); + mfp.container.attr('class', 'mfp-container'); + + // remove close button from target element + if(mfp.st.showCloseBtn && + (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) { + if(mfp.currTemplate.closeBtn) + mfp.currTemplate.closeBtn.detach(); + } + + + if(mfp._lastFocusedEl) { + $(mfp._lastFocusedEl).focus(); // put tab focus back + } + mfp.currItem = null; + mfp.content = null; + mfp.currTemplate = null; + mfp.prevHeight = 0; + + _mfpTrigger(AFTER_CLOSE_EVENT); + }, + + updateSize: function(winHeight) { + + if(mfp.isIOS) { + // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2 + var zoomLevel = document.documentElement.clientWidth / window.innerWidth; + var height = window.innerHeight * zoomLevel; + mfp.wrap.css('height', height); + mfp.wH = height; + } else { + mfp.wH = winHeight || _window.height(); + } + // Fixes #84: popup incorrectly positioned with position:relative on body + if(!mfp.fixedContentPos) { + mfp.wrap.css('height', mfp.wH); + } + + _mfpTrigger('Resize'); + + }, + + /** + * Set content of popup based on current index + */ + updateItemHTML: function() { + var item = mfp.items[mfp.index]; + + // Detach and perform modifications + mfp.contentContainer.detach(); + + if(mfp.content) + mfp.content.detach(); + + if(!item.parsed) { + item = mfp.parseEl( mfp.index ); + } + + var type = item.type; + + _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]); + // BeforeChange event works like so: + // _mfpOn('BeforeChange', function(e, prevType, newType) { }); + + mfp.currItem = item; + + + + + + if(!mfp.currTemplate[type]) { + var markup = mfp.st[type] ? mfp.st[type].markup : false; + + // allows to modify markup + _mfpTrigger('FirstMarkupParse', markup); + + if(markup) { + mfp.currTemplate[type] = $(markup); + } else { + // if there is no markup found we just define that template is parsed + mfp.currTemplate[type] = true; + } + } + + if(_prevContentType && _prevContentType !== item.type) { + mfp.container.removeClass('mfp-'+_prevContentType+'-holder'); + } + + var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]); + mfp.appendContent(newContent, type); + + item.preloaded = true; + + _mfpTrigger(CHANGE_EVENT, item); + _prevContentType = item.type; + + // Append container back after its content changed + mfp.container.prepend(mfp.contentContainer); + + _mfpTrigger('AfterChange'); + }, + + + /** + * Set HTML content of popup + */ + appendContent: function(newContent, type) { + mfp.content = newContent; + + if(newContent) { + if(mfp.st.showCloseBtn && mfp.st.closeBtnInside && + mfp.currTemplate[type] === true) { + // if there is no markup, we just append close button element inside + if(!mfp.content.find('.mfp-close').length) { + mfp.content.append(_getCloseBtn()); + } + } else { + mfp.content = newContent; + } + } else { + mfp.content = ''; + } + + _mfpTrigger(BEFORE_APPEND_EVENT); + mfp.container.addClass('mfp-'+type+'-holder'); + + mfp.contentContainer.append(mfp.content); + }, + + + + + /** + * Creates Magnific Popup data object based on given data + * @param {int} index Index of item to parse + */ + parseEl: function(index) { + var item = mfp.items[index], + type; + + if(item.tagName) { + item = { el: $(item) }; + } else { + type = item.type; + item = { data: item, src: item.src }; + } + + if(item.el) { + var types = mfp.types; + + // check for 'mfp-TYPE' class + for(var i = 0; i < types.length; i++) { + if( item.el.hasClass('mfp-'+types[i]) ) { + type = types[i]; + break; + } + } + + item.src = item.el.attr('data-mfp-src'); + if(!item.src) { + item.src = item.el.attr('href'); + } + } + + item.type = type || mfp.st.type || 'inline'; + item.index = index; + item.parsed = true; + mfp.items[index] = item; + _mfpTrigger('ElementParse', item); + + return mfp.items[index]; + }, + + + /** + * Initializes single popup or a group of popups + */ + addGroup: function(el, options) { + var eHandler = function(e) { + e.mfpEl = this; + mfp._openClick(e, el, options); + }; + + if(!options) { + options = {}; + } + + var eName = 'click.magnificPopup'; + options.mainEl = el; + + if(options.items) { + options.isObj = true; + el.off(eName).on(eName, eHandler); + } else { + options.isObj = false; + if(options.delegate) { + el.off(eName).on(eName, options.delegate , eHandler); + } else { + options.items = el; + el.off(eName).on(eName, eHandler); + } + } + }, + _openClick: function(e, el, options) { + var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick; + + + if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) { + return; + } + + var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn; + + if(disableOn) { + if($.isFunction(disableOn)) { + if( !disableOn.call(mfp) ) { + return true; + } + } else { // else it's number + if( _window.width() < disableOn ) { + return true; + } + } + } + + if(e.type) { + e.preventDefault(); + + // This will prevent popup from closing if element is inside and popup is already opened + if(mfp.isOpen) { + e.stopPropagation(); + } + } + + + options.el = $(e.mfpEl); + if(options.delegate) { + options.items = el.find(options.delegate); + } + mfp.open(options); + }, + + + /** + * Updates text on preloader + */ + updateStatus: function(status, text) { + + if(mfp.preloader) { + if(_prevStatus !== status) { + mfp.container.removeClass('mfp-s-'+_prevStatus); + } + + if(!text && status === 'loading') { + text = mfp.st.tLoading; + } + + var data = { + status: status, + text: text + }; + // allows to modify status + _mfpTrigger('UpdateStatus', data); + + status = data.status; + text = data.text; + + mfp.preloader.html(text); + + mfp.preloader.find('a').on('click', function(e) { + e.stopImmediatePropagation(); + }); + + mfp.container.addClass('mfp-s-'+status); + _prevStatus = status; + } + }, + + + /* + "Private" helpers that aren't private at all + */ + // Check to close popup or not + // "target" is an element that was clicked + _checkIfClose: function(target) { + + if($(target).hasClass(PREVENT_CLOSE_CLASS)) { + return; + } + + var closeOnContent = mfp.st.closeOnContentClick; + var closeOnBg = mfp.st.closeOnBgClick; + + if(closeOnContent && closeOnBg) { + return true; + } else { + + // We close the popup if click is on close button or on preloader. Or if there is no content. + if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) { + return true; + } + + // if click is outside the content + if( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) { + if(closeOnBg) { + // last check, if the clicked element is in DOM, (in case it's removed onclick) + if( $.contains(document, target) ) { + return true; + } + } + } else if(closeOnContent) { + return true; + } + + } + return false; + }, + _addClassToMFP: function(cName) { + mfp.bgOverlay.addClass(cName); + mfp.wrap.addClass(cName); + }, + _removeClassFromMFP: function(cName) { + this.bgOverlay.removeClass(cName); + mfp.wrap.removeClass(cName); + }, + _hasScrollBar: function(winHeight) { + return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) ); + }, + _setFocus: function() { + (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus(); + }, + _onFocusIn: function(e) { + if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) { + mfp._setFocus(); + return false; + } + }, + _parseMarkup: function(template, values, item) { + var arr; + if(item.data) { + values = $.extend(item.data, values); + } + _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] ); + + $.each(values, function(key, value) { + if(value === undefined || value === false) { + return true; + } + arr = key.split('_'); + if(arr.length > 1) { + var el = template.find(EVENT_NS + '-'+arr[0]); + + if(el.length > 0) { + var attr = arr[1]; + if(attr === 'replaceWith') { + if(el[0] !== value[0]) { + el.replaceWith(value); + } + } else if(attr === 'img') { + if(el.is('img')) { + el.attr('src', value); + } else { + el.replaceWith( '' ); + } + } else { + el.attr(arr[1], value); + } + } + + } else { + template.find(EVENT_NS + '-'+key).html(value); + } + }); + }, + + _getScrollbarSize: function() { + // thx David + if(mfp.scrollbarSize === undefined) { + var scrollDiv = document.createElement("div"); + scrollDiv.id = "mfp-sbm"; + scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'; + document.body.appendChild(scrollDiv); + mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + } + return mfp.scrollbarSize; + } + +}; /* MagnificPopup core prototype end */ + + + + +/** + * Public static functions + */ +$.magnificPopup = { + instance: null, + proto: MagnificPopup.prototype, + modules: [], + + open: function(options, index) { + _checkInstance(); + + if(!options) { + options = {}; + } else { + options = $.extend(true, {}, options); + } + + + options.isObj = true; + options.index = index || 0; + return this.instance.open(options); + }, + + close: function() { + return $.magnificPopup.instance && $.magnificPopup.instance.close(); + }, + + registerModule: function(name, module) { + if(module.options) { + $.magnificPopup.defaults[name] = module.options; + } + $.extend(this.proto, module.proto); + this.modules.push(name); + }, + + defaults: { + + // Info about options is in docs: + // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options + + disableOn: 0, + + key: null, + + midClick: false, + + mainClass: '', + + preloader: true, + + focus: '', // CSS selector of input to focus after popup is opened + + closeOnContentClick: false, + + closeOnBgClick: true, + + closeBtnInside: true, + + showCloseBtn: true, + + enableEscapeKey: true, + + modal: false, + + alignTop: false, + + removalDelay: 0, + + prependTo: null, + + fixedContentPos: 'auto', + + fixedBgPos: 'auto', + + overflowY: 'auto', + + closeMarkup: '', + + tClose: 'Close (Esc)', + + tLoading: 'Loading...' + + } +}; + + + +$.fn.magnificPopup = function(options) { + _checkInstance(); + + var jqEl = $(this); + + // We call some API method of first param is a string + if (typeof options === "string" ) { + + if(options === 'open') { + var items, + itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup, + index = parseInt(arguments[1], 10) || 0; + + if(itemOpts.items) { + items = itemOpts.items[index]; + } else { + items = jqEl; + if(itemOpts.delegate) { + items = items.find(itemOpts.delegate); + } + items = items.eq( index ); + } + mfp._openClick({mfpEl:items}, jqEl, itemOpts); + } else { + if(mfp.isOpen) + mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1)); + } + + } else { + // clone options obj + options = $.extend(true, {}, options); + + /* + * As Zepto doesn't support .data() method for objects + * and it works only in normal browsers + * we assign "options" object directly to the DOM element. FTW! + */ + if(_isJQ) { + jqEl.data('magnificPopup', options); + } else { + jqEl[0].magnificPopup = options; + } + + mfp.addGroup(jqEl, options); + + } + return jqEl; +}; + + +//Quick benchmark +/* +var start = performance.now(), + i, + rounds = 1000; + +for(i = 0; i < rounds; i++) { + +} +console.log('Test #1:', performance.now() - start); + +start = performance.now(); +for(i = 0; i < rounds; i++) { + +} +console.log('Test #2:', performance.now() - start); +*/ + + +/*>>core*/ + +/*>>inline*/ + +var INLINE_NS = 'inline', + _hiddenClass, + _inlinePlaceholder, + _lastInlineElement, + _putInlineElementsBack = function() { + if(_lastInlineElement) { + _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach(); + _lastInlineElement = null; + } + }; + +$.magnificPopup.registerModule(INLINE_NS, { + options: { + hiddenClass: 'hide', // will be appended with `mfp-` prefix + markup: '', + tNotFound: 'Content not found' + }, + proto: { + + initInline: function() { + mfp.types.push(INLINE_NS); + + _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() { + _putInlineElementsBack(); + }); + }, + + getInline: function(item, template) { + + _putInlineElementsBack(); + + if(item.src) { + var inlineSt = mfp.st.inline, + el = $(item.src); + + if(el.length) { + + // If target element has parent - we replace it with placeholder and put it back after popup is closed + var parent = el[0].parentNode; + if(parent && parent.tagName) { + if(!_inlinePlaceholder) { + _hiddenClass = inlineSt.hiddenClass; + _inlinePlaceholder = _getEl(_hiddenClass); + _hiddenClass = 'mfp-'+_hiddenClass; + } + // replace target inline element with placeholder + _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass); + } + + mfp.updateStatus('ready'); + } else { + mfp.updateStatus('error', inlineSt.tNotFound); + el = $('
'); + } + + item.inlineElement = el; + return el; + } + + mfp.updateStatus('ready'); + mfp._parseMarkup(template, {}, item); + return template; + } + } +}); + +/*>>inline*/ + +/*>>ajax*/ +var AJAX_NS = 'ajax', + _ajaxCur, + _removeAjaxCursor = function() { + if(_ajaxCur) { + _body.removeClass(_ajaxCur); + } + }, + _destroyAjaxRequest = function() { + _removeAjaxCursor(); + if(mfp.req) { + mfp.req.abort(); + } + }; + +$.magnificPopup.registerModule(AJAX_NS, { + + options: { + settings: null, + cursor: 'mfp-ajax-cur', + tError: 'The content could not be loaded.' + }, + + proto: { + initAjax: function() { + mfp.types.push(AJAX_NS); + _ajaxCur = mfp.st.ajax.cursor; + + _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest); + _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest); + }, + getAjax: function(item) { + + if(_ajaxCur) + _body.addClass(_ajaxCur); + + mfp.updateStatus('loading'); + + var opts = $.extend({ + url: item.src, + success: function(data, textStatus, jqXHR) { + var temp = { + data:data, + xhr:jqXHR + }; + + _mfpTrigger('ParseAjax', temp); + + mfp.appendContent( $(temp.data), AJAX_NS ); + + item.finished = true; + + _removeAjaxCursor(); + + mfp._setFocus(); + + setTimeout(function() { + mfp.wrap.addClass(READY_CLASS); + }, 16); + + mfp.updateStatus('ready'); + + _mfpTrigger('AjaxContentAdded'); + }, + error: function() { + _removeAjaxCursor(); + item.finished = item.loadError = true; + mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src)); + } + }, mfp.st.ajax.settings); + + mfp.req = $.ajax(opts); + + return ''; + } + } +}); + + + + + + + +/*>>ajax*/ + +/*>>image*/ +var _imgInterval, + _getTitle = function(item) { + if(item.data && item.data.title !== undefined) + return item.data.title; + + var src = mfp.st.image.titleSrc; + + if(src) { + if($.isFunction(src)) { + return src.call(mfp, item); + } else if(item.el) { + return item.el.attr(src) || ''; + } + } + return ''; + }; + +$.magnificPopup.registerModule('image', { + + options: { + markup: '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
', + cursor: 'mfp-zoom-out-cur', + titleSrc: 'title', + verticalFit: true, + tError: 'The image could not be loaded.' + }, + + proto: { + initImage: function() { + var imgSt = mfp.st.image, + ns = '.image'; + + mfp.types.push('image'); + + _mfpOn(OPEN_EVENT+ns, function() { + if(mfp.currItem.type === 'image' && imgSt.cursor) { + _body.addClass(imgSt.cursor); + } + }); + + _mfpOn(CLOSE_EVENT+ns, function() { + if(imgSt.cursor) { + _body.removeClass(imgSt.cursor); + } + _window.off('resize' + EVENT_NS); + }); + + _mfpOn('Resize'+ns, mfp.resizeImage); + if(mfp.isLowIE) { + _mfpOn('AfterChange', mfp.resizeImage); + } + }, + resizeImage: function() { + var item = mfp.currItem; + if(!item || !item.img) return; + + if(mfp.st.image.verticalFit) { + var decr = 0; + // fix box-sizing in ie7/8 + if(mfp.isLowIE) { + decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10); + } + item.img.css('max-height', mfp.wH-decr); + } + }, + _onImageHasSize: function(item) { + if(item.img) { + + item.hasSize = true; + + if(_imgInterval) { + clearInterval(_imgInterval); + } + + item.isCheckingImgSize = false; + + _mfpTrigger('ImageHasSize', item); + + if(item.imgHidden) { + if(mfp.content) + mfp.content.removeClass('mfp-loading'); + + item.imgHidden = false; + } + + } + }, + + /** + * Function that loops until the image has size to display elements that rely on it asap + */ + findImageSize: function(item) { + + var counter = 0, + img = item.img[0], + mfpSetInterval = function(delay) { + + if(_imgInterval) { + clearInterval(_imgInterval); + } + // decelerating interval that checks for size of an image + _imgInterval = setInterval(function() { + if(img.naturalWidth > 0) { + mfp._onImageHasSize(item); + return; + } + + if(counter > 200) { + clearInterval(_imgInterval); + } + + counter++; + if(counter === 3) { + mfpSetInterval(10); + } else if(counter === 40) { + mfpSetInterval(50); + } else if(counter === 100) { + mfpSetInterval(500); + } + }, delay); + }; + + mfpSetInterval(1); + }, + + getImage: function(item, template) { + + var guard = 0, + + // image load complete handler + onLoadComplete = function() { + if(item) { + if (item.img[0].complete) { + item.img.off('.mfploader'); + + if(item === mfp.currItem){ + mfp._onImageHasSize(item); + + mfp.updateStatus('ready'); + } + + item.hasSize = true; + item.loaded = true; + + _mfpTrigger('ImageLoadComplete'); + + } + else { + // if image complete check fails 200 times (20 sec), we assume that there was an error. + guard++; + if(guard < 200) { + setTimeout(onLoadComplete,100); + } else { + onLoadError(); + } + } + } + }, + + // image error handler + onLoadError = function() { + if(item) { + item.img.off('.mfploader'); + if(item === mfp.currItem){ + mfp._onImageHasSize(item); + mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); + } + + item.hasSize = true; + item.loaded = true; + item.loadError = true; + } + }, + imgSt = mfp.st.image; + + + var el = template.find('.mfp-img'); + if(el.length) { + var img = document.createElement('img'); + img.className = 'mfp-img'; + item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError); + img.src = item.src; + + // without clone() "error" event is not firing when IMG is replaced by new IMG + // TODO: find a way to avoid such cloning + if(el.is('img')) { + item.img = item.img.clone(); + } + + img = item.img[0]; + if(img.naturalWidth > 0) { + item.hasSize = true; + } else if(!img.width) { + item.hasSize = false; + } + } + + mfp._parseMarkup(template, { + title: _getTitle(item), + img_replaceWith: item.img + }, item); + + mfp.resizeImage(); + + if(item.hasSize) { + if(_imgInterval) clearInterval(_imgInterval); + + if(item.loadError) { + template.addClass('mfp-loading'); + mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); + } else { + template.removeClass('mfp-loading'); + mfp.updateStatus('ready'); + } + return template; + } + + mfp.updateStatus('loading'); + item.loading = true; + + if(!item.hasSize) { + item.imgHidden = true; + template.addClass('mfp-loading'); + mfp.findImageSize(item); + } + + return template; + } + } +}); + + + +/*>>image*/ + +/*>>zoom*/ +var hasMozTransform, + getHasMozTransform = function() { + if(hasMozTransform === undefined) { + hasMozTransform = document.createElement('p').style.MozTransform !== undefined; + } + return hasMozTransform; + }; + +$.magnificPopup.registerModule('zoom', { + + options: { + enabled: false, + easing: 'ease-in-out', + duration: 300, + opener: function(element) { + return element.is('img') ? element : element.find('img'); + } + }, + + proto: { + + initZoom: function() { + var zoomSt = mfp.st.zoom, + ns = '.zoom', + image; + + if(!zoomSt.enabled || !mfp.supportsTransition) { + return; + } + + var duration = zoomSt.duration, + getElToAnimate = function(image) { + var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'), + transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing, + cssObj = { + position: 'fixed', + zIndex: 9999, + left: 0, + top: 0, + '-webkit-backface-visibility': 'hidden' + }, + t = 'transition'; + + cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition; + + newImg.css(cssObj); + return newImg; + }, + showMainContent = function() { + mfp.content.css('visibility', 'visible'); + }, + openTimeout, + animatedImg; + + _mfpOn('BuildControls'+ns, function() { + if(mfp._allowZoom()) { + + clearTimeout(openTimeout); + mfp.content.css('visibility', 'hidden'); + + // Basically, all code below does is clones existing image, puts in on top of the current one and animated it + + image = mfp._getItemToZoom(); + + if(!image) { + showMainContent(); + return; + } + + animatedImg = getElToAnimate(image); + + animatedImg.css( mfp._getOffset() ); + + mfp.wrap.append(animatedImg); + + openTimeout = setTimeout(function() { + animatedImg.css( mfp._getOffset( true ) ); + openTimeout = setTimeout(function() { + + showMainContent(); + + setTimeout(function() { + animatedImg.remove(); + image = animatedImg = null; + _mfpTrigger('ZoomAnimationEnded'); + }, 16); // avoid blink when switching images + + }, duration); // this timeout equals animation duration + + }, 16); // by adding this timeout we avoid short glitch at the beginning of animation + + + // Lots of timeouts... + } + }); + _mfpOn(BEFORE_CLOSE_EVENT+ns, function() { + if(mfp._allowZoom()) { + + clearTimeout(openTimeout); + + mfp.st.removalDelay = duration; + + if(!image) { + image = mfp._getItemToZoom(); + if(!image) { + return; + } + animatedImg = getElToAnimate(image); + } + + + animatedImg.css( mfp._getOffset(true) ); + mfp.wrap.append(animatedImg); + mfp.content.css('visibility', 'hidden'); + + setTimeout(function() { + animatedImg.css( mfp._getOffset() ); + }, 16); + } + + }); + + _mfpOn(CLOSE_EVENT+ns, function() { + if(mfp._allowZoom()) { + showMainContent(); + if(animatedImg) { + animatedImg.remove(); + } + image = null; + } + }); + }, + + _allowZoom: function() { + return mfp.currItem.type === 'image'; + }, + + _getItemToZoom: function() { + if(mfp.currItem.hasSize) { + return mfp.currItem.img; + } else { + return false; + } + }, + + // Get element postion relative to viewport + _getOffset: function(isLarge) { + var el; + if(isLarge) { + el = mfp.currItem.img; + } else { + el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem); + } + + var offset = el.offset(); + var paddingTop = parseInt(el.css('padding-top'),10); + var paddingBottom = parseInt(el.css('padding-bottom'),10); + offset.top -= ( $(window).scrollTop() - paddingTop ); + + + /* + + Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa. + + */ + var obj = { + width: el.width(), + // fix Zepto height+padding issue + height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop + }; + + // I hate to do this, but there is no another option + if( getHasMozTransform() ) { + obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)'; + } else { + obj.left = offset.left; + obj.top = offset.top; + } + return obj; + } + + } +}); + + + +/*>>zoom*/ + +/*>>iframe*/ + +var IFRAME_NS = 'iframe', + _emptyPage = '//about:blank', + + _fixIframeBugs = function(isShowing) { + if(mfp.currTemplate[IFRAME_NS]) { + var el = mfp.currTemplate[IFRAME_NS].find('iframe'); + if(el.length) { + // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug + if(!isShowing) { + el[0].src = _emptyPage; + } + + // IE8 black screen bug fix + if(mfp.isIE8) { + el.css('display', isShowing ? 'block' : 'none'); + } + } + } + }; + +$.magnificPopup.registerModule(IFRAME_NS, { + + options: { + markup: '
'+ + '
'+ + ''+ + '
', + + srcAction: 'iframe_src', + + // we don't care and support only one default type of URL by default + patterns: { + youtube: { + index: 'youtube.com', + id: 'v=', + src: '//www.youtube.com/embed/%id%?autoplay=1' + }, + vimeo: { + index: 'vimeo.com/', + id: '/', + src: '//player.vimeo.com/video/%id%?autoplay=1' + }, + gmaps: { + index: '//maps.google.', + src: '%id%&output=embed' + } + } + }, + + proto: { + initIframe: function() { + mfp.types.push(IFRAME_NS); + + _mfpOn('BeforeChange', function(e, prevType, newType) { + if(prevType !== newType) { + if(prevType === IFRAME_NS) { + _fixIframeBugs(); // iframe if removed + } else if(newType === IFRAME_NS) { + _fixIframeBugs(true); // iframe is showing + } + }// else { + // iframe source is switched, don't do anything + //} + }); + + _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() { + _fixIframeBugs(); + }); + }, + + getIframe: function(item, template) { + var embedSrc = item.src; + var iframeSt = mfp.st.iframe; + + $.each(iframeSt.patterns, function() { + if(embedSrc.indexOf( this.index ) > -1) { + if(this.id) { + if(typeof this.id === 'string') { + embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); + } else { + embedSrc = this.id.call( this, embedSrc ); + } + } + embedSrc = this.src.replace('%id%', embedSrc ); + return false; // break; + } + }); + + var dataObj = {}; + if(iframeSt.srcAction) { + dataObj[iframeSt.srcAction] = embedSrc; + } + mfp._parseMarkup(template, dataObj, item); + + mfp.updateStatus('ready'); + + return template; + } + } +}); + + + +/*>>iframe*/ + +/*>>gallery*/ +/** + * Get looped index depending on number of slides + */ +var _getLoopedId = function(index) { + var numSlides = mfp.items.length; + if(index > numSlides - 1) { + return index - numSlides; + } else if(index < 0) { + return numSlides + index; + } + return index; + }, + _replaceCurrTotal = function(text, curr, total) { + return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total); + }; + +$.magnificPopup.registerModule('gallery', { + + options: { + enabled: false, + arrowMarkup: '', + preload: [0,2], + navigateByImgClick: true, + arrows: true, + + tPrev: 'Previous (Left arrow key)', + tNext: 'Next (Right arrow key)', + tCounter: '%curr% of %total%' + }, + + proto: { + initGallery: function() { + + var gSt = mfp.st.gallery, + ns = '.mfp-gallery', + supportsFastClick = Boolean($.fn.mfpFastClick); + + mfp.direction = true; // true - next, false - prev + + if(!gSt || !gSt.enabled ) return false; + + _wrapClasses += ' mfp-gallery'; + + _mfpOn(OPEN_EVENT+ns, function() { + + if(gSt.navigateByImgClick) { + mfp.wrap.on('click'+ns, '.mfp-img', function() { + if(mfp.items.length > 1) { + mfp.next(); + return false; + } + }); + } + + _document.on('keydown'+ns, function(e) { + if (e.keyCode === 37) { + mfp.prev(); + } else if (e.keyCode === 39) { + mfp.next(); + } + }); + }); + + _mfpOn('UpdateStatus'+ns, function(e, data) { + if(data.text) { + data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); + } + }); + + _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) { + var l = mfp.items.length; + values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : ''; + }); + + _mfpOn('BuildControls' + ns, function() { + if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) { + var markup = gSt.arrowMarkup, + arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS), + arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS); + + var eName = supportsFastClick ? 'mfpFastClick' : 'click'; + arrowLeft[eName](function() { + mfp.prev(); + }); + arrowRight[eName](function() { + mfp.next(); + }); + + // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b) + if(mfp.isIE7) { + _getEl('b', arrowLeft[0], false, true); + _getEl('a', arrowLeft[0], false, true); + _getEl('b', arrowRight[0], false, true); + _getEl('a', arrowRight[0], false, true); + } + + mfp.container.append(arrowLeft.add(arrowRight)); + } + }); + + _mfpOn(CHANGE_EVENT+ns, function() { + if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); + + mfp._preloadTimeout = setTimeout(function() { + mfp.preloadNearbyImages(); + mfp._preloadTimeout = null; + }, 16); + }); + + + _mfpOn(CLOSE_EVENT+ns, function() { + _document.off(ns); + mfp.wrap.off('click'+ns); + + if(mfp.arrowLeft && supportsFastClick) { + mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick(); + } + mfp.arrowRight = mfp.arrowLeft = null; + }); + + }, + next: function() { + mfp.direction = true; + mfp.index = _getLoopedId(mfp.index + 1); + mfp.updateItemHTML(); + }, + prev: function() { + mfp.direction = false; + mfp.index = _getLoopedId(mfp.index - 1); + mfp.updateItemHTML(); + }, + goTo: function(newIndex) { + mfp.direction = (newIndex >= mfp.index); + mfp.index = newIndex; + mfp.updateItemHTML(); + }, + preloadNearbyImages: function() { + var p = mfp.st.gallery.preload, + preloadBefore = Math.min(p[0], mfp.items.length), + preloadAfter = Math.min(p[1], mfp.items.length), + i; + + for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) { + mfp._preloadItem(mfp.index+i); + } + for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) { + mfp._preloadItem(mfp.index-i); + } + }, + _preloadItem: function(index) { + index = _getLoopedId(index); + + if(mfp.items[index].preloaded) { + return; + } + + var item = mfp.items[index]; + if(!item.parsed) { + item = mfp.parseEl( index ); + } + + _mfpTrigger('LazyLoad', item); + + if(item.type === 'image') { + item.img = $('').on('load.mfploader', function() { + item.hasSize = true; + }).on('error.mfploader', function() { + item.hasSize = true; + item.loadError = true; + _mfpTrigger('LazyLoadError', item); + }).attr('src', item.src); + } + + + item.preloaded = true; + } + } +}); + +/* +Touch Support that might be implemented some day + +addSwipeGesture: function() { + var startX, + moved, + multipleTouches; + + return; + + var namespace = '.mfp', + addEventNames = function(pref, down, move, up, cancel) { + mfp._tStart = pref + down + namespace; + mfp._tMove = pref + move + namespace; + mfp._tEnd = pref + up + namespace; + mfp._tCancel = pref + cancel + namespace; + }; + + if(window.navigator.msPointerEnabled) { + addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel'); + } else if('ontouchstart' in window) { + addEventNames('touch', 'start', 'move', 'end', 'cancel'); + } else { + return; + } + _window.on(mfp._tStart, function(e) { + var oE = e.originalEvent; + multipleTouches = moved = false; + startX = oE.pageX || oE.changedTouches[0].pageX; + }).on(mfp._tMove, function(e) { + if(e.originalEvent.touches.length > 1) { + multipleTouches = e.originalEvent.touches.length; + } else { + //e.preventDefault(); + moved = true; + } + }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) { + if(moved && !multipleTouches) { + var oE = e.originalEvent, + diff = startX - (oE.pageX || oE.changedTouches[0].pageX); + + if(diff > 20) { + mfp.next(); + } else if(diff < -20) { + mfp.prev(); + } + } + }); +}, +*/ + + +/*>>gallery*/ + +/*>>retina*/ + +var RETINA_NS = 'retina'; + +$.magnificPopup.registerModule(RETINA_NS, { + options: { + replaceSrc: function(item) { + return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; }); + }, + ratio: 1 // Function or number. Set to 1 to disable. + }, + proto: { + initRetina: function() { + if(window.devicePixelRatio > 1) { + + var st = mfp.st.retina, + ratio = st.ratio; + + ratio = !isNaN(ratio) ? ratio : ratio(); + + if(ratio > 1) { + _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { + item.img.css({ + 'max-width': item.img[0].naturalWidth / ratio, + 'width': '100%' + }); + }); + _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { + item.src = st.replaceSrc(item, ratio); + }); + } + } + + } + } +}); + +/*>>retina*/ + +/*>>fastclick*/ +/** + * FastClick event implementation. (removes 300ms delay on touch devices) + * Based on https://developers.google.com/mobile/articles/fast_buttons + * + * You may use it outside the Magnific Popup by calling just: + * + * $('.your-el').mfpFastClick(function() { + * console.log('Clicked!'); + * }); + * + * To unbind: + * $('.your-el').destroyMfpFastClick(); + * + * + * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound. + * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick + * + */ + +(function() { + var ghostClickDelay = 1000, + supportsTouch = 'ontouchstart' in window, + unbindTouchMove = function() { + _window.off('touchmove'+ns+' touchend'+ns); + }, + eName = 'mfpFastClick', + ns = '.'+eName; + + + // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way + $.fn.mfpFastClick = function(callback) { + + return $(this).each(function() { + + var elem = $(this), + lock; + + if( supportsTouch ) { + + var timeout, + startX, + startY, + pointerMoved, + point, + numPointers; + + elem.on('touchstart' + ns, function(e) { + pointerMoved = false; + numPointers = 1; + + point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0]; + startX = point.clientX; + startY = point.clientY; + + _window.on('touchmove'+ns, function(e) { + point = e.originalEvent ? e.originalEvent.touches : e.touches; + numPointers = point.length; + point = point[0]; + if (Math.abs(point.clientX - startX) > 10 || + Math.abs(point.clientY - startY) > 10) { + pointerMoved = true; + unbindTouchMove(); + } + }).on('touchend'+ns, function(e) { + unbindTouchMove(); + if(pointerMoved || numPointers > 1) { + return; + } + lock = true; + e.preventDefault(); + clearTimeout(timeout); + timeout = setTimeout(function() { + lock = false; + }, ghostClickDelay); + callback(); + }); + }); + + } + + elem.on('click' + ns, function() { + if(!lock) { + callback(); + } + }); + }); + }; + + $.fn.destroyMfpFastClick = function() { + $(this).off('touchstart' + ns + ' click' + ns); + if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns); + }; +})(); + +/*>>fastclick*/ + _checkInstance(); })(window.jQuery || window.Zepto); diff --git a/assets/js/plugins/jquery.smooth-scroll.min.js b/assets/js/plugins/jquery.smooth-scroll.min.js new file mode 100644 index 0000000000..3576b049dd --- /dev/null +++ b/assets/js/plugins/jquery.smooth-scroll.min.js @@ -0,0 +1,8 @@ +/*! + * jQuery Smooth Scroll - v1.7.2 - 2016-01-23 + * https://github.com/kswedberg/jquery-smooth-scroll + * Copyright (c) 2016 Karl Swedberg + * Licensed MIT + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof module&&module.exports?require("jquery"):jQuery)}(function(a){var b="1.7.2",c={},d={exclude:[],excludeWithin:[],offset:0,direction:"top",delegateSelector:null,scrollElement:null,scrollTarget:null,beforeScroll:function(){},afterScroll:function(){},easing:"swing",speed:400,autoCoefficient:2,preventDefault:!0},e=function(b){var c=[],d=!1,e=b.dir&&"left"===b.dir?"scrollLeft":"scrollTop";return this.each(function(){var b=a(this);if(this!==document&&this!==window)return!document.scrollingElement||this!==document.documentElement&&this!==document.body?void(b[e]()>0?c.push(this):(b[e](1),d=b[e]()>0,d&&c.push(this),b[e](0))):(c.push(document.scrollingElement),!1)}),c.length||this.each(function(){this===document.documentElement&&"smooth"===a(this).css("scrollBehavior")&&(c=[this]),c.length||"BODY"!==this.nodeName||(c=[this])}),"first"===b.el&&c.length>1&&(c=[c[0]]),c};a.fn.extend({scrollable:function(a){var b=e.call(this,{dir:a});return this.pushStack(b)},firstScrollable:function(a){var b=e.call(this,{el:"first",dir:a});return this.pushStack(b)},smoothScroll:function(b,c){if(b=b||{},"options"===b)return c?this.each(function(){var b=a(this),d=a.extend(b.data("ssOpts")||{},c);a(this).data("ssOpts",d)}):this.first().data("ssOpts");var d=a.extend({},a.fn.smoothScroll.defaults,b),e=function(b){var c=function(a){return a.replace(/(:|\.|\/)/g,"\\$1")},e=this,f=a(this),g=a.extend({},d,f.data("ssOpts")||{}),h=d.exclude,i=g.excludeWithin,j=0,k=0,l=!0,m={},n=a.smoothScroll.filterPath(location.pathname),o=a.smoothScroll.filterPath(e.pathname),p=location.hostname===e.hostname||!e.hostname,q=g.scrollTarget||o===n,r=c(e.hash);if(r&&!a(r).length&&(l=!1),g.scrollTarget||p&&q&&r){for(;l&&j=0;a--)j(H[a])}function j(a){if(a.inited){var b=F.top<=a.limit.start?0:F.top>=a.limit.end?2:1;a.mode!=b&&p(a,b)}}function k(){for(var a=H.length-1;a>=0;a--)if(H[a].inited){var b=Math.abs(t(H[a].clone)-H[a].docOffsetTop),c=Math.abs(H[a].parent.node.offsetHeight-H[a].parent.height);if(b>=2||c>=2)return!1}return!0}function l(a){isNaN(parseFloat(a.computed.top))||a.isCell||"none"==a.computed.display||(a.inited=!0,a.clone||q(a),"absolute"!=a.parent.computed.position&&"relative"!=a.parent.computed.position&&(a.parent.node.style.position="relative"),j(a),a.parent.height=a.parent.node.offsetHeight,a.docOffsetTop=t(a.clone))}function m(a){var b=!0;a.clone&&r(a),d(a.node.style,a.css);for(var c=H.length-1;c>=0;c--)if(H[c].node!==a.node&&H[c].parent.node===a.parent.node){b=!1;break}b&&(a.parent.node.style.position=a.parent.css.position),a.mode=-1}function n(){for(var a=H.length-1;a>=0;a--)l(H[a])}function o(){for(var a=H.length-1;a>=0;a--)m(H[a])}function p(a,b){var c=a.node.style;switch(b){case 0:c.position="absolute",c.left=a.offset.left+"px",c.right=a.offset.right+"px",c.top=a.offset.top+"px",c.bottom="auto",c.width="auto",c.marginLeft=0,c.marginRight=0,c.marginTop=0;break;case 1:c.position="fixed",c.left=a.box.left+"px",c.right=a.box.right+"px",c.top=a.css.top,c.bottom="auto",c.width="auto",c.marginLeft=0,c.marginRight=0,c.marginTop=0;break;case 2:c.position="absolute",c.left=a.offset.left+"px",c.right=a.offset.right+"px",c.top="auto",c.bottom=0,c.width="auto",c.marginLeft=0,c.marginRight=0}a.mode=b}function q(a){a.clone=document.createElement("div");var b=a.node.nextSibling||a.node,c=a.clone.style;c.height=a.height+"px",c.width=a.width+"px",c.marginTop=a.computed.marginTop,c.marginBottom=a.computed.marginBottom,c.marginLeft=a.computed.marginLeft,c.marginRight=a.computed.marginRight,c.padding=c.border=c.borderSpacing=0,c.fontSize="1em",c.position="static",c.cssFloat=a.computed.cssFloat,a.node.parentNode.insertBefore(a.clone,b)}function r(a){a.clone.parentNode.removeChild(a.clone),a.clone=void 0}function s(a){var b=getComputedStyle(a),c=a.parentNode,d=getComputedStyle(c),f=a.style.position;a.style.position="relative";var g={top:b.top,marginTop:b.marginTop,marginBottom:b.marginBottom,marginLeft:b.marginLeft,marginRight:b.marginRight,cssFloat:b.cssFloat,display:b.display},h={top:e(b.top),marginBottom:e(b.marginBottom),paddingLeft:e(b.paddingLeft),paddingRight:e(b.paddingRight),borderLeftWidth:e(b.borderLeftWidth),borderRightWidth:e(b.borderRightWidth)};a.style.position=f;var i={position:a.style.position,top:a.style.top,bottom:a.style.bottom,left:a.style.left,right:a.style.right,width:a.style.width,marginTop:a.style.marginTop,marginLeft:a.style.marginLeft,marginRight:a.style.marginRight},j=u(a),k=u(c),l={node:c,css:{position:c.style.position},computed:{position:d.position},numeric:{borderLeftWidth:e(d.borderLeftWidth),borderRightWidth:e(d.borderRightWidth),borderTopWidth:e(d.borderTopWidth),borderBottomWidth:e(d.borderBottomWidth)}},m={node:a,box:{left:j.win.left,right:J.clientWidth-j.win.right},offset:{top:j.win.top-k.win.top-l.numeric.borderTopWidth,left:j.win.left-k.win.left-l.numeric.borderLeftWidth,right:-j.win.right+k.win.right-l.numeric.borderRightWidth},css:i,isCell:"table-cell"==b.display,computed:g,numeric:h,width:j.win.right-j.win.left,height:j.win.bottom-j.win.top,mode:-1,inited:!1,parent:l,limit:{start:j.doc.top-h.top,end:k.doc.top+c.offsetHeight-l.numeric.borderBottomWidth-a.offsetHeight-h.top-h.marginBottom}};return m}function t(a){for(var b=0;a;)b+=a.offsetTop,a=a.offsetParent;return b}function u(a){var c=a.getBoundingClientRect();return{doc:{top:c.top+b.pageYOffset,left:c.left+b.pageXOffset},win:c}}function v(){G=setInterval(function(){!k()&&z()},500)}function w(){clearInterval(G)}function x(){I&&(document[L]?w():v())}function y(){I||(f(),n(),b.addEventListener("scroll",g),b.addEventListener("wheel",h),b.addEventListener("resize",z),b.addEventListener("orientationchange",z),a.addEventListener(M,x),v(),I=!0)}function z(){if(I){o();for(var a=H.length-1;a>=0;a--)H[a]=s(H[a].node);n()}}function A(){b.removeEventListener("scroll",g),b.removeEventListener("wheel",h),b.removeEventListener("resize",z),b.removeEventListener("orientationchange",z),a.removeEventListener(M,x),w(),I=!1}function B(){A(),o()}function C(){for(B();H.length;)H.pop()}function D(a){for(var b=H.length-1;b>=0;b--)if(H[b].node===a)return;var c=s(a);H.push(c),I?l(c):y()}function E(a){for(var b=H.length-1;b>=0;b--)H[b].node===a&&(m(H[b]),H.splice(b,1))}var F,G,H=[],I=!1,J=a.documentElement,K=function(){},L="hidden",M="visibilitychange";void 0!==a.webkitHidden&&(L="webkitHidden",M="webkitvisibilitychange"),b.getComputedStyle||c();for(var N=["","-webkit-","-moz-","-ms-"],O=document.createElement("div"),P=N.length-1;P>=0;P--){try{O.style.position=N[P]+"sticky"}catch(Q){}""!=O.style.position&&c()}f(),b.Stickyfill={stickies:H,add:D,remove:E,init:y,rebuild:z,pause:A,stop:B,kill:C}}(document,window),window.jQuery&&!function($){$.fn.Stickyfill=function(a){return this.each(function(){Stickyfill.add(this)}),this}}(window.jQuery); \ No newline at end of file diff --git a/assets/js/vendor/jquery/jquery-1.12.4.min.js b/assets/js/vendor/jquery/jquery-1.12.4.min.js new file mode 100644 index 0000000000..b0ecaddee2 --- /dev/null +++ b/assets/js/vendor/jquery/jquery-1.12.4.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"

","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n(" {:/nomarkdown}' +feature_row: + - image_path: /assets/images/rmq-customizable-feature.png + alt: "Low Latency" + title: "Low Latency" + excerpt: "A lot of work was done for wiping out spikes. Almost all messages could be responsed in a few milliseconds under high concurrency." + - image_path: /assets/images/rmq-responsive-feature.png + alt: "Finance Oriented" + title: "Finance Oriented" + excerpt: "High availability with replica. Every message could be tracked or repaired with a serial of tracking tools" + - image_path: /assets/images/rmq-free-feature.png + alt: "Large Accumulation" + title: "Large Accumulation" + excerpt: "Accumulate unlimited messages as long as there is enough disk space. Without performance loss." +github: + - excerpt: '{::nomarkdown} {:/nomarkdown}' +--- + +{% include feature_row %} diff --git a/package.json b/package.json new file mode 100644 index 0000000000..81a9389962 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "minimal-mistakes", + "version": "4.1.0", + "description": "Minimal Mistakes Jekyll theme npm build scripts", + "repository": { + "type": "git", + "url": "git://github.com/mmistakes/minimal-mistakes.git" + }, + "keywords": [ + "jekyll", + "theme", + "minimal" + ], + "author": "Michael Rose", + "license": "MIT", + "bugs": { + "url": "https://github.com/mmistakes/minimal-mistakes/issues" + }, + "homepage": "https://mmistakes.github.io/minimal-mistakes/", + "engines": { + "node": ">= 0.10.0" + }, + "devDependencies": { + "npm-run-all": "^1.7.0", + "onchange": "^2.2.0", + "uglify-js": "^2.6.1" + }, + "scripts": { + "uglify": "uglifyjs assets/js/vendor/jquery/jquery-1.12.4.min.js assets/js/plugins/jquery.fitvids.js assets/js/plugins/jquery.greedy-navigation.js assets/js/plugins/jquery.magnific-popup.js assets/js/plugins/jquery.smooth-scroll.min.js assets/js/plugins/stickyfill.min.js assets/js/_main.js -c -m -o assets/js/main.min.js", + "watch:js": "onchange \"assets/js/**/*.js\" -e \"assets/js/main.min.js\" -- npm run build:js", + "build:js": "npm run uglify" + } +}