diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000000..c2b8acd53f --- /dev/null +++ b/Gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +gem 'jekyll', '3.0.2' +gem 'jekyll-gist' +gem 'jekyll-paginate' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000000..86f041e52e --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,53 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.3.8) + colorator (0.1) + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + ffi (1.9.10) + jekyll (3.0.2) + colorator (~> 0.1) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 3.0) + mercenary (~> 0.3.3) + rouge (~> 1.7) + safe_yaml (~> 1.0) + jekyll-gist (1.4.0) + octokit (~> 4.2) + jekyll-paginate (1.1.0) + jekyll-sass-converter (1.4.0) + sass (~> 3.4) + jekyll-watch (1.3.1) + listen (~> 3.0) + kramdown (1.9.0) + liquid (3.0.6) + listen (3.0.5) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9) + mercenary (0.3.5) + multipart-post (2.0.0) + octokit (4.2.0) + sawyer (~> 0.6.0, >= 0.5.3) + rb-fsevent (0.9.7) + rb-inotify (0.9.7) + ffi (>= 0.5.0) + rouge (1.10.1) + safe_yaml (1.0.4) + sass (3.4.21) + sawyer (0.6.0) + addressable (~> 2.3.5) + faraday (~> 0.8, < 0.10) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll (= 3.0.2) + jekyll-gist + jekyll-paginate + +BUNDLED WITH + 1.10.6 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..67bbcc8323 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Moritz »mo.« Sauer // Phlow.de + +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. diff --git a/README.md b/README.md index 31134f9162..bb4e2484d1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # InnerSource Commons -This repo primarily serves to host the pages for InnerSource Commons. There's not much to be done in this branch yet. +This repo primarily serves to host the pages for InnerSource Commons. The master branch holds the source and the gh-pages branch holds the [Jekyll](https://jekyllrb.com/) rendered output. -If you'd like to add your case study to the collection, you'll want to switch to the gh-pages branch. \ No newline at end of file +## Contributing + +TODO: Add contributing guidelines. \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000000..1a7ac22fb3 --- /dev/null +++ b/_config.yml @@ -0,0 +1,247 @@ +# ASCII-Font › http://patorjk.com/software/taag/#p=display&f=Slant&t=Phlow +# +# _____ _ __ _____ __ __ _ +# / ___/(_) /____ / ___/___ / /_/ /_(_)___ ____ ______ +# \__ \/ / __/ _ \ \__ \/ _ \/ __/ __/ / __ \/ __ `/ ___/ +# ___/ / / /_/ __/ ___/ / __/ /_/ /_/ / / / / /_/ (__ ) +# /____/_/\__/\___/ /____/\___/\__/\__/_/_/ /_/\__, /____/ +# /____/ +# +# Title of your website +title: 'InnerSource Commons' + +# The slogan describes your website and is used on homepage in and other important places +slogan: 'The journey is the reward' + +# The description is used on homepage and in the footer to quickly describe your website. Use a maximum of 150 characters for SEO-purposes. +description: 'InnerSource applies the lessons of Open Source to all software engineering, using collaboration and transparency to increase quality, speed, and developer joy' + +# The credits show up in the includes/_footer.html – It would be nice of you to leave a link to Phlow or Feeling Responsive as a thank you :) +credits: '<p>Maintained by <a href="https://paypal.github.io/">PayPal</a> and the InnerSource community.</p>' + +# Main author of the website +# See > authors.yml +author: cewilliams + +# This URL is the main address for absolute links. Don't include a slash at the end. +# +url: '' +baseurl: '' + +# This is for the editing function in _/includes/improve_content +# Leave it empty if your site is not on GitHub/GitHub Pages +improve_content: https://github.com/paypal/InnerSourceCommons/edit/gh-pages + +# This URL points directly to the images directory making +# things easier to link to images in posts and templates. It needs a slash at the end. +# +# Example: <img src="{{ site.urlimg }}{{ post.image.title }}" /> +# Markdown-Example for posts ![Image Text]({{ site.urlimg }}image.jpg) +# +urlimg: 'https://paypal.github.io/InnerSourceCommons/images/' + + +# Logo size is 600x80 pixels +logo: "logo.png" + + +# ____ _ __ _ +# / __ \____ _____ _(_)___ ____ _/ /_(_)___ ____ +# / /_/ / __ `/ __ `/ / __ \/ __ `/ __/ / __ \/ __ \ +# / ____/ /_/ / /_/ / / / / / /_/ / /_/ / /_/ / / / / +# /_/ \__,_/\__, /_/_/ /_/\__,_/\__/_/\____/_/ /_/ +# /____/ +# +gems: + - jekyll-gist + - jekyll-paginate +paginate: 5 # Paginates all X entries +paginate_path: "blog/page:num" # Pagination path › Important for blog page in /blog/ to work + + + + +# Theme works best with Kramdown (using the table of contents function) +markdown: kramdown +permalink: /:categories/:title/ +highlight: rouge +excerpt_separator: "<!--more-->" +include: ['.htaccess'] +# Exclude these files from your production _site +exclude: + - .sass-cache + - Gemfile + - Gemfile.lock + - LICENSE + - README.md + - INSTALL.md + + +# The language setting is used in /includes/header.html for html-settings +language: 'en' + + +# Used › default.html front-matter and compress.html +# Options › http://jch.penibelst.de +compress_html: + clippings: all + comments: ["<!-- ", " -->"] + endings: all + profile: false + ignore: + envs: [development] + + +# +# ____ ____ ____ +# / __ \___ / __/___ ___ __/ / /_ +# / / / / _ \/ /_/ __ `/ / / / / __/ +# / /_/ / __/ __/ /_/ / /_/ / / /_ +# /_____/\___/_/ \__,_/\__,_/_/\__/ +# +# Default Settings + +defaults: + - + scope: + path: '' # an empty string here means all files in the project + type: 'pages' + values: + show_meta: false # Hide metadata for all pages + # sidebar: # Possible values › left, right › by default there will be no sidebar + comments: false + author: cewilliams # Default author for pages + - + scope: + path: '' + type: 'posts' + values: + show_meta: true # Show metadata for all posts + # sidebar: # Possible values › left, right › by default there will be no sidebar + comments: false + author: cewilliams # Default author for posts + + + +# _ __ _ __ _ +# / | / /___ __ __(_)___ _____ _/ /_(_)___ ____ +# / |/ / __ `/ | / / / __ `/ __ `/ __/ / __ \/ __ \ +# / /| / /_/ /| |/ / / /_/ / /_/ / /_/ / /_/ / / / / +# /_/ |_/\__,_/ |___/_/\__, /\__,_/\__/_/\____/_/ /_/ +# /____/ +# +# Open _data/navigation.yml to adjust the left and right topbar navigation +# + + + +# _____ __________ +# / ___// ____/ __ \ +# \__ \/ __/ / / / / +# ___/ / /___/ /_/ / +# /____/_____/\____/ Verify Website to Webmaster Tools + +# google_author: 'https://plus.google.com/u/0/118311555303973066167' +# google_site_verification: 'Vk0IOJ2jwG_qEoG7fuEXYqv0m2rLa8P778Fi_GrsgEQ' +# bing_webmastertools_id: '0FB4C028ABCF07C908C54386ABD2D97F' +# alexa_verify_id: '' + + + +# ______ _ +# / ____/___ __ __(_)________ ____ _____ +# / /_ / __ `/ | / / / ___/ __ \/ __ \/ ___/ +# / __/ / /_/ /| |/ / / /__/ /_/ / / / (__ ) +# /_/ \__,_/ |___/_/\___/\____/_/ /_/____/ Favicon-Crap: Favicons, Chrome, Android & Apple Touch Buttons +# More information » https://mathiasbynens.be/notes/touch-icons + +favicon-32x32: 'favicon-32x32.png' +touch-icon-192x192: 'isc-logo-192.png' +apple-touch-icon-180x180-precomposed: 'isc-logo-180.png' +apple-touch-icon-152x152-precomposed: 'isc-logo-152-precomposed.png' +apple-touch-icon-144x144-precomposed: 'isc-logo-144-precomposed.png' +apple-touch-icon-120x120-precomposed: 'isc-logo-120-precomposed.png' +apple-touch-icon-114x114-precomposed: 'isc-logo-114-precomposed.png' +apple-touch-icon-76x76-precomposed: 'isc-logo-76-precomposed.png' +apple-touch-icon-72x72-precomposed: 'isc-logo-72-precomposed.png' +apple-touch-icon-precomposed: 'logo.png' +msapplication_tileimage: 'isc-logo-144.png' # Size 144x144 +msapplication_tilecolor: '#fabb00' + + +# ______ __ __ +# / ____/___ _________ / /_ ____ ____ / /__ +# / /_ / __ `/ ___/ _ \/ __ \/ __ \/ __ \/ //_/ +# / __/ / /_/ / /__/ __/ /_/ / /_/ / /_/ / ,< +# /_/ \__,_/\___/\___/_.___/\____/\____/_/|_| Facebook-Optimization › http://j.mp/fb_optimize + +# og_image: 'http://images.phlow.de/phlow/phlow_de-logo-512x.png' +# og_locale: 'en_EN' +# og_type: 'website' + + +# _____ _ __ __ ___ ___ +# / ___/____ _____(_)___ _/ / / |/ /__ ____/ (_)___ _ +# \__ \/ __ \/ ___/ / __ `/ / / /|_/ / _ \/ __ / / __ `/ +# ___/ / /_/ / /__/ / /_/ / / / / / / __/ /_/ / / /_/ / +# /____/\____/\___/_/\__,_/_/ /_/ /_/\___/\__,_/_/\__,_/ +# +# Open _data/socialmedia.yml to adjust the left and right topbar navigation +# + +socialmedia: + twitter: PayPalFLOW +# facebook: phlow.media + + +# ____ _ +# / __ \(_)________ ___ _______ +# / / / / / ___/ __ `/ / / / ___/ +# / /_/ / (__ ) /_/ / /_/ (__ ) +# /_____/_/____/\__, /\__,_/____/ +# /_/ +# +# used in _includes/comments + +# disqus_shortname: feelingresponsive + + +# _____ +# / ___/____ ___________ +# \__ \/ __ `/ ___/ ___/ +# ___/ / /_/ (__ |__ ) More › http://sass-lang.com/ +# /____/\__,_/____/____/ More › http://jekyllrb.com/docs/assets/#sassscss +# + +sass: + sass_dir: _sass + style: :compressed + + +# ___ __ __ _ +# / | ____ ____ _/ /_ __/ /_(_)_________ +# / /| | / __ \/ __ `/ / / / / __/ / ___/ ___/ +# / ___ |/ / / / /_/ / / /_/ / /_/ / /__(__ ) +# /_/ |_/_/ /_/\__,_/_/\__, /\__/_/\___/____/ https://www.google.com/analytics/ +# /____/ +# +# used in _includes/footer_scripts + +# google_analytics_tracking_id: UA-60112281-1 + + + +# _ _ _ +# | |_ __ ___ _| | __| |_ ___ +# | __/ _` \ \ /\ / / |/ /| __/ _ \ +# | || (_| |\ V V /| < | || (_) | +# \__\__,_| \_/\_/ |_|\_(_)__\___/ More › https://www.tawk.to/knowledgebase/ +# +# tawk.to is a free live chat app that lets you monitor and chat +# with visitors on your website or from a free customizable page +# +# To load the script add tawkto: true in front matter of each page +# +# used in _includes/footer_scripts + +# tawkto_embed_uri: diff --git a/_config_dev.yml b/_config_dev.yml new file mode 100644 index 0000000000..2b7844f242 --- /dev/null +++ b/_config_dev.yml @@ -0,0 +1,26 @@ +# +# This config-file is only needed for development. Instead of changing the url +# everytime you work locally on the project, you start both config-files, overwriting +# the first one with the development variables needed. +# +# Start development with › $ jekyll serve --config _config.yml,_config_dev.yml + +url: 'http://localhost:4000' +baseurl: '' +urlimg: 'http://localhost:4000/images/' + +# See › https://github.com/jekyll/jekyll-gist#disabling-noscript-support +gist: + noscript: false + +sass: + # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style + style: :expanded + line_numbers: true + # trace_selectors: true + # debug_info: true + # FUTURE https://github.com/jekyll/jekyll-sass-converter/issues/12 + sourcemap: true + +# Disable when not in production +google_analytics_tracking_id: diff --git a/_data/authors.yml b/_data/authors.yml new file mode 100644 index 0000000000..3ddb4764db --- /dev/null +++ b/_data/authors.yml @@ -0,0 +1,16 @@ +# Author details +# +# 1. Edit information below +# 2. Change site author in config.yml +# 3. Change default post/page authors in config.yml +# +# Resource › http://blog.sorryapp.com/blogging-with-jekyll/2014/02/06/adding-authors-to-your-jekyll-site.html + +cewilliams: + name: "Cedric Williams" + siterole: "webmaster, copywriter, designer" + uri: + email: + twitter: "@AskCedricW" + +# you can add more authors here \ No newline at end of file diff --git a/_data/language.yml b/_data/language.yml new file mode 100644 index 0000000000..e107f3ea45 --- /dev/null +++ b/_data/language.yml @@ -0,0 +1,24 @@ +info_website: "About This Site" +archive: "Archive" +blog_archive: "Blog Archive" +blog: "Blog" +comments_headline: "Dialogue & Discussion" +more: "More ›" +more_articles: "More Articles" +navigation_title: "Navigation" +new_blog_entries: "New Blog Articles" +next: "Next" +next_posts: "Next Posts" +previous: "Previous" +previous_posts: "Previous Posts" +read: "Read" +read_more: "Read More ›" +if_you_are_not_redirected_automatically: "If you are not redirected automatically," +click_here: "click here" +next_post_in: "Next Post in" +previous_post_in: "Previous Post in" +breadcrumb_start: "Start" +edit: "Edit" +this_content_is_open_source: "This content is open source." +help_improve_it: "Help improve it" +enter_search_term: "Enter search term and hit enter" \ No newline at end of file diff --git a/_data/language_de.yml b/_data/language_de.yml new file mode 100644 index 0000000000..59b58dda33 --- /dev/null +++ b/_data/language_de.yml @@ -0,0 +1,24 @@ +info_website: "Über diese Website" +archive: "Archiv" +blog_archive: "Blog Archiv" +blog: "Blog" +comments_headline: "Dialog & Diskussion" +more: "Mehr ›" +more_articles: "Mehr Artikel" +navigation_title: "Navigation" +new_blog_entries: "Neue Blog Artikel" +next: "Nächste" +next_posts: "Nächster Beitrag" +previous: "Vorherige" +previous_posts: "Vorheriger Beitrag" +read: "Lesen" +read_more: "Mehr lesen ›" +if_you_are_not_redirected_automatically: "Wenn Du nicht automatisch weitergeleitet wirst," +click_here: "klick hier" +next_post_in: "Nächster Beitrag in" +previous_post_in: "Vorheriger Beitrag in" +breadcrumb_start: "Start" +edit: "Editieren" +this_content_is_open_source: "Der Inhalt ist Open Source." +help_improve_it: "Hilf ihn zu verbessern" +enter_search_term: "Suchbegriff eingeben und Eingabetaste drücken" \ No newline at end of file diff --git a/_data/navigation.yml b/_data/navigation.yml new file mode 100644 index 0000000000..ba508d7f35 --- /dev/null +++ b/_data/navigation.yml @@ -0,0 +1,31 @@ +- title: Home + url: "/" + side: left + +- title: Getting Started + url: "/getting-started/" + side: left + +- title: Upcoming Events + url: "/events/isc-spring-2016/" + side: left + dropdown: + - title: "ISC Summit Spring 2016" + url: "/events/isc-spring-2016/" + - title: "OSCON US 2016" + url: "/events/oscon-us-2016/" + +- title: Contribute + url: "/contribute/" + side: left + +#- title: Blog +# url: "/blog/" +# side: left +# dropdown: +# - title: "Blog Archive" +# url: "/blog/archive/" + +- title: "Contact" + url: "/contact/" + side: right diff --git a/_data/network.yml b/_data/network.yml new file mode 100644 index 0000000000..230b9fff2b --- /dev/null +++ b/_data/network.yml @@ -0,0 +1,30 @@ +- menu_name: "Dankeschön" + +- name: "Icons by Daniel Bruce" + url: "http://entypo.com/" + class: "network-entypo" + title: "Icons by Daniel Bruce" + +- name: "Built on Foundation" + url: "http://foundation.zurb.com/" + class: "services-newsletter" + title: "Built on Foundation" + +- name: "Images by Unsplash" + url: "http://unsplash.com/" + class: "rss-link" + title: "Images by Unsplash" + +- name: "Using Backstretch by Scott Robbin" + url: "http://srobbin.com/jquery-plugins/backstretch/" + class: "sitemap-link" + title: "Using Backstretch by Scott Robbin" + +- name: "Feeling Responsive theme by Phlow" + url: "http://phlow.github.io/feeling-responsive/" + title: "Feeling Responsive theme by Phlow" + +- name: "Hosting by GitHub Pages" + url: "https://pages.github.com/" + title: "Hosting by GitHub Pages" + \ No newline at end of file diff --git a/_data/services.yml b/_data/services.yml new file mode 100644 index 0000000000..d93ff22052 --- /dev/null +++ b/_data/services.yml @@ -0,0 +1,17 @@ +- menu_name: "Services" + +- name: "Contact" + url: "/contact/" + title: "Contact" + +- name: "RSS" + url: "/feed.xml" + title: "Subscribe to RSS Feed" + +- name: "Atom" + url: "/atom.xml" + title: "Subscribe to Atom Feed" + +- name: "sitemap.xml" + url: "/sitemap.xml" + title: "Sitemap for Google Webmaster Tools" diff --git a/_data/socialmedia.yml b/_data/socialmedia.yml new file mode 100644 index 0000000000..029306d053 --- /dev/null +++ b/_data/socialmedia.yml @@ -0,0 +1,49 @@ +- name: GitHub + url: http://github.com/paypal/InnerSourceCommons + class: icon-github + title: Code und mehr... + +# - name: YouTube +# url: http://www.youtube.com/PhlowMedia +# class: icon-youtube +# title: "Videos, Video-Anleitungen und Filme von Phlow auf YouTube" + +- name: Twitter + url: http://twitter.com/PayPalFLOW + class: icon-twitter + title: "PayPal FLOW on Twitter" + +# - name: Mixcloud +# url: http://www.mixcloud.com/phlow/ +# class: icon-cloud +# title: "Mixe, was sonst?" + +# - name: Phlow YouTube Google+ +# url: https://plus.google.com/u/0/+Phlow +# class: icon-googleplus +# title: "YouTube Google+" + +# - name: Facebook +# url: http://www.facebook.com/ +# class: icon-facebook +# title: "" + +# - name: Soundcloud +# url: http://soundcloud.com/ +# class: icon-soundcloud +# title: "" + +# - name: Instagram +# url: http://instagram.com/ +# class: icon-instagram +# title: "" + +# - name: Pinterest +# url: http://www.pinterest.com/ +# class: icon-pinterest +# title: "" + +# - name: Xing +# url: https://www.xing.com/profile/ +# class: icon-xing +# title: Xing Profil diff --git a/_includes/__INSTRUCTIONS.md b/_includes/__INSTRUCTIONS.md new file mode 100644 index 0000000000..e54fb6d5ab --- /dev/null +++ b/_includes/__INSTRUCTIONS.md @@ -0,0 +1,25 @@ +# Includes + +There are two types of includes... + + + +## 1. includes for templates. + +All includes with `_` are used for templates, like for example the `_head.html` or `_footer.html`. + + + +## 2. includes as commands + +Includes without an underscore are commands you can use in posts and pages. I left out the `.html`-ending to reduce the typing and though the commands look cleaner. They only look messy when you open them in your coding-editor of choice. + +Checkout for example `alert`: + +{% include alert success="Yay! you did it!" %} + +or + +{% include gallery %} + +Enjoy :) \ No newline at end of file diff --git a/_includes/_breadcrumb.html b/_includes/_breadcrumb.html new file mode 100644 index 0000000000..fc3074d57d --- /dev/null +++ b/_includes/_breadcrumb.html @@ -0,0 +1,17 @@ +{% comment %} +* +* http://stackoverflow.com/questions/9612235/what-are-some-good-ways-to-implement-breadcrumbs-on-a-jekyll-site +* +{% endcomment %} + +<nav class="breadcrumbs" role="menubar" aria-label="breadcrumbs"> + <a href="{{ site.url }}">{{ site.data.language.breadcrumb_start }}</a> + {% assign crumbs = page.url | split: '/' %} + {% for crumb in crumbs offset: 1 %} + {% if forloop.last %} + <a class="current">{{ page.title }}</a> + {% else %} + <a href="{{ site.url }}{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' }}{% endfor %}">{{ crumb | replace:'-',' ' }}</a> + {% endif %} + {% endfor %} +</nav> diff --git a/_includes/_comments.html b/_includes/_comments.html new file mode 100644 index 0000000000..4d8b0b361d --- /dev/null +++ b/_includes/_comments.html @@ -0,0 +1,19 @@ + {% if page.comments %} + <h3 id="comments" class="t60">{{ site.data.language.comments_headline }}</h3> + <div id="disqus_thread"></div> + <script type="text/javascript"> + /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ + var disqus_shortname = '{{ site.disqus_shortname }}'; + var disqus_identifier = '{{ page.url }}'; + + /* * * DON'T EDIT BELOW THIS LINE * * */ + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); + </script> + <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> + {% endif %} + + diff --git a/_includes/_favicon.html b/_includes/_favicon.html new file mode 100644 index 0000000000..7050750921 --- /dev/null +++ b/_includes/_favicon.html @@ -0,0 +1,30 @@ +{% comment %} +* +* More Information › https://mathiasbynens.be/notes/touch-icons +* +{% endcomment %} +{% comment %} Regular Old-Skool Favicon: {% endcomment %} + {% if site.favicon-32x32 %}<link rel="icon" sizes="32x32" href="{{ site.url }}/assets/img/{{ site.favicon-32x32 }}">{% endif %} +{% comment %} For Chrome for Android: {% endcomment %} + {% if site.touch-icon-192x192 %}<link rel="icon" sizes="192x192" href="{{ site.url }}/assets/img/{{ site.touch-icon-192x192 }}">{% endif %} +{% comment %} For iPhone 6 Plus with @3× display: {% endcomment %} + {% if site.apple-touch-icon-180x180-precomposed %}<link rel="apple-touch-icon-precomposed" sizes="180x180" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-180x180-precomposed }}">{% endif %} +{% comment %} For iPad with @2× display running iOS ≥ 7: {% endcomment %} + {% if site.apple-touch-icon-152x152-precomposed %}<link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-152x152-precomposed }}">{% endif %} +{% comment %} For iPad with @2× display running iOS ≤ 6: {% endcomment %} + {% if site.apple-touch-icon-144x144-precomposed %}<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-144x144-precomposed }}">{% endif %} +{% comment %} For iPhone with @2× display running iOS ≥ 7: {% endcomment %} + {% if site.apple-touch-icon-120x120-precomposed %}<link rel="apple-touch-icon-precomposed" sizes="120x120" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-120x120-precomposed }}">{% endif %} +{% comment %} For iPhone with @2× display running iOS ≤ 6: {% endcomment %} + {% if site.apple-touch-icon-114x114-precomposed %}<link rel="apple-touch-icon-precomposed" sizes="114x114" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-114x114-precomposed }}">{% endif %} +{% comment %} For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≥ 7: {% endcomment %} + {% if site.apple-touch-icon-76x76-precomposed %} + <link rel="apple-touch-icon-precomposed" sizes="76x76" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-76x76-precomposed }}">{% endif %} +{% comment %} For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≤ 6: {% endcomment %} + {% if site.apple-touch-icon-72x72-precomposed %}<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-72x72-precomposed }}">{% endif %} +{% comment %} For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: {% endcomment %} + {% if site.apple-touch-icon-precomposed %}<link rel="apple-touch-icon-precomposed" href="{{ site.url }}/assets/img/{{ site.apple-touch-icon-precomposed }}">{% comment %} 57×57px {% endcomment %} {% endif %} +{% comment %} Favicon for Windows 8 {% endcomment %} + {% if site.msapplication_tileimage %}<meta name="msapplication-TileImage" content="{{ site.url }}/assets/img/{{ site.msapplication_tileimage }}">{% endif %} +{% comment %} Background Color for Tile for Windows 8 {% endcomment %} + {% if site.msapplication_tilecolor %}<meta name="msapplication-TileColor" content="{{ site.msapplication_tilecolor }}">{% endif %} diff --git a/_includes/_footer.html b/_includes/_footer.html new file mode 100755 index 0000000000..6f933c66d2 --- /dev/null +++ b/_includes/_footer.html @@ -0,0 +1,75 @@ + <div id="up-to-top" class="row"> + <div class="small-12 columns" style="text-align: right;"> + <a class="iconfont" href="#top-of-page"></a> + </div><!-- /.small-12.columns --> + </div><!-- /.row --> + + + <footer id="footer-content" class="bg-grau"> + <div id="footer"> + <div class="row"> + <div class="medium-6 large-5 columns"> + <h5 class="shadow-grey">{{ site.data.language.info_website }}</h5> + + <p class="shadow-grey"> + {{ site.description }} + <a href="{{ site.url }}{{ site.baseurl }}/getting-started/">{{ site.data.language.more }}</a> + </p> + </div><!-- /.large-6.columns --> + + + <div class="small-6 medium-3 large-3 large-offset-1 columns"> + {% for service_item in site.data.services %} + {% if forloop.first == true %} + <h5 class="shadow-grey">{{ service_item.menu_name }}</h5> + {% endif %} + {% endfor %} + + <ul class="no-bullet shadow-grey"> + {% for service_item in site.data.services %} + {% if service_item.url contains 'http' %}{% assign domain = '' %}{% else %}{% assign domain = site.url + site.baseurl %}{% endif %} + <li {% if service_item.class %}class="{{ service_item.class }}" {% endif %}> + <a href="{{ domain }}{{ service_item.url }}" {% if service_item.url contains 'http' %}target="_blank" {% endif %} title="{{ service_item.title }}">{{ service_item.name }}</a> + </li> + {% endfor %} + </ul> + </div><!-- /.large-4.columns --> + + + <div class="small-6 medium-3 large-3 columns"> + {% for network_item in site.data.network %} + {% if forloop.first == true %} + <h5 class="shadow-grey">{{ network_item.menu_name }}</h5> + {% endif %} + {% endfor %} + + <ul class="no-bullet shadow-grey"> + {% for network_item in site.data.network %} + {% if network_item.url contains 'http' %}{% assign domain = '' %}{% else %}{% assign domain = site.url + site.baseurl %}{% endif %} + <li {% if network_item.class %}class="{{ network_item.class }}" {% endif %}> + <a href="{{ domain }}{{ network_item.url }}" {% if network_item.url contains 'http' %}target="_blank" {% endif %} title="{{ network_item.title }}">{{ network_item.name }}</a> + </li> + {% endfor %} + </ul> + </div><!-- /.large-3.columns --> + </div><!-- /.row --> + + </div><!-- /#footer --> + + + <div id="subfooter"> + <nav class="row"> + <section id="subfooter-left" class="small-12 medium-6 columns credits"> + {{ site.credits }} + </section> + + <section id="subfooter-right" class="small-12 medium-6 columns"> + <ul class="inline-list social-icons"> + {% for social_item in site.data.socialmedia %} + <li><a href="{{ social_item.url }}" target="_blank" class="{{ social_item.class }}" title="{{ social_item.title }}"></a></li> + {% endfor %} + </ul> + </section> + </nav> + </div><!-- /#subfooter --> + </footer> diff --git a/_includes/_footer_scripts.html b/_includes/_footer_scripts.html new file mode 100755 index 0000000000..a82968b671 --- /dev/null +++ b/_includes/_footer_scripts.html @@ -0,0 +1,55 @@ +{% if page.mediaplayer == true %} +<script> +$('audio,video').mediaelementplayer(); +</script> +{% endif %} + + +<script src="{{ site.url }}{{ site.baseurl }}/assets/js/javascript.min.js"></script> + + +{% if page.header.image_fullwidth %} +<script> + $("#masthead").backstretch("{{ site.urlimg }}{{ page.header.image_fullwidth }}", {fade: 700}); + $("#masthead-with-text").backstretch("{{ site.urlimg }}{{ page.header.image_fullwidth }}", {fade: 700}); +</script> +{% endif %} + + + +{% if site.google_analytics_tracking_id %} +<script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', '{{ site.google_analytics_tracking_id }}', 'auto'); + ga('set', 'anonymizeIp', true); + ga('send', 'pageview'); + +</script> +{% endif %} + + + +{% comment %} +# Start of Tawk.to Script +# +# More information in _config.yml +# +{% endcomment %} +{% if site.tawkto_embed_uri and page.tawkto == true %} +<script type="text/javascript"> +var $_Tawk_API={},$_Tawk_LoadStart=new Date(); +(function(){ +var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0]; +s1.async=true; +s1.src='{{ site.tawkto_embed_uri }}'; +s1.charset='UTF-8'; +s1.setAttribute('crossorigin','*'); +s0.parentNode.insertBefore(s1,s0); +})(); +</script> +{% endif %} + diff --git a/_includes/_frontpage-widget.html b/_includes/_frontpage-widget.html new file mode 100644 index 0000000000..f57fd3e778 --- /dev/null +++ b/_includes/_frontpage-widget.html @@ -0,0 +1,20 @@ +<div class="medium-4 columns frontpage-widget"> + {% capture widget_url %}{% if include.widget.url contains 'http' %}{{ include.widget.url }}{% else %}{{ site.url }}{{ site.baseurl }}{{ include.widget.url }}{% endif %}{% endcapture %} + {% if include.widget.video %} + {{ include.widget.video }} + {% else %} + <a href="{{ widget_url }}"> + {% if include.widget.image %} + {%comment%}TODO lazy loading{%endcomment%} + {%comment%}<img class="lazy" data-src="{% if include.widget.image contains='http://' %}{{ include.widget.image }}{% else %}{{ site.urlimg }}{{ include.widget.image }}{% endif %}" alt="" />{%endcomment%} + {%comment%}<noscript>{%endcomment%} + {% capture widget_image %}{% if include.widget.image contains 'http' %}{{ include.widget.image }}{% else %}{{ site.urlimg }}{{ site.baseurl }}{{ include.widget.image }}{% endif %}{% endcapture %} + <img src="{{widget_image}}" alt="" /> + {%comment%}</noscript>{%endcomment%} + {% endif %} + </a> + {% endif %} + <h2 class="font-size-h3 t10">{{ include.widget.title }}</h2> + <p>{{ include.widget.text }}</p> + <p><a class="button tiny radius" href="{% if include.widget.url contains 'http' %}{{ include.widget.url }}{% else %}{{ site.url }}{{ site.baseurl }}{{ include.widget.url }}{% endif %}">{{ site.data.language.more }}</a></p> +</div> \ No newline at end of file diff --git a/_includes/_google_search.html b/_includes/_google_search.html new file mode 100644 index 0000000000..ca5e6e96e3 --- /dev/null +++ b/_includes/_google_search.html @@ -0,0 +1,16 @@ +{% comment %}TODO consider https://developers.google.com/custom-search/docs/element{% endcomment %} +{% capture google_search_site %}{{ site.url }}{{ site.baseurl }}/{% endcapture %} +<script language="Javascript" type="text/javascript"> + function google_search() { + var query = document.getElementById("google-search").value; + window.open("https://www.google.com/search?q=" + query + "+site:" + "{{ google_search_site | cgi_escape }}"); + } +</script> + +<form id="search" onsubmit="google_search(); return false;"> + <input type="text" id="google-search" placeholder="{{ site.data.language.enter_search_term }}"> +</form> +<noscript> + Search <a href="https://www.google.com/search?q=site:{{ google_search_site | cgi_escape }}" target="_blank">Google</a> for: + <pre><code>search-term site:{{ google_search_site }}</code></pre> +</noscript> diff --git a/_includes/_head.html b/_includes/_head.html new file mode 100644 index 0000000000..413bc00659 --- /dev/null +++ b/_includes/_head.html @@ -0,0 +1,83 @@ +{% comment %} +# +# Liquid variables are created at the top to keep the source DRY and clean. +# Idea by ericcarlisle.com +# +# Variables › {{ url }} › site.url + site.baseurl +# Variables › {{ description }} › excerpt, page.meta_description, or site.description +# Variables › {{ title }} › page.title +# +{% endcomment %}{% capture ignore %} + +{% assign url = site.baseurl | prepend: site.url %} + +{% capture description %}{% if page.meta_description %}{{ page.meta_description }}{% elsif page.teaser %}{{ page.teaser }}{% elsif page.excerpt %}{{ page.excerpt }}{% elsif site.description %}{{ site.description }}{% endif %}{% endcapture %} +{% assign description = description | strip_html | escape | strip %} + +{% capture title %}{% if page.meta_title %}{{ page.meta_title}}{% elsif page.title %}{{ page.title }}{% else %}{{ site.title | strip_html | strip }}{% endif %}{% endcapture %} + +{% assign title = title | strip_html | escape | strip_newlines %} + +{% endcapture %}<meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>{{ title }} + + + + + + + + + + + + {% if site.google_site_verification %}{% endif %} + {% if site.bing_webmastertools_id %}{% endif %} + {% if site.google_author %}{% endif %} + {% if site.alexa_verify_id %}{% endif %} + {% if page.noindex == true %}{% endif %} + + + + + + + + + + {% if page.image.title %}{% endif %} + {% if site.socialmedia.facebook %}{% endif %} + + + {% if site.socialmedia.twitter %} + + + + + + + {% if page.image.title %}{% endif %} + {% endif %} + + + + {% if page.mediaplayer == true %} + + + + {% endif %} + + {% include _favicon.html %} + + {% unless page.style == NULL %} + + {% endunless %} diff --git a/_includes/_improve_content.html b/_includes/_improve_content.html new file mode 100644 index 0000000000..586ca48aac --- /dev/null +++ b/_includes/_improve_content.html @@ -0,0 +1,19 @@ +{% comment %} +* +* If your content is on Jekyll you can use this include +* to automatically generate a »Edit on GitHub Link« to +* give people a possibility to improve your content. +* +{% endcomment %} +
+
+
+ {{ site.data.language.edit }} +

+ {{ site.data.language.this_content_is_open_source }} + {{ site.data.language.help_improve_it }}.

+
+
+
+ + diff --git a/_includes/_masthead.html b/_includes/_masthead.html new file mode 100644 index 0000000000..f64e356740 --- /dev/null +++ b/_includes/_masthead.html @@ -0,0 +1,141 @@ +{% if page.header == NULL and page.header.image_fullwidth == NULL and page.header.pattern == NULL and page.header.background-color == NULL and page.header.title == NULL %} + +
+
+
+ +
+
+
+ +{% if page.breadcrumb == true %} +{% include _breadcrumb.html %} +{% endif %} + + + + + +{% elsif page.header.title %} + +
+
+
+
{{ page.header.title }}
+
+
+
+ +{% if page.breadcrumb == true %} +{% include _breadcrumb.html %} +{% endif %} + +{% if page.header.caption_url && page.header.caption %} +
+ {{ page.header.caption }} +
+{% elsif page.header.caption %} +
+ {{ page.header.caption }} +
+{% endif %} + + + + + +{% elsif page.header.image_fullwidth %} + +
+
+
+ +
+
+
+ +{% if page.breadcrumb == true %} +{% include _breadcrumb.html %} +{% endif %} + +{% if page.header.caption_url && page.header.caption %} +
+ {{ page.header.caption }} +
+{% elsif page.header.caption %} +
+ {{ page.header.caption }} +
+{% endif %} + + + + + +{% elsif page.header.pattern %} + +
+
+
+ {{ site.title }} +
+
+
+ +{% if page.breadcrumb == true %} +{% include _breadcrumb.html %} +{% endif %} + +{% if page.header.caption_url && page.header.caption %} +
+ {{ page.header.caption }} +
+{% elsif page.header.caption %} +
+ {{ page.header.caption }} +
+{% endif %} + + + + + +{% elsif page.header.background-color %} + +
+
+
+ {{ site.title }} +
+
+
+ +{% if page.breadcrumb == true %} +{% include _breadcrumb.html %} +{% endif %} + +{% if page.header.caption_url && page.header.caption %} +
+ {{ page.header.caption }} +
+{% elsif page.header.caption %} +
+ {{ page.header.caption }} +
+{% endif %} + + + + + +{% elsif page.header == false %} + +{% if page.breadcrumb == true %} +{% include _breadcrumb.html %} +{% endif %} + +{% endif %} \ No newline at end of file diff --git a/_includes/_meta_information.html b/_includes/_meta_information.html new file mode 100644 index 0000000000..be514bea40 --- /dev/null +++ b/_includes/_meta_information.html @@ -0,0 +1,31 @@ +
+

+ + {% assign author = site.data.authors[page.author] %} + + {% if author %} + + {% endif %} + + {% if page.date %} + + {% endif %} + + {% if page.categories %} {{ page.categories | join: ' · ' | upcase }}{% endif %} +
+ {% for tag in page.tags %} {{tag}} {% endfor %} +

+ +
+ {% if page.previous.url %} + + {% endif %} + + {% if page.next.url %} + + {% else %} +
+ {% endif %} +
+
\ No newline at end of file diff --git a/_includes/_navigation.html b/_includes/_navigation.html new file mode 100644 index 0000000000..a44ea0d976 --- /dev/null +++ b/_includes/_navigation.html @@ -0,0 +1,122 @@ + diff --git a/_includes/_pagination.html b/_includes/_pagination.html new file mode 100644 index 0000000000..2f496dc1c6 --- /dev/null +++ b/_includes/_pagination.html @@ -0,0 +1,42 @@ +{% comment %} +* This loops through the paginated posts +* +* Total posts: {{ paginator.total_posts }} +* Total paginate-pages: {{ paginator.total_pages }} +* +{% endcomment %} + + +{% for post in paginator.posts %} +
+
+

{{ post.categories | join: ' · ' | prepend: '' | append: '' }}{% if post.categories != empty and post.subheadline != NULL %} – {% endif %}{{ post.subheadline }}

+

{{ post.title }}

+

+ {% if post.image.thumb %}{{ page.title escape_once }}{% endif %} + + {% if post.meta_description %}{{ post.meta_description | strip_html | escape }}{% elsif post.teaser %}{{ post.teaser | strip_html | escape }}{% endif %} + + {{ site.data.language.read_more }} +

+
+
+{% endfor %} + + + + diff --git a/_includes/_sidebar.html b/_includes/_sidebar.html new file mode 100644 index 0000000000..e3ceae1a35 --- /dev/null +++ b/_includes/_sidebar.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/_includes/alert b/_includes/alert new file mode 100644 index 0000000000..8dd6ea2ea8 --- /dev/null +++ b/_includes/alert @@ -0,0 +1,31 @@ +{% comment %} +* +* This include lets you easily display an alert. To use this include no `.html` ending is necessary. +* +* You can use the following kinds of alerts: +* +* - warning (foundation built-in) +* - info (foundation built-in) +* - success (foundation built-in) +* - alert (foundation built-in) +* - text (foundation built-in) +* - terminal (custom, see Alerts in _sass/_09_elements.scss) +* - ... (define your own: .alert-box. { @include alert-style();) +* +* You can even use markdown and -tags inside the alert, but beware to use " and ' properly; for example: +* +* {% include alert info='Show an info alert with outstanding information.' %} +* +* {% include alert info='Show an info alert with *outstanding* [information](#info).' %} +* +* {% include alert info='Show an info alert with *outstanding* information.' %} +* +* You can also call for additional classes to be put on the alert div: +* +* {% include alert success="Yay! you did it!" classes='round' %} +* +{% endcomment %} +{% for entry in include %} +{% if entry[0] == 'classes' %}{% continue %}{% endif %} +
{{ entry[1] | markdownify }}
+{% endfor %} diff --git a/_includes/gallery b/_includes/gallery new file mode 100644 index 0000000000..f032def7b0 --- /dev/null +++ b/_includes/gallery @@ -0,0 +1,36 @@ +{% comment %} +* +* This include lets you easily embed a gallery into your post. +* To use the gallery include you... +* +* 1. ...need two images: a thumbnail and a big image. +* 2. Name the thumbnail gallery-image-thumb.jpg and... +* 3. ...name the big gallery-image.jpg +* 4. Define the big version in frontmatter, +* +* gallery: +* - image_url: gallery-image.jpg +* +* 5. Give your image a caption – works without captions, too. +* +* gallery: +* - image_url: gallery-image.jpg +* caption: Starting Page with huge One Logo +* +* 6. Add the include whereever you want in your content like this: +* +* {% include gallery %} +* +* Check out the example page › http://phlow.github.io/feeling-responsive/design/gallery/ +* +{% endcomment %} +
+
    + {% for item in page.gallery %} + {% capture url %}{{ item.image_url }}{% endcapture %} + {% assign split_url = url | split: '.' %} + {% capture thumb_url %}{{split_url[0]}}-thumb.{{split_url[1]}}{% endcapture %} +
  • + {% endfor %} +
+
\ No newline at end of file diff --git a/_includes/list-collection b/_includes/list-collection new file mode 100644 index 0000000000..5316645126 --- /dev/null +++ b/_includes/list-collection @@ -0,0 +1,20 @@ +{% comment %} +* +* This include lets you loop through a collection to list +* all entries in that collection. +* +* If you set »published: false« in front matter of a collection page +* the page gots filtered out via unless +* +* Example: {% include list-collection ollection='wordpress' %} +* +{% endcomment %} + + diff --git a/_includes/list-posts b/_includes/list-posts new file mode 100644 index 0000000000..f2e76d00f4 --- /dev/null +++ b/_includes/list-posts @@ -0,0 +1,53 @@ +{% comment %} +* +* Possible parameter for this loop: +* +* › entries +* › offset +* › category +* › tag +* +* Example for Category: {% include list-posts entries='3' offset='1' category='design' %} +* +* Example for Tag: {% include list-posts entries='5' tag='terminal' %} +* +* +* This loop works like this: +* +* 1. First we check if there was given a category for filtering › if include.categories == NULL +* 2. If no category is given for filtering do a general loop. +* 3. If a category/tag was given, assign category/tag to the variable category/tag › assign category = include.categories +* +{% endcomment %} + + + +{% assign category = include.category %} +{% assign tag = include.tag %} + + diff --git a/_includes/next-previous-post-in-category b/_includes/next-previous-post-in-category new file mode 100644 index 0000000000..60ede72dbd --- /dev/null +++ b/_includes/next-previous-post-in-category @@ -0,0 +1,39 @@ +{% comment %} +* +* This include creates a next/previous link to a post of the same category +* using the categories-variable in front matter. +* +* Use › {% include next-previous-post-in-category %} +* +{% endcomment %} + + +{% comment %} +* +* assign FIRST category from categories variable from front matter to cat +* and make a string from the array by using › join: '' +* +{% endcomment %} + +{% assign cat = page.categories | first | join: '' %} +{% for post in site.categories.[cat] %} +{% if post.url == page.url %} +{% assign post_index0 = forloop.index0 %} +{% assign post_index1 = forloop.index %} +{% endif %} +{% endfor %} +{% for post in site.categories.[cat] %} +{% if post_index0 == forloop.index %} +{% assign next_post = post.url %} +{% endif %} +{% if post_index1 == forloop.index0 %} +{% assign prev_post = post.url %} +{% endif %} +{% endfor %} +{% if next_post %} +{{ site.data.language.next_post_in }} {{ cat | upcase }} +{% endif %} +{% if prev_post %} +{{ site.data.language.previous_post_in }} {{ cat | upcase }} +{% endif %} + diff --git a/_includes/sitemap_collection.xml b/_includes/sitemap_collection.xml new file mode 100644 index 0000000000..6f83ded065 --- /dev/null +++ b/_includes/sitemap_collection.xml @@ -0,0 +1,25 @@ + +{% for link in include.links %} + {% unless link.sitemap.exclude or link.published == false %} + + {{ site.url }}{{ site.baseurl }}{{ link.url | remove: 'index.html' }} + {% if link.sitemap.lastmod %} + {{ link.sitemap.lastmod | date: '%Y-%m-%d' }} + {% elsif link.date %} + {{ link.date | date_to_xmlschema }} + {% else %} + {{ site.time | date_to_xmlschema }} + {% endif %} + {% if link.sitemap.changefreq %} + {{ link.sitemap.changefreq }} + {% else %} + {{ include.changefreq }} + {% endif %} + {% if link.sitemap.priority %} + {{ link.sitemap.priority }} + {% else %} + {{ include.priority }} + {% endif %} + + {% endunless %} +{% endfor %} diff --git a/_layouts/blog.html b/_layouts/blog.html new file mode 100644 index 0000000000..941fbccf45 --- /dev/null +++ b/_layouts/blog.html @@ -0,0 +1,16 @@ +--- +layout: default +format: blog-index +# Don't index these pages dear Google. +noindex: true +--- +
+
+ {% include _pagination.html %} +
+ + +
+ {% include _sidebar.html %} +
+
\ 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..2db22b1e3f --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,23 @@ +--- +layout: compress +--- + + + + {% include _head.html %} + + + {% unless page.skip_boilerplate %} + {% include _navigation.html %} + {% endunless %} + + {% include _masthead.html %} + {{ content }} + + {% unless page.skip_boilerplate %} + {% include _footer.html %} + {% endunless %} + + {% include _footer_scripts.html %} + + diff --git a/_layouts/frontpage.html b/_layouts/frontpage.html new file mode 100644 index 0000000000..a9fa344fcd --- /dev/null +++ b/_layouts/frontpage.html @@ -0,0 +1,113 @@ +--- +layout: default +format: frontpage +--- +
+
+
+
+
+
+ + +{% comment %} +* +* First check, if widget is empty or not by checking if there is a title +* +{% endcomment %} +
+ {% if page.widget1.title %} + {% include _frontpage-widget.html widget=page.widget1 %} + {% endif %} + + + {% if page.widget2.title %} + {% include _frontpage-widget.html widget=page.widget2 %} + {% endif %} + + + {% if page.widget3.title %} + {% include _frontpage-widget.html widget=page.widget3 %} + {% endif %} +
+ + + +{% comment %} +* +* First check, if there is a call for action-button +* +{% endcomment %} +{% if page.callforaction.url contains 'http' %} +{% assign url = '' %} +{% else %} +{% assign url = site.url %} +{% endif %} +{% if page.callforaction %} + +{% endif %} + + + +{% comment %} +* +* First check, if there are any posts at all +* +{% endcomment %} + +{% unless site.posts == empty %} +
+
+ {% for post in site.posts limit:1 %} + {% if post.image.homepage %} +

+ {{ page.title escape_once }} +

+ + {% if post.image.caption_url && post.image.caption %} +

+ {{ post.image.caption }} +

+ {% endif %} + {% else post.image.homepage == NULL %} +

{{ site.data.language.new_blog_entries }}

+ {% endif %} + {% endfor %} +
+
+ + +
+
+ {% for post in site.posts limit:1 %} + {% if post.subheadline %}

{{ post.subheadline }}

{% endif %} +

{{ post.title }}

+

+ {% if post.meta_description %}{{ post.meta_description | strip_html | escape }}{% else post.teaser %}{{ post.teaser | strip_html | escape }}{% endif %} + {{ site.data.language.read_more }} +

+ {% endfor %} +
+ + +
+

{{ site.data.language.more_articles }}

+ {% include list-posts entries='3' offset='1' %} +
+
+{% endunless %} + + +{% comment %} +* +* Finally, if there is content, spit it out. +* +{% endcomment %} + +
+ {{ content }} +
diff --git a/_layouts/page-fullwidth.html b/_layouts/page-fullwidth.html new file mode 100644 index 0000000000..b757b57ea3 --- /dev/null +++ b/_layouts/page-fullwidth.html @@ -0,0 +1,38 @@ +--- +layout: default +format: page-fullwidth +--- +{% if page.image.title %} +
+
+ {{ page.title escape_once }} + {% if page.image.caption_url && page.image.caption %} +

+ {{ page.image.caption }} +

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

{{ page.subheadline }}

{% endif %} +

{{ page.title }}

+
+ + {% if page.teaser %} +

+ {{ page.teaser }} +

+ {% endif %} + + {{ content }} +
+
+
+ + diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000000..a8b1ddf237 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,65 @@ +--- +layout: default +format: post +--- +
+
+
+
+ {% if page.image.title %} +
+ {{ page.title escape_once }} + + {% if page.image.caption_url && page.image.caption %} +
+ {{ page.image.caption }} +
+ {% elsif page.image.caption %} +
+ {{ page.image.caption }} +
+ {% endif %} +
+ {% endif %} + +
+ {% if page.subheadline %}

{{ page.subheadline }}

{% endif %} +

{{ page.title }}

+
+
+ + + {% if page.teaser %} +

+ {{ page.teaser }} +

+ {% endif %} + +
+ {{ content }} +
+ + {% if page.show_meta == true %} + {% include _meta_information.html %} + {% endif %} + + {% if page.comments == true %} + {% include _comments.html %} + {% endif %} +
+
+ + + {% if page.sidebar == "left" %} +
+ {% include _sidebar.html %} +
+ {% endif %} + + + {% if page.sidebar == "right" %} +
+ {% include _sidebar.html %} +
+ {% endif %} +
diff --git a/_layouts/redirect.html b/_layouts/redirect.html new file mode 100644 index 0000000000..b81e581a25 --- /dev/null +++ b/_layouts/redirect.html @@ -0,0 +1,24 @@ +--- +# This layout is used to redirect pages, if you moved them. +# Use the following settings in front matter: +# +# layout: redirect +# sitemap: false +# permalink: /old-location/ +# redirect_to: /new-location/ +# +# Idea and Code by: http://codingtips.kanishkkunal.in/about/ +--- + + + + + + + + +

Redirecting...

+ {{ site.data.language.if_you_are_not_redirected_automatically }} {{ site.data.language.click_here }}. + + + diff --git a/_layouts/video.html b/_layouts/video.html new file mode 100644 index 0000000000..3fb075576e --- /dev/null +++ b/_layouts/video.html @@ -0,0 +1,38 @@ +--- +layout: default +format: video +--- +
+
+
+
+ {{ page.iframe}} +
+ +
+
+
+ {% if page.subheadline %}

{{ page.subheadline }}

{% endif %} +

{{ page.title }}

+
+ + {% if page.video.thumbnailUrl %}{% endif %} + {% if page.video.contentURL %}{% endif %} + {% if page.video.embedURL %}{% endif %} + + {% if page.teaser %} +

+ {{ page.teaser }} +

+ {% endif %} + + {{ content }} + {% if page.show_meta == true %} + {% include _meta_information.html %} + {% endif %} +
+
+
+ +
+
diff --git a/_layouts/xml-style.xsl b/_layouts/xml-style.xsl new file mode 100644 index 0000000000..9ff63beb58 --- /dev/null +++ b/_layouts/xml-style.xsl @@ -0,0 +1,41 @@ +--- +layout: null +source: 'http://www.evagoras.com/2011/02/10/improving-an-xml-feed-display-through-css-and-xslt/' +breadcrumbs: true +--- + + + + + <!DOCTYPE html > + + + + + + + {{ content }} + + + + + + + + + + + + + + + diff --git a/_sass/_01_settings_colors.scss b/_sass/_01_settings_colors.scss new file mode 100644 index 0000000000..7431c0c182 --- /dev/null +++ b/_sass/_01_settings_colors.scss @@ -0,0 +1,152 @@ +@charset "utf-8"; +/* TOC – Color Variables + +- Basics +- Corporate Identity Colorpalette +- Foundation Color Variables +- Grey Scale +- Topbar-Navigation +- Footer +- Code + +*/ + + + +/* Basics +------------------------------------------------------------------- */ + +$text-color: #111; +$body-font-color: $text-color; +$body-bg: #fdfdfd; + + + +/* Corporate Identity Colorpalette + https://color.adobe.com/de/Flat-Design-Colors-v2-color-theme-4341903/ +------------------------------------------------------------------- */ + +$ci-1: #006359; // darker green +$ci-2: #00E2CA; // lighter green +$ci-3: #EFC94C; // yellow +$ci-4: #E27A3F; // orange +$ci-5: #DF4949; // red +$ci-6: #009C8B; // green + + +/* Foundation Color Variables +------------------------------------------------------------------- */ + +$primary-color: $ci-1; +$secondary-color: $ci-6; +$alert-color: $ci-5; +$success-color: $ci-6; +$warning-color: $ci-4; +$info-color: $ci-1; + + + +/* Grey Scale +------------------------------------------------------------------- */ + +$grey-1: #E4E4E4; +$grey-2: #D7D7D7; +$grey-3: #CBCBCB; +$grey-4: #BEBEBE; +$grey-5: #A4A4A4; +$grey-6: #979797; +$grey-7: #8B8B8B; +$grey-8: #7E7E7E; +$grey-9: #646464; +$grey-10: #575757; +$grey-11: #4B4B4B; +$grey-12: #3E3E3E; +$grey-13: #313131; +$grey-14: #242424; +$grey-15: #171717; +$grey-16: #0B0B0B; + + + +/* Topbar-Navigation +------------------------------------------------------------------- */ + +$topbar-bg-color: $body-bg; +$topbar-bg: $topbar-bg-color; + + +$topbar-dropdown-toggle-color: $ci-1; + +$topbar-link-color: #000; +$topbar-link-color-hover: #000; +$topbar-link-color-active: #000; +$topbar-link-color-active-hover: #000; + +$topbar-dropdown-label-color: $ci-2; +$topbar-dropdown-link-bg-hover: $ci-6; + +$topbar-link-bg-active: $ci-6; // Active Navigation Link +$topbar-link-bg-hover: $ci-6; +$topbar-link-bg-active-hover: $ci-2; + + +$topbar-dropdown-bg: $ci-6; // Background Mobile Navigation +$topbar-dropdown-link-color: #000; +$topbar-dropdown-link-bg: $ci-2; + +$topbar-menu-link-color-toggled: $ci-1; +$topbar-menu-icon-color-toggled: $ci-1; +$topbar-menu-link-color: #000; +$topbar-menu-icon-color: #000; +$topbar-menu-link-color-toggled: $ci-6; +$topbar-menu-icon-color-toggled: $ci-6; + + + +/* Footer +------------------------------------------------------------------- */ + +$footer-bg: $grey-10; +$footer-color: #fff; +$footer-link-color: $ci-6; + + +$subfooter-bg: $grey-13; +$subfooter-color: $grey-10; +$subfooter-link-color: $grey-10; + + + +/* Code +------------------------------------------------------------------- */ + +$code-background-color: scale-color($secondary-color, $lightness: 70%); + +$highlight-background: #ffffff; +$highlight-comment: #999988; +$highlight-error: #a61717; +$highlight-comment-special: #999999; +$highlight-deleted: #000000; +$highlight-error-2: #aa0000; +$highlight-literal-string: #d14; +$highlight-literal-number: #009999; +$highlight-name-attribut: #008080; +$highlight-error-background: #e3d2d2; +$highlight-generic-deleted: #ffdddd; +$highlight-generic-deleted-specific: #ffaaaa; +$highlight-generic-inserted: #ddffdd; +$highlight-generic-inserted-specific: #aaffaa; +$highlight-generic-output: #888888; +$highlight-generic-prompt: #555555; +$highlight-subheading: #aaaaaa; +$highlight-keyword-type: #445588; +$highlight-name-builtin: #0086B3; +$highlight-name-class: #445588; +$highlight-name-entity: #800080; +$highlight-name-exception: #990000; +$highlight-name-function: #990000; +$highlight-name-namespace: #555555; +$highlight-name-tag: #000080; +$highlight-text-whitespace: #bbbbbb; +$highlight-literal-string-regex: #009926; +$highlight-literal-string-symbol: #990073; diff --git a/_sass/_02_settings_typography.scss b/_sass/_02_settings_typography.scss new file mode 100644 index 0000000000..39b877f7cc --- /dev/null +++ b/_sass/_02_settings_typography.scss @@ -0,0 +1,60 @@ +@charset "utf-8"; +/* TOC – Typography variables + +Modular Scale › http://www.modularscale.com//?16,36&px&1.25&web&table + +- Fonts +- Font Weight +- Font Size Variables + +*/ + +@import "functions"; // Allows the use of rem-calc() or lower-bound() in your settings + + + +/* Fonts +------------------------------------------------------------------- */ + +$base-font-size: 16px; +$rem-base: $base-font-size; +// $base-line-height is 24px while $base-font-size is 16px +$base-line-height: 1.5 !default; + + +$font-family-sans-serif: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; +$font-family-serif: "Volkhov", Georgia, Times, serif; +$font-family-monospace: "Lucida Console", Monaco, monospace; + +$body-font-family: $font-family-sans-serif; +$body-font-weight: normal; +$body-font-style: normal; + +$header-font-family: $font-family-serif; + + + +/* Font Weight +------------------------------------------------------------------- */ + +$font-weight-normal: normal; +$font-weight-bold: bold; + + + +/* Font Size Variables +------------------------------------------------------------------- */ + +$font-size-p: $base-font-size; +$font-size-h1: 2.441em; +$font-size-h2: 1.953em; +$font-size-h3: 1.563em; +$font-size-h4: 1.25em; +$font-size-h5: 1.152em; +$font-size-small: 0.8em; + +.font-size-h1 { font-size: $font-size-h1; } +.font-size-h2 { font-size: $font-size-h2; } +.font-size-h3 { font-size: $font-size-h3; } +.font-size-h4 { font-size: $font-size-h4; } +.font-size-h5 { font-size: $font-size-h5; } diff --git a/_sass/_03_settings_mixins_media_queries.scss b/_sass/_03_settings_mixins_media_queries.scss new file mode 100644 index 0000000000..3f971f3a8b --- /dev/null +++ b/_sass/_03_settings_mixins_media_queries.scss @@ -0,0 +1,433 @@ +@charset "utf-8"; +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +// +// Foundation Variables +// + +// Data attribute namespace +// styles get applied to [data-mysite-plugin], etc +$namespace: false !default; + +// The default font-size is set to 100% of the browser style sheet (usually 16px) +// for compatibility with browser-based text zoom or user-set defaults. + +// Since the typical default browser font-size is 16px, that makes the calculation for grid size. +// If you want your base font-size to be different and not have it affect the grid breakpoints, +// set $rem-base to $base-font-size and make sure $base-font-size is a px value. +$base-font-size: 100% !default; + + + +// +// Global Foundation Mixins +// + +// @mixins +// +// We use this to control border radius. +// $radius - Default: $global-radius || 4px +@mixin radius($radius:$global-radius) { + @if $radius { + border-radius: $radius; + } +} + +// @mixins +// +// We use this to create equal side border radius on elements. +// $side - Options: left, right, top, bottom +@mixin side-radius($side, $radius:$global-radius) { + @if ($side == left or $side == right) { + -webkit-border-bottom-#{$side}-radius: $radius; + -webkit-border-top-#{$side}-radius: $radius; + border-bottom-#{$side}-radius: $radius; + border-top-#{$side}-radius: $radius; + } @else { + -webkit-#{$side}-left-radius: $radius; + -webkit-#{$side}-right-radius: $radius; + border-#{$side}-left-radius: $radius; + border-#{$side}-right-radius: $radius; + } +} + +// @mixins +// +// We can control whether or not we have inset shadows edges. +// $active - Default: true, Options: false +@mixin inset-shadow($active:true) { + box-shadow: $shiny-edge-size $shiny-edge-color inset; + + @if $active { &:active { + box-shadow: $shiny-edge-size $shiny-edge-active-color inset; } } +} + +// @mixins +// +// We use this to add transitions to elements +// $property - Default: all, Options: http://www.w3.org/TR/css3-transitions/#animatable-properties +// $speed - Default: 300ms +// $ease - Default:ease-out, Options: http://css-tricks.com/almanac/properties/t/transition-timing-function/ +@mixin single-transition($property:all, $speed:300ms, $ease:ease-out) { + transition: $property $speed $ease; +} + +// @mixins +// +// We use this to add box-sizing across browser prefixes +@mixin box-sizing($type:border-box) { + -webkit-box-sizing: $type; // Android < 2.3, iOS < 4 + -moz-box-sizing: $type; // Firefox < 29 + box-sizing: $type; // Chrome, IE 8+, Opera, Safari 5.1 +} + +// @mixins +// +// We use this to create isosceles triangles +// $triangle-size - Used to set border-size. No default, set a px or em size. +// $triangle-color - Used to set border-color which makes up triangle. No default +// $triangle-direction - Used to determine which direction triangle points. Options: top, bottom, left, right +@mixin css-triangle($triangle-size, $triangle-color, $triangle-direction) { + content: ""; + display: block; + width: 0; + height: 0; + border: inset $triangle-size; + @if ($triangle-direction == top) { + border-color: $triangle-color transparent transparent transparent; + border-top-style: solid; + } + @if ($triangle-direction == bottom) { + border-color: transparent transparent $triangle-color transparent; + border-bottom-style: solid; + } + @if ($triangle-direction == left) { + border-color: transparent transparent transparent $triangle-color; + border-left-style: solid; + } + @if ($triangle-direction == right) { + border-color: transparent $triangle-color transparent transparent; + border-right-style: solid; + } +} + +// @mixins +// +// We use this to create the icon with three lines aka the hamburger icon, the menu-icon or the navicon +// $width - Width of hamburger icon in rem +// $left - If false, icon will be centered horizontally || explicitly set value in rem +// $top - If false, icon will be centered vertically || explicitly set value in rem +// $thickness - thickness of lines in hamburger icon, set value in px +// $gap - spacing between the lines in hamburger icon, set value in px +// $color - icon color +// $hover-color - icon color during hover +// $offcanvas - Set to true of @include in offcanvas +@mixin hamburger($width, $left, $top, $thickness, $gap, $color, $hover-color, $offcanvas) { + span::after { + content: ""; + position: absolute; + display: block; + height: 0; + + @if $offcanvas { + @if $top { + top: $top; + } + @else { + top: 50%; + margin-top: (-$width/2); + } + @if $left { + left: $left; + } + @else { + left: ($tabbar-menu-icon-width - $width)/2; + } + } + @else { + top: 50%; + margin-top: -($width/2); + #{$opposite-direction}: $topbar-link-padding; + } + + box-shadow: + 0 0 0 $thickness $color, + 0 $gap + $thickness 0 $thickness $color, + 0 (2 * $gap + 2*$thickness) 0 $thickness $color; + width: $width; + } + span:hover:after { + box-shadow: + 0 0 0 $thickness $hover-color, + 0 $gap + $thickness 0 $thickness $hover-color, + 0 (2 * $gap + 2*$thickness) 0 $thickness $hover-color; + } +} + +// We use this to do clear floats +@mixin clearfix { + &:before, &:after { content: " "; display: table; } + &:after { clear: both; } +} + +// @mixins +// +// We use this to add a glowing effect to block elements +// $selector - Used for selector state. Default: focus, Options: hover, active, visited +// $fade-time - Default: 300ms +// $glowing-effect-color - Default: fade-out($primary-color, .25) +@mixin block-glowing-effect($selector:focus, $fade-time:300ms, $glowing-effect-color:fade-out($primary-color, .25)) { + transition: box-shadow $fade-time, border-color $fade-time ease-in-out; + + &:#{$selector} { + box-shadow: 0 0 5px $glowing-effect-color; + border-color: $glowing-effect-color; + } +} + +// @mixins +// +// We use this to translate elements in 2D +// $horizontal: Default: 0 +// $vertical: Default: 0 +@mixin translate2d($horizontal:0, $vertical:0) { + transform: translate($horizontal,$vertical) +} + +// @mixins +// +// Makes an element visually hidden, but accessible. +// @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility +@mixin element-invisible { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); +} + +// @mixins +// +// Turns off the element-invisible effect. +@mixin element-invisible-off { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; +} + + +// We use these to control text direction settings +$text-direction: ltr !default; +$default-float: left !default; +$opposite-direction: right !default; +@if $text-direction == ltr { + $default-float: left; + $opposite-direction: right; +} @else { + $default-float: right; + $opposite-direction: left; +} + +// We use these to control inset shadow shiny edges and depressions. +$shiny-edge-size: 0 1px 0 !default; +$shiny-edge-color: rgba(#fff, .5) !default; +$shiny-edge-active-color: rgba(#000, .2) !default; + +// We use this to control whether or not CSS classes come through in the gem files. +$include-html-classes: true !default; +$include-print-styles: true !default; +$include-html-global-classes: $include-html-classes !default; + +$column-gutter: rem-calc(30) !default; + + + + +// d. Media Query Ranges +// - - - - - - - - - - - - - - - - - - - - - - - - - + +$small-range: (0em, 40em); +$medium-range: (40.063em, 64em); +$large-range: (64.063em, 90em); +$xlarge-range: (90.063em, 120em); +$xxlarge-range: (120.063em, 99999999em); + + +$screen: "only screen" !default; + +$landscape: "#{$screen} and (orientation: landscape)" !default; +$portrait: "#{$screen} and (orientation: portrait)" !default; + +$small-up: $screen !default; +$small-only: "#{$screen} and (max-width: #{upper-bound($small-range)})"; + +$medium-up: "#{$screen} and (min-width:#{lower-bound($medium-range)})" !default; +$medium-only: "#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})" !default; + +$large-up: "#{$screen} and (min-width:#{lower-bound($large-range)})" !default; +$large-only: "#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})" !default; + +$xlarge-up: "#{$screen} and (min-width:#{lower-bound($xlarge-range)})" !default; +$xlarge-only: "#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})" !default; + +$xxlarge-up: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)})" !default; +$xxlarge-only: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})" !default; + +// Legacy +$small: $medium-up; +$medium: $medium-up; +$large: $large-up; + +//We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet +$cursor-auto-value: auto !default; +$cursor-crosshair-value: crosshair !default; +$cursor-default-value: default !default; +$cursor-pointer-value: pointer !default; +$cursor-help-value: help !default; +$cursor-text-value: text !default; + + +@include exports("global") { + + // Meta styles are included in all builds, as they are a dependancy of the Javascript. + // Used to provide media query values for javascript components. + // Forward slash placed around everything to convince PhantomJS to read the value. + + meta.foundation-version { + font-family: "/5.5.0/"; + } + + meta.foundation-mq-small { + font-family: "/" + unquote($small-up) + "/"; + width: lower-bound($small-range); + } + + meta.foundation-mq-small-only { + font-family: "/" + unquote($small-only) + "/"; + width: lower-bound($small-range); + } + + meta.foundation-mq-medium { + font-family: "/" + unquote($medium-up) + "/"; + width: lower-bound($medium-range); + } + + meta.foundation-mq-medium-only { + font-family: "/" + unquote($medium-only) + "/"; + width: lower-bound($medium-range); + } + + meta.foundation-mq-large { + font-family: "/" + unquote($large-up) + "/"; + width: lower-bound($large-range); + } + + meta.foundation-mq-large-only { + font-family: "/" + unquote($large-only) + "/"; + width: lower-bound($large-range); + } + + meta.foundation-mq-xlarge { + font-family: "/" + unquote($xlarge-up) + "/"; + width: lower-bound($xlarge-range); + } + + meta.foundation-mq-xlarge-only { + font-family: "/" + unquote($xlarge-only) + "/"; + width: lower-bound($xlarge-range); + } + + meta.foundation-mq-xxlarge { + font-family: "/" + unquote($xxlarge-up) + "/"; + width: lower-bound($xxlarge-range); + } + + meta.foundation-data-attribute-namespace { + font-family: #{$namespace}; + } + + @if $include-html-global-classes { + + // Must be 100% for off canvas to work + html, body { height: 100%; } + + // Set box-sizing globally to handle padding and border widths + *, + *:before, + *:after { + @include box-sizing(border-box); + } + + html, + body { font-size: $base-font-size; } + + // Default body styles + body { + background: $body-bg; + color: $body-font-color; + padding: 0; + margin: 0; + font-family: $body-font-family; + font-weight: $body-font-weight; + font-style: $body-font-style; + line-height: $base-line-height; // Set to $base-line-height to take on browser default of 150% + position: relative; + cursor: $cursor-auto-value; + } + + a:hover { cursor: $cursor-pointer-value; } + + // Grid Defaults to get images and embeds to work properly + img { max-width: 100%; height: auto; } + + img { -ms-interpolation-mode: bicubic; } + + #map_canvas, + .map_canvas { + img, + embed, + object { max-width: none !important; + } + } + + // Miscellaneous useful HTML classes + .left { float: left !important; } + .right { float: right !important; } + .clearfix { @include clearfix; } + + // Hide visually and from screen readers + .hide { + display: none !important; + visibility: hidden; + } + + // Hide visually and from screen readers, but maintain layout + .invisible { visibility: hidden; } + + // Font smoothing + // Antialiased font smoothing works best for light text on a dark background. + // Apply to single elements instead of globally to body. + // Note this only applies to webkit-based desktop browsers and Firefox 25 (and later) on the Mac. + .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } + + // Get rid of gap under images by making them display: inline-block; by default + img { + display: inline-block; + vertical-align: middle; + } + + // + // Global resets for forms + // + + // Make sure textarea takes on height automatically + textarea { height: auto; min-height: 50px; } + + // Make select elements 100% width by default + select { width: 100%; } + } +} diff --git a/_sass/_04_settings_global.scss b/_sass/_04_settings_global.scss new file mode 100644 index 0000000000..3076ae7dbe --- /dev/null +++ b/_sass/_04_settings_global.scss @@ -0,0 +1,1450 @@ +@charset "utf-8"; + +$spacing-unit: 30px; + + +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +// + +// Table of Contents +// Foundation Settings +// +// a. Base +// b. Grid +// c. Global +// d. Media Query Ranges +// e. Typography +// 01. Accordion +// 02. Alert Boxes +// 03. Block Grid +// 04. Breadcrumbs +// 05. Buttons +// 06. Button Groups +// 07. Clearing +// 08. Dropdown +// 09. Dropdown Buttons +// 10. Flex Video +// 11. Forms +// 12. Icon Bar +// 13. Inline Lists +// 14. Joyride +// 15. Keystrokes +// 16. Labels +// 17. Magellan +// 18. Off-canvas +// 19. Orbit +// 20. Pagination +// 21. Panels +// 22. Pricing Tables +// 23. Progress Bar +// 24. Range Slider +// 25. Reveal +// 26. Side Nav +// 27. Split Buttons +// 28. Sub Nav +// 29. Switch +// 30. Tables +// 31. Tabs +// 32. Thumbnails +// 33. Tooltips +// 34. Top Bar +// 36. Visibility Classes + +// a. Base +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// This is the default html and body font-size for the base rem value. +// $rem-base: 16px; + +// Allows the use of rem-calc() or lower-bound() in your settings +@import "functions"; + +// The default font-size is set to 100% of the browser style sheet (usually 16px) +// for compatibility with browser-based text zoom or user-set defaults. + +// Since the typical default browser font-size is 16px, that makes the calculation for grid size. +// If you want your base font-size to be different and not have it affect the grid breakpoints, +// set $rem-base to $base-font-size and make sure $base-font-size is a px value. +// $base-font-size: 100%; + +$base-font-size: 16px; +$rem-base: $base-font-size; + + +// The $base-font-size is 100% while $base-line-height is 150% +// $base-line-height: 150%; + +// We use this to control whether or not CSS classes come through in the gem files. +$include-html-classes: true; +// $include-print-styles: true; +$include-html-global-classes: $include-html-classes; + +// b. Grid +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-grid-classes: $include-html-classes; +// $include-xl-html-grid-classes: false; + +// $row-width: rem-calc(1000); +// $total-columns: 12; +// $column-gutter: rem-calc(30); + +// c. Global +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// We use these to define default font stacks +// $font-family-sans-serif: "Lato", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; +// $font-family-serif: "Volkhov", Georgia, Times, serif; +// $font-family-monospace: "Lucida Console", Monaco, monospace; + +// We use these to define default font weights +// $font-weight-normal: normal !default; +// $font-weight-bold: bold !default; + +// $white : #FFFFFF; +// $ghost : #FAFAFA; +// $snow : #F9F9F9; +// $vapor : #F6F6F6; +// $white-smoke : #F5F5F5; +// $silver : #EFEFEF; +// $smoke : #EEEEEE; +// $gainsboro : #DDDDDD; +// $iron : #CCCCCC; +// $base : #AAAAAA; +// $aluminum : #999999; +// $jumbo : #888888; +// $monsoon : #777777; +// $steel : #666666; +// $charcoal : #555555; +// $tuatara : #444444; +// $oil : #333333; +// $jet : #222222; +// $black : #000000; + +// We use these as default colors throughout +// $primary-color: #008CBA; +// $secondary-color: #e7e7e7; +// $alert-color: #f04124; +// $success-color: #43AC6A; +// $warning-color: #f08a24; +// $info-color: #a0d3e8; + +// We use these to control various global styles +// $body-bg: $white; +// $body-font-color: $jet; +// $body-font-family: $font-family-sans-serif; +// $body-font-weight: $font-weight-normal; +// $body-font-style: normal; + +// We use this to control font-smoothing +// $font-smoothing: antialiased; + +// We use these to control text direction settings +// $text-direction: ltr; +// $opposite-direction: right; +// $default-float: left; +// $last-child-float: $opposite-direction; + +// We use these to make sure border radius matches unless we want it different. +$global-radius: 3px; +// $global-rounded: 1000px; + +// We use these to control inset shadow shiny edges and depressions. +// $shiny-edge-size: 0 1px 0; +// $shiny-edge-color: rgba($white, .5); +// $shiny-edge-active-color: rgba($black, .2); + +// // d. Media Query Ranges +// // - - - - - - - - - - - - - - - - - - - - - - - - - + +// $small-range: (0em, 40em); +// $medium-range: (40.063em, 64em); +// $large-range: (64.063em, 90em); +// $xlarge-range: (90.063em, 120em); +// $xxlarge-range: (120.063em, 99999999em); + +// $screen: "only screen"; + +// // $landscape: "#{$screen} and (orientation: landscape)"; +// // $portrait: "#{$screen} and (orientation: portrait)"; + +// $small-up: $screen; +// $small-only: "#{$screen} and (max-width: #{upper-bound($small-range)})"; + +// $medium-up: "#{$screen} and (min-width:#{lower-bound($medium-range)})"; +// $medium-only: "#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})"; + +// $large-up: "#{$screen} and (min-width:#{lower-bound($large-range)})"; +// $large-only: "#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})"; + +// $xlarge-up: "#{$screen} and (min-width:#{lower-bound($xlarge-range)})"; +// $xlarge-only: "#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})"; + +// $xxlarge-up: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)})"; +// $xxlarge-only: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})"; + +// Legacy +// $small: $medium-up; +// $medium: $medium-up; +// $large: $large-up; + +// We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet +// $cursor-crosshair-value: crosshair; +// $cursor-default-value: default; +// $cursor-pointer-value: pointer; +// $cursor-help-value: help; +// $cursor-text-value: text; + +// e. Typography +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-type-classes: $include-html-classes; + +// We use these to control header font styles +// $header-font-family: $font-family-serif; +// $header-font-weight: $font-weight-normal; +// $header-font-style: normal; +// $header-font-color: $jet; +// $header-line-height: 1.4; +// $header-top-margin: .2rem; +// $header-bottom-margin: .5rem; +// $header-text-rendering: optimizeLegibility; + +// We use these to control header font sizes +// $h1-font-size: rem-calc(54); +// $h2-font-size: rem-calc(36); +// $h3-font-size: rem-calc(29); +// $h4-font-size: rem-calc(24); +// $h5-font-size: rem-calc(19); +// $h6-font-size: 1rem; + +// We use these to control header size reduction on small screens +// $h1-font-reduction: rem-calc(10) !default; +// $h2-font-reduction: rem-calc(10) !default; +// $h3-font-reduction: rem-calc(5) !default; +// $h4-font-reduction: rem-calc(5) !default; +// $h5-font-reduction: 0 !default; +// $h6-font-reduction: 0 !default; + +// These control how subheaders are styled. +// $subheader-line-height: 1.4; +// $subheader-font-color: scale-color($header-font-color, $lightness: 35%); +// $subheader-font-weight: $font-weight-normal; +// $subheader-top-margin: .2rem; +// $subheader-bottom-margin: .5rem; + +// A general styling +// $small-font-size: 60%; +// $small-font-color: scale-color($header-font-color, $lightness: 35%); + +// We use these to style paragraphs +// $paragraph-font-family: inherit; +// $paragraph-font-weight: $font-weight-normal; +// $paragraph-font-size: 1rem; +// $paragraph-line-height: 1.6; +// $paragraph-margin-bottom: rem-calc(20); +// $paragraph-aside-font-size: rem-calc(14); +// $paragraph-aside-line-height: 1.35; +// $paragraph-aside-font-style: italic; +// $paragraph-text-rendering: optimizeLegibility; + +// We use these to style tags +// $code-color: $oil; +// $code-font-family: $font-family-monospace; +// $code-font-weight: $font-weight-normal; +// $code-background-color: scale-color($secondary-color, $lightness: 70%); +// $code-border-size: 1px; +// $code-border-style: solid; +// $code-border-color: scale-color($code-background-color, $lightness: -10%); +// $code-padding: rem-calc(2) rem-calc(5) rem-calc(1); + +// We use these to style anchors +// $anchor-text-decoration: none; +// $anchor-text-decoration-hover: none; +// $anchor-font-color: $primary-color; +// $anchor-font-color-hover: scale-color($primary-color, $lightness: -14%); + +// We use these to style the
element +// $hr-border-width: 1px; +// $hr-border-style: solid; +$hr-border-color: $grey-3; +// $hr-margin: rem-calc(20); + +// We use these to style lists +// $list-font-family: $paragraph-font-family; +// $list-font-size: $paragraph-font-size; +// $list-line-height: $paragraph-line-height; +// $list-margin-bottom: $paragraph-margin-bottom; +// $list-style-position: outside; +$list-side-margin: 1.3rem; +// $list-ordered-side-margin: 1.4rem; +// $list-side-margin-no-bullet: 0; +// $list-nested-margin: rem-calc(20); +// $definition-list-header-weight: $font-weight-bold; +// $definition-list-header-margin-bottom: .3rem; +// $definition-list-margin-bottom: rem-calc(12); + +// We use these to style blockquotes +// $blockquote-font-color: scale-color($header-font-color, $lightness: 35%); +// $blockquote-padding: rem-calc(9 20 0 19); +// $blockquote-border: 1px solid $gainsboro; +// $blockquote-cite-font-size: rem-calc(13); +// $blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%); +// $blockquote-cite-link-color: $blockquote-cite-font-color; + +// Acronym styles +// $acronym-underline: 1px dotted $gainsboro; + +// We use these to control padding and margin +// $microformat-padding: rem-calc(10 12); +// $microformat-margin: rem-calc(0 0 20 0); + +// We use these to control the border styles +// $microformat-border-width: 1px; +// $microformat-border-style: solid; +// $microformat-border-color: $gainsboro; + +// We use these to control full name font styles +// $microformat-fullname-font-weight: $font-weight-bold; +// $microformat-fullname-font-size: rem-calc(15); + +// We use this to control the summary font styles +// $microformat-summary-font-weight: $font-weight-bold; + +// We use this to control abbr padding +// $microformat-abbr-padding: rem-calc(0 1); + +// We use this to control abbr font styles +// $microformat-abbr-font-weight: $font-weight-bold; +// $microformat-abbr-font-decoration: none; + +// 01. Accordion +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-accordion-classes: $include-html-classes; + +$accordion-navigation-padding: rem-calc(12); +// $accordion-navigation-bg-color: #ffffff; +// $accordion-navigation-hover-bg-color: $grey-1; +// $accordion-navigation-active-bg-color: $grey-1; +// $accordion-navigation-font-color: $jet; +// $accordion-navigation-font-size: rem-calc(16); +// $accordion-navigation-font-family: $body-font-family; + +// $accordion-content-padding: $column-gutter/2; +$accordion-content-active-bg-color: $body-bg; + +// 02. Alert Boxes +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-alert-classes: $include-html-classes; + +// We use this to control alert padding. +// $alert-padding-top: rem-calc(14); +// $alert-padding-default-float: $alert-padding-top; +// $alert-padding-opposite-direction: $alert-padding-top + rem-calc(10); +// $alert-padding-bottom: $alert-padding-top; + +// We use these to control text style. +// $alert-font-weight: $font-weight-normal; +$alert-font-size: rem-calc(15); +// $alert-font-color: $white; +// $alert-font-color-alt: scale-color($secondary-color, $lightness: -66%); + +// We use this for close hover effect. +// $alert-function-factor: -14%; + +// We use these to control border styles. +// $alert-border-style: solid; +// $alert-border-width: 1px; +// $alert-border-color: scale-color($primary-color, $lightness: $alert-function-factor); +// $alert-bottom-margin: rem-calc(20); + +// We use these to style the close buttons +// $alert-close-color: $oil; +// $alert-close-top: 50%; +// $alert-close-position: rem-calc(4); +// $alert-close-font-size: rem-calc(22); +// $alert-close-opacity: 0.3; +// $alert-close-opacity-hover: 0.5; +// $alert-close-padding: 9px 6px 4px; + +// We use this to control border radius +// $alert-radius: $global-radius; + +// We use this to control transition effects +// $alert-transition-speed: 300ms; +// $alert-transition-ease: ease-out; + +// 03. Block Grid +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-block-grid-classes: $include-html-classes; +// $include-xl-html-block-grid-classes: false; + +// We use this to control the maximum number of block grid elements per row +// $block-grid-elements: 12; +// $block-grid-default-spacing: rem-calc(20); +// $align-block-grid-to-grid: false; + +// Enables media queries for block-grid classes. Set to false if writing semantic HTML. +// $block-grid-media-queries: true; + +// 04. Breadcrumbs +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-nav-classes: $include-html-classes; + +// We use this to set the background color for the breadcrumb container. +$crumb-bg: $grey-1; + +// We use these to set the padding around the breadcrumbs. +// $crumb-padding: rem-calc(9 9 14 0); +// $crumb-side-padding: rem-calc(12); + +// We use these to control border styles. +// $crumb-function-factor: -10%; +$crumb-border-size: 0; +// $crumb-border-style: solid; +$crumb-border-color: $grey-1; +$crumb-radius: 0; + +// We use these to set various text styles for breadcrumbs. +// $crumb-font-size: rem-calc(11); +// $crumb-font-color: $primary-color; +// $crumb-font-color-current: $oil; +// $crumb-font-color-unavailable: $aluminum; +// $crumb-font-transform: uppercase; +// $crumb-link-decor: underline; + +// We use these to control the slash between breadcrumbs +// $crumb-slash-color: $base; +$crumb-slash: "/"; + +// 05. Buttons +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// We use these to build padding for buttons. +// $button-tny: rem-calc(10); +// $button-sml: rem-calc(14); +// $button-med: rem-calc(16); +// $button-lrg: rem-calc(18); + +// We use this to control the display property. +// $button-display: inline-block; +// $button-margin-bottom: rem-calc(20); + +// We use these to control button text styles. +// $button-font-family: $body-font-family; +// $button-font-color: $white; +// $button-font-color-alt: $oil; +// $button-font-tny: rem-calc(11); +// $button-font-sml: rem-calc(13); +// $button-font-med: rem-calc(16); +// $button-font-lrg: rem-calc(20); +// $button-font-weight: $font-weight-normal; +// $button-font-align: center; + +// We use these to control various hover effects. +// $button-function-factor: -20%; + +// We use these to control button border and hover styles. +// $button-border-width: 0px; +// $button-border-style: solid; +// $button-bg-color: $primary-color; +// $button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor); +// $button-border-color: $button-bg-hover; +// $secondary-button-bg-hover: scale-color($secondary-color, $lightness: $button-function-factor); +// $secondary-button-border-color: $secondary-button-bg-hover; +// $success-button-bg-hover: scale-color($success-color, $lightness: $button-function-factor); +// $success-button-border-color: $success-button-bg-hover; +// $alert-button-bg-hover: scale-color($alert-color, $lightness: $button-function-factor); +// $alert-button-border-color: $alert-button-bg-hover; + +// We use this to set the default radius used throughout the core. +// $button-radius: $global-radius; +// $button-round: $global-rounded; + +// We use this to set default opacity and cursor for disabled buttons. +// $button-disabled-opacity: 0.7; +// $button-disabled-cursor: $cursor-default-value; + +// 06. Button Groups +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// Sets the margin for the right side by default, and the left margin if right-to-left direction is used +// $button-bar-margin-opposite: rem-calc(10); +// $button-group-border-width: 1px; + +// 07. Clearing +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-clearing-classes: $include-html-classes; + +// We use these to set the background colors for parts of Clearing. +// $clearing-bg: $oil; +// $clearing-caption-bg: $clearing-bg; +// $clearing-carousel-bg: rgba(51,51,51,0.8); +// $clearing-img-bg: $clearing-bg; + +// We use these to style the close button +// $clearing-close-color: $iron; +// $clearing-close-size: 30px; + +// We use these to style the arrows +// $clearing-arrow-size: 12px; +// $clearing-arrow-color: $clearing-close-color; + +// We use these to style captions +// $clearing-caption-font-color: $iron; +// $clearing-caption-font-size: 0.875em; +// $clearing-caption-padding: 10px 30px 20px; + +// We use these to make the image and carousel height and style +// $clearing-active-img-height: 85%; +// $clearing-carousel-height: 120px; +// $clearing-carousel-thumb-width: 120px; +// $clearing-carousel-thumb-active-border: 1px solid rgb(255,255,255); + +// 08. Dropdown +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-dropdown-classes: $include-html-classes; + +// We use these to controls height and width styles. +// $f-dropdown-max-width: 200px; +// $f-dropdown-height: auto; +// $f-dropdown-max-height: none; + +// Used for bottom position +// $f-dropdown-margin-top: 2px; + +// Used for right position +// $f-dropdown-margin-left: $f-dropdown-margin-top; + +// Used for left position +// $f-dropdown-margin-right: $f-dropdown-margin-top; + +// Used for top position +// $f-dropdown-margin-bottom: $f-dropdown-margin-top; + +// We use this to control the background color +// $f-dropdown-bg: $white; + +// We use this to set the border styles for dropdowns. +// $f-dropdown-border-style: solid; +// $f-dropdown-border-width: 1px; +// $f-dropdown-border-color: scale-color($white, $lightness: -20%); + +// We use these to style the triangle pip. +// $f-dropdown-triangle-size: 6px; +// $f-dropdown-triangle-color: $white; +// $f-dropdown-triangle-side-offset: 10px; + +// We use these to control styles for the list elements. +// $f-dropdown-list-style: none; +// $f-dropdown-font-color: $charcoal; +// $f-dropdown-font-size: rem-calc(14); +// $f-dropdown-list-padding: rem-calc(5, 10); +// $f-dropdown-line-height: rem-calc(18); +// $f-dropdown-list-hover-bg: $smoke ; +// $dropdown-mobile-default-float: 0; + +// We use this to control the styles for when the dropdown has custom content. +// $f-dropdown-content-padding: rem-calc(20); + +// Default radius for dropdown. +// $f-dropdown-radius: $global-radius; + + +// 09. Dropdown Buttons +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// We use these to set the color of the pip in dropdown buttons +// $dropdown-button-pip-color: $white; +// $dropdown-button-pip-color-alt: $oil; + +// $button-pip-tny: rem-calc(6); +// $button-pip-sml: rem-calc(7); +// $button-pip-med: rem-calc(9); +// $button-pip-lrg: rem-calc(11); + +// We use these to style tiny dropdown buttons +// $dropdown-button-padding-tny: $button-pip-tny * 7; +// $dropdown-button-pip-size-tny: $button-pip-tny; +// $dropdown-button-pip-opposite-tny: $button-pip-tny * 3; +// $dropdown-button-pip-top-tny: -$button-pip-tny / 2 + rem-calc(1); + +// We use these to style small dropdown buttons +// $dropdown-button-padding-sml: $button-pip-sml * 7; +// $dropdown-button-pip-size-sml: $button-pip-sml; +// $dropdown-button-pip-opposite-sml: $button-pip-sml * 3; +// $dropdown-button-pip-top-sml: -$button-pip-sml / 2 + rem-calc(1); + +// We use these to style medium dropdown buttons +// $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3); +// $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3); +// $dropdown-button-pip-opposite-med: $button-pip-med * 2.5; +// $dropdown-button-pip-top-med: -$button-pip-med / 2 + rem-calc(2); + +// We use these to style large dropdown buttons +// $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3); +// $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6); +// $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5; +// $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3); + +// 10. Flex Video +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-media-classes: $include-html-classes; + +// We use these to control video container padding and margins +// $flex-video-padding-top: rem-calc(25); +// $flex-video-padding-bottom: 67.5%; +// $flex-video-margin-bottom: rem-calc(16); + +// We use this to control widescreen bottom padding +// $flex-video-widescreen-padding-bottom: 56.34%; + +// 11. Forms +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-form-classes: $include-html-classes; + +// We use this to set the base for lots of form spacing and positioning styles +// $form-spacing: rem-calc(16); + +// We use these to style the labels in different ways +// $form-label-pointer: pointer; +// $form-label-font-size: rem-calc(14); +// $form-label-font-weight: $font-weight-normal; +// $form-label-line-height: 1.5; +// $form-label-font-color: scale-color($black, $lightness: 30%); +// $form-label-small-transform: capitalize; +// $form-label-bottom-margin: 0; +// $input-font-family: inherit; +// $input-font-color: rgba(0,0,0,0.75); +// $input-font-size: rem-calc(14); +// $input-bg-color: $white; +// $input-focus-bg-color: scale-color($white, $lightness: -2%); +// $input-border-color: scale-color($white, $lightness: -20%); +// $input-focus-border-color: scale-color($white, $lightness: -40%); +// $input-border-style: solid; +// $input-border-width: 1px; +// $input-border-radius: $global-radius; +// $input-disabled-bg: $gainsboro; +// $input-disabled-cursor: $cursor-default-value; +// $input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); + +// We use these to style the fieldset border and spacing. +// $fieldset-border-style: solid; +// $fieldset-border-width: 1px; +// $fieldset-border-color: $gainsboro; +// $fieldset-padding: rem-calc(20); +// $fieldset-margin: rem-calc(18 0); + +// We use these to style the legends when you use them +// $legend-bg: $white; +// $legend-font-weight: $font-weight-bold; +// $legend-padding: rem-calc(0 3); + +// We use these to style the prefix and postfix input elements +// $input-prefix-bg: scale-color($white, $lightness: -5%); +// $input-prefix-border-color: scale-color($white, $lightness: -20%); +// $input-prefix-border-size: 1px; +// $input-prefix-border-type: solid; +// $input-prefix-overflow: hidden; +// $input-prefix-font-color: $oil; +// $input-prefix-font-color-alt: $white; + +// We use this setting to turn on/off HTML5 number spinners (the up/down arrows) +// $input-number-spinners: true; + +// We use these to style the error states for inputs and labels +// $input-error-message-padding: rem-calc(6 9 9); +// $input-error-message-top: -1px; +// $input-error-message-font-size: rem-calc(12); +// $input-error-message-font-weight: $font-weight-normal; +// $input-error-message-font-style: italic; +// $input-error-message-font-color: $white; +// $input-error-message-font-color-alt: $oil; + +// We use this to style the glowing effect of inputs when focused +// $input-include-glowing-effect: true; +// $glowing-effect-fade-time: 0.45s; +// $glowing-effect-color: $input-focus-border-color; + +// Select variables +// $select-bg-color: $ghost; +// $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%); + +// 12. Icon Bar +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// We use these to style the icon-bar and items +// $include-html-icon-bar-classes: $include-html-classes; +// $icon-bar-bg: $oil; +// $icon-bar-font-color: $white; +// $icon-bar-font-size: 1rem; +// $icon-bar-hover-color: $primary-color; +// $icon-bar-icon-color: $white; +// $icon-bar-icon-size: 1.875rem; +// $icon-bar-image-width: 1.875rem; +// $icon-bar-image-height: 1.875rem; +// $icon-bar-active-color: $primary-color; +// $icon-bar-item-padding: 1.25rem; + +// 13. Inline Lists +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-inline-list-classes: $include-html-classes; + +// We use this to control the margins and padding of the inline list. +// $inline-list-top-margin: 0; +// $inline-list-opposite-margin: 0; +// $inline-list-bottom-margin: rem-calc(17); +// $inline-list-default-float-margin: rem-calc(-22); +// $inline-list-default-float-list-margin: rem-calc(22); + +// $inline-list-padding: 0; + +// We use this to control the overflow of the inline list. +// $inline-list-overflow: hidden; + +// We use this to control the list items +// $inline-list-display: block; + +// We use this to control any elements within list items +// $inline-list-children-display: block; + +// 14. Joyride +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-joyride-classes: $include-html-classes; + +// Controlling default Joyride styles +// $joyride-tip-bg: $oil; +// $joyride-tip-default-width: 300px; +// $joyride-tip-padding: rem-calc(18 20 24); +// $joyride-tip-border: solid 1px $charcoal; +// $joyride-tip-radius: 4px; +// $joyride-tip-position-offset: 22px; + +// Here, we're setting the tip font styles +// $joyride-tip-font-color: $white; +// $joyride-tip-font-size: rem-calc(14); +// $joyride-tip-header-weight: $font-weight-bold; + +// This changes the nub size +// $joyride-tip-nub-size: 10px; + +// This adjusts the styles for the timer when its enabled +// $joyride-tip-timer-width: 50px; +// $joyride-tip-timer-height: 3px; +// $joyride-tip-timer-color: $steel; + +// This changes up the styles for the close button +// $joyride-tip-close-color: $monsoon; +// $joyride-tip-close-size: 24px; +// $joyride-tip-close-weight: $font-weight-normal; + +// When Joyride is filling the screen, we use this style for the bg +// $joyride-screenfill: rgba(0,0,0,0.5); + +// 15. Keystrokes +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-keystroke-classes: $include-html-classes; + +// We use these to control text styles. +// $keystroke-font: "Consolas", "Menlo", "Courier", monospace; +// $keystroke-font-size: inherit; +// $keystroke-font-color: $jet; +// $keystroke-font-color-alt: $white; +// $keystroke-function-factor: -7%; + +// We use this to control keystroke padding. +// $keystroke-padding: rem-calc(2 4 0); + +// We use these to control background and border styles. +// $keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor); +// $keystroke-border-style: solid; +// $keystroke-border-width: 1px; +// $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor); +// $keystroke-radius: $global-radius; + +// 16. Labels +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-label-classes: $include-html-classes; + +// We use these to style the labels +// $label-padding: rem-calc(4 8 4); +// $label-radius: $global-radius; + +// We use these to style the label text +// $label-font-sizing: rem-calc(11); +// $label-font-weight: $font-weight-normal; +// $label-font-color: $oil; +// $label-font-color-alt: $white; +// $label-font-family: $body-font-family; + +// 17. Magellan +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-magellan-classes: $include-html-classes; + +// $magellan-bg: $white; +// $magellan-padding: 0 !important; + +// 18. Off-canvas +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-off-canvas-classes: $include-html-classes; + +// $tabbar-bg: $oil; +// $tabbar-height: rem-calc(45); +// $tabbar-icon-width: $tabbar-height; +// $tabbar-line-height: $tabbar-height; +// $tabbar-color: $white; +// $tabbar-middle-padding: 0 rem-calc(10); + +// Off Canvas Divider Styles +// $tabbar-right-section-border: solid 1px scale-color($tabbar-bg, $lightness: 13%); +// $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%); + +// Off Canvas Tab Bar Headers +// $tabbar-header-color: $white; +// $tabbar-header-weight: $font-weight-bold; +// $tabbar-header-line-height: $tabbar-height; +// $tabbar-header-margin: 0; + +// Off Canvas Menu Variables +// $off-canvas-width: rem-calc(250); +// $off-canvas-bg: $oil; +// $off-canvas-bg-hover: scale-color($tabbar-bg, $lightness: -30%); + +// Off Canvas Menu List Variables +// $off-canvas-label-padding: 0.3rem rem-calc(15); +// $off-canvas-label-color: $aluminum; +// $off-canvas-label-text-transform: uppercase; +// $off-canvas-label-font-size: rem-calc(12); +// $off-canvas-label-font-weight: $font-weight-bold; +// $off-canvas-label-bg: $tuatara; +// $off-canvas-label-border-top: 1px solid scale-color($tuatara, $lightness: 14%); +// $off-canvas-label-border-bottom: none; +// $off-canvas-label-margin:0; +// $off-canvas-link-padding: rem-calc(10, 15); +// $off-canvas-link-color: rgba($white, 0.7); +// $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%); +// $off-canvas-back-bg: $tuatara; +// $off-canvas-back-border-top: $off-canvas-label-border-top; +// $off-canvas-back-border-bottom: $off-canvas-label-border-bottom; +// $off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%); +// $off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%); +// $off-canvas-back-hover-border-bottom: none; + +// Off Canvas Menu Icon Variables +// $tabbar-menu-icon-color: $white; +// $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%); + +// $tabbar-menu-icon-text-indent: rem-calc(35); +// $tabbar-menu-icon-width: $tabbar-height; +// $tabbar-menu-icon-height: $tabbar-height; +// $tabbar-menu-icon-padding: 0; + +// $tabbar-hamburger-icon-width: rem-calc(16); +// $tabbar-hamburger-icon-left: false; +// $tabbar-hamburger-icon-top: false; +// $tabbar-hamburger-icon-thickness: 1px; +// $tabbar-hamburger-icon-gap: 6px; + +// Off Canvas Back-Link Overlay +// $off-canvas-overlay-transition: background 300ms ease; +// $off-canvas-overlay-cursor: pointer; +// $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5); +// $off-canvas-overlay-background: rgba($white, 0.2); +// $off-canvas-overlay-background-hover: rgba($white, 0.05); + +// Transition Variables +// $menu-slide: "transform 500ms ease"; + +// 19. Orbit +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-orbit-classes: $include-html-classes; + +// We use these to control the caption styles +// $orbit-container-bg: none; +// $orbit-caption-bg: rgba(51,51,51, 0.8); +// $orbit-caption-font-color: $white; +// $orbit-caption-font-size: rem-calc(14); +// $orbit-caption-position: "bottom"; // Supported values: "bottom", "under" +// $orbit-caption-padding: rem-calc(10 14); +// $orbit-caption-height: auto; + +// We use these to control the left/right nav styles +// $orbit-nav-bg: transparent; +// $orbit-nav-bg-hover: rgba(0,0,0,0.3); +// $orbit-nav-arrow-color: $white; +// $orbit-nav-arrow-color-hover: $white; + +// We use these to control the timer styles +// $orbit-timer-bg: rgba(255,255,255,0.3); +// $orbit-timer-show-progress-bar: true; + +// We use these to control the bullet nav styles +// $orbit-bullet-nav-color: $iron; +// $orbit-bullet-nav-color-active: $aluminum; +// $orbit-bullet-radius: rem-calc(9); + +// We use these to controls the style of slide numbers +// $orbit-slide-number-bg: rgba(0,0,0,0); +// $orbit-slide-number-font-color: $white; +// $orbit-slide-number-padding: rem-calc(5); + +// Hide controls on small +// $orbit-nav-hide-for-small: true; +// $orbit-bullet-hide-for-small: true; +// $orbit-timer-hide-for-small: true; + +// Graceful Loading Wrapper and preloader +// $wrapper-class: "slideshow-wrapper"; +// $preloader-class: "preloader"; + +// 20. Pagination +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-pagination-classes: $include-html-classes; + +// We use these to control the pagination container +// $pagination-height: rem-calc(24); +// $pagination-margin: rem-calc(-5); + +// We use these to set the list-item properties +// $pagination-li-float: $default-float; +// $pagination-li-height: rem-calc(24); +// $pagination-li-font-color: $jet; +// $pagination-li-font-size: rem-calc(14); +// $pagination-li-margin: rem-calc(5); + +// We use these for the pagination anchor links +// $pagination-link-pad: rem-calc(1 10 1); +// $pagination-link-font-color: $aluminum; +// $pagination-link-active-bg: scale-color($white, $lightness: -10%); + +// We use these for disabled anchor links +// $pagination-link-unavailable-cursor: default; +// $pagination-link-unavailable-font-color: $aluminum; +// $pagination-link-unavailable-bg-active: transparent; + +// We use these for currently selected anchor links +// $pagination-link-current-background: $primary-color; +// $pagination-link-current-font-color: $white; +// $pagination-link-current-font-weight: $font-weight-bold; +// $pagination-link-current-cursor: default; +// $pagination-link-current-active-bg: $primary-color; + +// 21. Panels +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-panel-classes: $include-html-classes; + +// We use these to control the background and border styles +$panel-bg: $grey-1; +// $panel-border-style: solid; +// $panel-border-size: 1px; + +// We use this % to control how much we darken things on hover +// $panel-function-factor: -11%; +// $panel-border-color: scale-color($panel-bg, $lightness: $panel-function-factor); + +// We use these to set default inner padding and bottom margin +// $panel-margin-bottom: rem-calc(20); +// $panel-padding: rem-calc(20); + +// We use these to set default font colors +// $panel-font-color: $oil; +// $panel-font-color-alt: $white; + +// $panel-header-adjust: true; +// $callout-panel-link-color: $primary-color; + +// 22. Pricing Tables +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-pricing-classes: $include-html-classes; + +// We use this to control the border color +// $price-table-border: solid 1px $gainsboro; + +// We use this to control the bottom margin of the pricing table +// $price-table-margin-bottom: rem-calc(20); + +// We use these to control the title styles +// $price-title-bg: $oil; +// $price-title-padding: rem-calc(15 20); +// $price-title-align: center; +// $price-title-color: $smoke; +// $price-title-weight: $font-weight-normal; +// $price-title-size: rem-calc(16); +// $price-title-font-family: $body-font-family; + +// We use these to control the price styles +// $price-money-bg: $vapor ; +// $price-money-padding: rem-calc(15 20); +// $price-money-align: center; +// $price-money-color: $oil; +// $price-money-weight: $font-weight-normal; +// $price-money-size: rem-calc(32); +// $price-money-font-family: $body-font-family; + +// We use these to control the description styles +// $price-bg: $white; +// $price-desc-color: $monsoon; +// $price-desc-padding: rem-calc(15); +// $price-desc-align: center; +// $price-desc-font-size: rem-calc(12); +// $price-desc-weight: $font-weight-normal; +// $price-desc-line-height: 1.4; +// $price-desc-bottom-border: dotted 1px $gainsboro; + +// We use these to control the list item styles +// $price-item-color: $oil; +// $price-item-padding: rem-calc(15); +// $price-item-align: center; +// $price-item-font-size: rem-calc(14); +// $price-item-weight: $font-weight-normal; +// $price-item-bottom-border: dotted 1px $gainsboro; + +// We use these to control the CTA area styles +// $price-cta-bg: $white; +// $price-cta-align: center; +// $price-cta-padding: rem-calc(20 20 0); + +// 23. Progress Bar +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-media-classes: $include-html-classes; + +// We use this to set the progress bar height +// $progress-bar-height: rem-calc(25); +// $progress-bar-color: $vapor ; + +// We use these to control the border styles +// $progress-bar-border-color: scale-color($white, $lightness: 20%); +// $progress-bar-border-size: 1px; +// $progress-bar-border-style: solid; +// $progress-bar-border-radius: $global-radius; + +// We use these to control the margin & padding +// $progress-bar-pad: rem-calc(2); +// $progress-bar-margin-bottom: rem-calc(10); + +// We use these to set the meter colors +// $progress-meter-color: $primary-color; +// $progress-meter-secondary-color: $secondary-color; +// $progress-meter-success-color: $success-color; +// $progress-meter-alert-color: $alert-color; + +// 24. Range Slider +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-range-slider-classes: $include-html-classes; + +// These variables define the slider bar styles +// $range-slider-bar-width: 100%; +// $range-slider-bar-height: rem-calc(16); + +// $range-slider-bar-border-width: 1px; +// $range-slider-bar-border-style: solid; +// $range-slider-bar-border-color: $gainsboro; +// $range-slider-radius: $global-radius; +// $range-slider-round: $global-rounded; +// $range-slider-bar-bg-color: $ghost; + +// Vertical bar styles +// $range-slider-vertical-bar-width: rem-calc(16); +// $range-slider-vertical-bar-height: rem-calc(200); + +// These variables define the slider handle styles +// $range-slider-handle-width: rem-calc(32); +// $range-slider-handle-height: rem-calc(22); +// $range-slider-handle-position-top: rem-calc(-5); +// $range-slider-handle-bg-color: $primary-color; +// $range-slider-handle-border-width: 1px; +// $range-slider-handle-border-style: solid; +// $range-slider-handle-border-color: none; +// $range-slider-handle-radius: $global-radius; +// $range-slider-handle-round: $global-rounded; +// $range-slider-handle-bg-hover-color: scale-color($primary-color, $lightness: -12%); +// $range-slider-handle-cursor: pointer; + +// 25. Reveal +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-reveal-classes: $include-html-classes; + +// We use these to control the style of the reveal overlay. +// $reveal-overlay-bg: rgba($black, .45); +// $reveal-overlay-bg-old: $black; + +// We use these to control the style of the modal itself. +// $reveal-modal-bg: $white; +// $reveal-position-top: rem-calc(100); +// $reveal-default-width: 80%; +// $reveal-max-width: $row-width; +// $reveal-modal-padding: rem-calc(20); +// $reveal-box-shadow: 0 0 10px rgba($black,.4); + +// We use these to style the reveal close button +// $reveal-close-font-size: rem-calc(40); +// $reveal-close-top: rem-calc(8); +// $reveal-close-side: rem-calc(11); +// $reveal-close-color: $base; +// $reveal-close-weight: $font-weight-bold; + +// We use this to set the default radius used throughout the core. +// $reveal-radius: $global-radius; +// $reveal-round: $global-rounded; + +// We use these to control the modal border +// $reveal-border-style: solid; +// $reveal-border-width: 1px; +// $reveal-border-color: $steel; + +// $reveal-modal-class: "reveal-modal"; +// $close-reveal-modal-class: "close-reveal-modal"; + +// 26. Side Nav +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-nav-classes: $include-html-classes; + +// We use this to control padding. +$side-nav-padding: rem-calc(0 0 0 0); + +// We use these to control list styles. +// $side-nav-list-type: none; +// $side-nav-list-position: inside; +$side-nav-list-margin: rem-calc(0 0 0 0); + +// We use these to control link styles. +$side-nav-link-color: $primary-color; +$side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: -40%); +$side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: -40%); +$side-nav-font-size: rem-calc(16); + +// $side-nav-link-bg-hover: hsla(0, 0, 0, 0.025); +// $side-nav-link-margin: 0; +// $side-nav-link-padding: rem-calc(7 14); +// $side-nav-font-size: rem-calc(14); +// $side-nav-font-weight: $font-weight-normal; +// $side-nav-font-weight-active: $side-nav-font-weight; +// $side-nav-font-family: $body-font-family; +// $side-nav-font-family-active: $side-nav-font-family; + +// We use these to control heading styles. +// $side-nav-heading-color: $side-nav-link-color; +// $side-nav-heading-font-size: $side-nav-font-size; +// $side-nav-heading-font-weight: bold; +// $side-nav-heading-text-transform: uppercase; + +// We use these to control border styles +$side-nav-divider-size: 1px; +$side-nav-divider-style: solid; +$side-nav-divider-color: $grey-1; + + + +// 27. Split Buttons +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// We use these to control different shared styles for Split Buttons +// $split-button-function-factor: 10%; +// $split-button-pip-color: $white; +// $split-button-pip-color-alt: $oil; +// $split-button-active-bg-tint: rgba(0,0,0,0.1); + +// We use these to control tiny split buttons +// $split-button-padding-tny: $button-pip-tny * 10; +// $split-button-span-width-tny: $button-pip-tny * 6; +// $split-button-pip-size-tny: $button-pip-tny; +// $split-button-pip-top-tny: $button-pip-tny * 2; +// $split-button-pip-default-float-tny: rem-calc(-6); + +// We use these to control small split buttons +// $split-button-padding-sml: $button-pip-sml * 10; +// $split-button-span-width-sml: $button-pip-sml * 6; +// $split-button-pip-size-sml: $button-pip-sml; +// $split-button-pip-top-sml: $button-pip-sml * 1.5; +// $split-button-pip-default-float-sml: rem-calc(-6); + +// We use these to control medium split buttons +// $split-button-padding-med: $button-pip-med * 9; +// $split-button-span-width-med: $button-pip-med * 5.5; +// $split-button-pip-size-med: $button-pip-med - rem-calc(3); +// $split-button-pip-top-med: $button-pip-med * 1.5; +// $split-button-pip-default-float-med: rem-calc(-6); + +// We use these to control large split buttons +// $split-button-padding-lrg: $button-pip-lrg * 8; +// $split-button-span-width-lrg: $button-pip-lrg * 5; +// $split-button-pip-size-lrg: $button-pip-lrg - rem-calc(6); +// $split-button-pip-top-lrg: $button-pip-lrg + rem-calc(5); +// $split-button-pip-default-float-lrg: rem-calc(-6); + +// 28. Sub Nav +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-nav-classes: $include-html-classes; + +// We use these to control margin and padding +// $sub-nav-list-margin: rem-calc(-4 0 18); +// $sub-nav-list-padding-top: rem-calc(4); + +// We use this to control the definition +// $sub-nav-font-family: $body-font-family; +// $sub-nav-font-size: rem-calc(14); +// $sub-nav-font-color: $aluminum; +// $sub-nav-font-weight: $font-weight-normal; +// $sub-nav-text-decoration: none; +// $sub-nav-padding: rem-calc(3 16); +// $sub-nav-border-radius: 3px; +// $sub-nav-font-color-hover: scale-color($sub-nav-font-color, $lightness: -25%); + +// We use these to control the active item styles +// $sub-nav-active-font-weight: $font-weight-normal; +// $sub-nav-active-bg: $primary-color; +// $sub-nav-active-bg-hover: scale-color($sub-nav-active-bg, $lightness: -14%); +// $sub-nav-active-color: $white; +// $sub-nav-active-padding: $sub-nav-padding; +// $sub-nav-active-cursor: default; + +// $sub-nav-item-divider: ""; +// $sub-nav-item-divider-margin: rem-calc(12); + +// 29. Switch +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-form-classes: $include-html-classes; + +// Controlling border styles and background colors for the switch container +// $switch-border-color: scale-color($white, $lightness: -20%); +// $switch-border-style: solid; +// $switch-border-width: 1px; +// $switch-bg: $white; + +// We use these to control the switch heights for our default classes +// $switch-height-tny: rem-calc(22); +// $switch-height-sml: rem-calc(28); +// $switch-height-med: rem-calc(36); +// $switch-height-lrg: rem-calc(44); +// $switch-bottom-margin: rem-calc(20); + +// We use these to control default font sizes for our classes. +// $switch-font-size-tny: 11px; +// $switch-font-size-sml: 12px; +// $switch-font-size-med: 14px; +// $switch-font-size-lrg: 17px; +// $switch-label-side-padding: 6px; + +// We use these to style the switch-paddle +// $switch-paddle-bg: $white; +// $switch-paddle-fade-to-color: scale-color($switch-paddle-bg, $lightness: -10%); +// $switch-paddle-border-color: scale-color($switch-paddle-bg, $lightness: -35%); +// $switch-paddle-border-width: 1px; +// $switch-paddle-border-style: solid; +// $switch-paddle-transition-speed: .1s; +// $switch-paddle-transition-ease: ease-out; +// $switch-positive-color: scale-color($success-color, $lightness: 94%); +// $switch-negative-color: $white-smoke; + +// Outline Style for tabbing through switches +// $switch-label-outline: 1px dotted $jumbo; + +// 30. Tables +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-table-classes: $include-html-classes; + +// These control the background color for the table and even rows +// $table-bg: $white; +$table-even-row-bg: $grey-1; + +// These control the table cell border style +// $table-border-style: solid; +// $table-border-size: 1px; +// $table-border-color: $gainsboro; + +// These control the table head styles +$table-head-bg: $grey-2; +// $table-head-font-size: rem-calc(14); +// $table-head-font-color: $jet; +// $table-head-font-weight: $font-weight-bold; +// $table-head-padding: rem-calc(8 10 10); + +// These control the row padding and font styles +// $table-row-padding: rem-calc(9 10); +// $table-row-font-size: rem-calc(14); +// $table-row-font-color: $jet; +// $table-line-height: rem-calc(18); + +// These are for controlling the layout, display and margin of tables +// $table-layout: auto; +// $table-display: table-cell; +// $table-margin-bottom: rem-calc(20); + +// 31. Tabs +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-tabs-classes: $include-html-classes; + +// $tabs-navigation-padding: rem-calc(16); +// $tabs-navigation-bg-color: $silver ; +// $tabs-navigation-active-bg-color: $white; +// $tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%); +// $tabs-navigation-font-color: $jet; +// $tabs-navigation-active-font-color: $tabs-navigation-font-color; +// $tabs-navigation-font-size: rem-calc(16); +// $tabs-navigation-font-family: $body-font-family; + +// $tabs-content-margin-bottom: rem-calc(24); +// $tabs-content-padding: $column-gutter/2; + +// $tabs-vertical-navigation-margin-bottom: 1.25rem; + +// 32. Thumbnails +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-media-classes: $include-html-classes; + +// We use these to control border styles +// $thumb-border-style: solid; +// $thumb-border-width: 4px; +// $thumb-border-color: $white; +// $thumb-box-shadow: 0 0 0 1px rgba($black,.2); +// $thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5); + +// Radius and transition speed for thumbs +// $thumb-radius: $global-radius; +// $thumb-transition-speed: 200ms; + +// 33. Tooltips +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-tooltip-classes: $include-html-classes; + +// $has-tip-border-bottom: dotted 1px $iron; +// $has-tip-font-weight: $font-weight-bold; +// $has-tip-font-color: $oil; +// $has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%); +// $has-tip-font-color-hover: $primary-color; +// $has-tip-cursor-type: help; + +// $tooltip-padding: rem-calc(12); +// $tooltip-bg: $oil; +// $tooltip-font-size: rem-calc(14); +// $tooltip-font-weight: $font-weight-normal; +// $tooltip-font-color: $white; +// $tooltip-line-height: 1.3; +// $tooltip-close-font-size: rem-calc(10); +// $tooltip-close-font-weight: $font-weight-normal; +// $tooltip-close-font-color: $monsoon; +// $tooltip-font-size-sml: rem-calc(14); +// $tooltip-radius: $global-radius; +// $tooltip-rounded: $global-rounded; +// $tooltip-pip-size: 5px; +// $tooltip-max-width: 300px; + +// 34. Top Bar +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-top-bar-classes: $include-html-classes; + +// Height and margin +$topbar-height: rem-calc(50); +// $topbar-margin-bottom: 0; + +// Controlling the styles for the title in the top bar +$topbar-title-weight: $font-weight-bold; +$topbar-title-font-size: rem-calc(19); + +// Style the top bar dropdown elements +// $topbar-dropdown-bg: $oil; +// $topbar-dropdown-link-color: $white; +// $topbar-dropdown-link-bg: $ci-2; +// $topbar-dropdown-link-weight: $font-weight-normal; +// $topbar-dropdown-toggle-size: 5px; +// $topbar-dropdown-toggle-color: $ci-2; +// $topbar-dropdown-toggle-alpha: 0.4; + +// Set the link colors and styles for top-level nav +// $topbar-link-color: #000; +// $topbar-link-color-hover: #000; +// $topbar-link-color-active: #000; +// $topbar-link-color-active-hover: #000; +// $topbar-link-weight: $font-weight-normal; +$topbar-link-font-size: rem-calc(15); +// $topbar-link-hover-lightness: -10%; // Darken by 10% +// $topbar-link-bg: $topbar-bg; +// $topbar-link-bg-color-hover: #ff0; +// $topbar-link-bg-hover: #f00; +// $topbar-link-bg-active: $primary-color; +// $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%); +// $topbar-link-font-family: $body-font-family; +$topbar-link-text-transform: uppercase; +// $topbar-link-padding: $topbar-height / 3; +// $topbar-back-link-size: $h5-font-size; +// $topbar-link-dropdown-padding: 20px; + +// $topbar-button-font-size: 0.75rem; +// $topbar-button-top: 7px; + +// $topbar-dropdown-label-color: #f77; +// $topbar-dropdown-label-text-transform: uppercase; +// $topbar-dropdown-label-font-weight: $font-weight-bold; +// $topbar-dropdown-label-font-size: rem-calc(10); +// $topbar-dropdown-label-bg: $oil; + +// Top menu icon styles +$topbar-menu-link-transform: uppercase; +// $topbar-menu-link-font-size: rem-calc(13); +// $topbar-menu-link-weight: $font-weight-bold; +// $topbar-menu-link-color: $white; +// $topbar-menu-icon-color: $white; +// $topbar-menu-link-color-toggled: $ci-6; +// $topbar-menu-icon-color-toggled: $ci-6; + +// Transitions and breakpoint styles +// $topbar-transition-speed: 300ms; +// Using rem-calc for the below breakpoint causes issues with top bar +$topbar-breakpoint: #{lower-bound($large-range)}; // Change to 9999px for always mobile layout +$topbar-media-query: "only screen and (min-width: #{$topbar-breakpoint})" !default; + +// Divider Styles +$topbar-divider-border-bottom: solid 0px scale-color($topbar-bg-color, $lightness: 23%); +$topbar-divider-border-top: solid 0px scale-color($topbar-bg-color, $lightness: -50%); + +// Sticky Class +// $topbar-sticky-class: ".sticky"; +// $topbar-arrows: true; //Set false to remove the triangle icon from the menu item + +// 36. Visibility Classes +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-visibility-classes: $include-html-classes; +// $include-table-visibility-classes: true; +// $include-legacy-visibility-classes: true; +// $include-accessibility-classes: true; diff --git a/_sass/_05_normalize.scss b/_sass/_05_normalize.scss new file mode 100644 index 0000000000..690df84c6b --- /dev/null +++ b/_sass/_05_normalize.scss @@ -0,0 +1,428 @@ +@charset "utf-8"; +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} \ No newline at end of file diff --git a/_sass/_06_typography.scss b/_sass/_06_typography.scss new file mode 100644 index 0000000000..5df1b39eb9 --- /dev/null +++ b/_sass/_06_typography.scss @@ -0,0 +1,500 @@ +@charset "utf-8"; +/* TOC – Typography + +Check typography variables › _3_typography_settings.scss + +- Links +- Customize Foundation Typography +- Headlines +- Images +- Lists +- Tables +- Code +- Quotes +- Typography for Articles +- Smaller Fontsize for Bigteaser on small devices +- Additional typographical elements +- Footnotes +- Icon Font + +*/ + + + +/* Links +------------------------------------------------------------------- */ + +a, +a:link { + transition: all .4s; +} + +a:visited { + border-bottom: $grey-2; +} + +a:hover { + color: darken( $ci-1, 10% ); +} + +a:focus { + color: lighten( $ci-1, 20% ); +} + +a:active { + color: darken( $ci-1, 20% ); +} + + + +/* Customize Foundation Typography +------------------------------------------------------------------- */ + +p { + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + -ms-word-break: normal; + /* Non standard for webkit */ + word-break: normal; +} +p a, +article a { + font-weight: bold; + border-bottom: 1px dotted; +} +p a:hover, +article a:hover { + border-bottom: 2px solid; +} +p a.button, +.button, +.button:hover { + border: 0; + color: #fff; +} +p.button a { + border: 0; + color: #fff; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); +} + + + +/* Headlines +------------------------------------------------------------------- */ + +h1, h2, h3, h4, h5, h6 { + font-family: $header-font-family; + font-weight: normal; + padding: 0; +} + +h1 { + font-size: $font-size-h1; + margin-top: 0; +} +h2 { + font-size: $font-size-h2; + margin: 1.563em 0 0 0; +} + .blog-index h2 { + margin-top: 0; + } +h3 { + font-size: $font-size-h3; + margin: 1.152em 0 0 0; +} +h4 { + font-size: $font-size-h4; + margin: 1.152em 0 0 0; +} +h5 { + font-size: $font-size-h5; + margin: 1em 0 0 0; +} + + + +/* Images +------------------------------------------------------------------- */ + +img { border-radius: $global-radius;} + img.alignleft, + img.left { float: left; margin:5px 15px 5px 0; } + img.alignright, + img.right { float: right; margin:5px 0 5px 15px; } + img.aligncenter, + img.center { display: block; margin:0 auto 10px; } + +figure { + margin: 0 0 rem-calc(30) 0; +} +#masthead-with-background-color figure, +#masthead-with-pattern figure { + margin: 0; +} +figcaption, +.masthead-caption { + color: $grey-10; + font-family: $font-family-sans-serif; + font-size: rem-calc(13); + padding-top: rem-calc(2); +} +figcaption a, +.masthead-caption a { + border-bottom: 1px dotted $grey-4; + color: $grey-10; +} +figcaption a:hover, +.masthead-caption a:hover { + border-bottom: 2px solid $primary-color; + color: $primary-color; +} +.masthead-caption { + padding-right: 10px; + text-align: right; +} + + + +/* Tables +------------------------------------------------------------------- */ + +td { + vertical-align: top; +} + + + +/* Code +------------------------------------------------------------------- */ + +pre { + overflow: auto; + margin-bottom: rem-calc(20); + padding: 5px; + background-color: $code-background-color; + border-radius: $global-radius; +} +pre code { + padding: rem-calc(2) rem-calc(5) rem-calc(1) rem-calc(0); + border: 0; +} + +code { + font-size: rem-calc(14); + line-height: 1.5; +} + + + +/* Lists +------------------------------------------------------------------- */ + +ul, ol { + margin-left: 20px; + padding: 0; +} +li { + margin-left: 0; +} + +.no-bullet { + list-style: none; + margin-left: 0; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + +dl { + +} +dt:first-child { + padding-top: 0px; +} +dt { + font-weight: bold; + padding-top: 30px; +} +dd { +} +article dl dt { line-height: 1.3; } +article dl dd { line-height: 1.6; margin-bottom: rem-calc(12); margin-left: rem-calc(24); } + + + +/* Quotes +------------------------------------------------------------------- */ + +blockquote { + font-style: italic; + position: relative; + border: none; + margin: 0 30px 30px 30px; + color: $grey-11; +} + + blockquote p {font-style: italic; color: $grey-10; } + + blockquote:before { + display:block;content:"\00BB"; + font-size:80px; + line-height: 0; + position:absolute; + left:-25px; + top: auto; + color: $grey-11; + } + blockquote:after { + display:block; + content:"\00AB"; + font-size:80px; + line-height: 0; + position:absolute; + right:-10px; + bottom: 20px; + color: $grey-11; + } + blockquote cite:before { + content:"\2014 \0020" + } + blockquote cite a,blockquote cite a:visited { + color: $grey-10; + } +cite { + padding-top: 5px; +} + +button, .button { + letter-spacing: 1px; +} + +mark { + background-color: scale-color($warning-color, $lightness: 60%); +} + + + +/* Typography for Articles +------------------------------------------------------------------- */ + +.subheadline { + font-size: rem-calc(16); + margin: 0; + text-transform: uppercase; +} +.teaser { + font-size: rem-calc(20); +} +.big-teaser { + font-style: italic; font-weight: 300; +} +.big-teaser a { + font-style: italic; font-weight: 400; +} + +/* Smaller Fontsize for Bigteaser on small devices */ +@media only screen { + .big-teaser { + font-size: rem-calc(20); + } +} +@media only screen and (min-width: 40.063em) { + .big-teaser { + font-size: rem-calc(29); + } +} + + + +/* Additional typographical elements +------------------------------------------------------------------- */ + +.sans { font-family: $font-family-sans-serif; } +.serif { font-family: $font-family-serif; } + +.font-size-h1 { font-size: $font-size-h1; } +.font-size-h2 { font-size: $font-size-h2; } +.font-size-h3 { font-size: $font-size-h3; } +.font-size-h4 { font-size: $font-size-h4; } +.font-size-h5 { font-size: $font-size-h5; } +.font-size-p { font-size: $font-size-p; } + + + +/* Footnotes +------------------------------------------------------------------- */ + +.footnotes:before { + content: ""; + position: absolute; + height: 1px; + width: 60px; + margin-top: -10px; + border-bottom: 1px solid $grey-2; +} +.footnotes { + margin-top: 60px; +} +.footnotes ol { + font-size: $font-size-small; +} +.footnotes p { + font-size: inherit; + margin-bottom: 0; +} + + + + +/* Icon Font + See the icon-set/preview in /assets/fonts/iconfont-preview.html +------------------------------------------------------------------- */ + +@font-face { + font-family: 'iconfont'; + src: url('../fonts/iconfont.eot'); /* IE9 Compat Modes */ + src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/iconfont.woff') format('woff'), /* Pretty Modern Browsers */ + url('../fonts/iconfont.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/iconfont.svg#svgFontName') format('svg'); /* Legacy iOS */ +} + +.iconfont { font-family: iconfont; } +.iconfont-48 { font-size: 48px; } + + +[data-icon]:before { content: attr(data-icon); } + +[data-icon]:before, +.icon-archive:before, +.icon-browser:before, +.icon-calendar:before, +.icon-camera:before, +.icon-chat:before, +.icon-check:before, +.icon-chevron-down:before, +.icon-chevron-left:before, +.icon-chevron-right:before, +.icon-chevron-up:before, +.icon-circle-with-cross:before, +.icon-circle-with-minus:before, +.icon-circle-with-plus:before, +.icon-cloud:before, +.icon-code:before, +.icon-cog:before, +.icon-dropbox:before, +.icon-edit:before, +.icon-export:before, +.icon-eye:before, +.icon-facebook:before, +.icon-feather:before, +.icon-github:before, +.icon-globe:before, +.icon-googleplus:before, +.icon-heart:before, +.icon-heart-outlined:before, +.icon-home:before, +.icon-instagram:before, +.icon-lab-flask:before, +.icon-leaf:before, +.icon-linkedin:before, +.icon-mail:before, +.icon-message:before, +.icon-mic:before, +.icon-network:before, +.icon-paper-plane:before, +.icon-pinterest:before, +.icon-price-tag:before, +.icon-rocket:before, +.icon-rss:before, +.icon-soundcloud:before, +.icon-star:before, +.icon-star-outlined:before, +.icon-thumbs-down:before, +.icon-thumbs-up:before, +.icon-tree:before, +.icon-tumblr:before, +.icon-twitter:before, +.icon-upload-to-cloud:before, +.icon-video:before, +.icon-vimeo:before, +.icon-warning:before, +.icon-xing:before, +.icon-youtube:before { + display: inline-block; +font-family: "iconfont"; +font-style: normal; +font-weight: normal; +font-variant: normal; +line-height: 1; +text-decoration: inherit; +text-rendering: optimizeLegibility; +text-transform: none; +-moz-osx-font-smoothing: grayscale; +-webkit-font-smoothing: antialiased; +font-smoothing: antialiased; +} + +.icon-archive:before { content: "\f100"; } +.icon-browser:before { content: "\f101"; } +.icon-calendar:before { content: "\f133"; } +.icon-camera:before { content: "\f102"; } +.icon-chat:before { content: "\f103"; } +.icon-check:before { content: "\f104"; } +.icon-chevron-down:before { content: "\f105"; } +.icon-chevron-left:before { content: "\f106"; } +.icon-chevron-right:before { content: "\f107"; } +.icon-chevron-up:before { content: "\f108"; } +.icon-circle-with-cross:before { content: "\f109"; } +.icon-circle-with-minus:before { content: "\f10a"; } +.icon-circle-with-plus:before { content: "\f10b"; } +.icon-cloud:before { content: "\f10c"; } +.icon-code:before { content: "\f10d"; } +.icon-cog:before { content: "\f10e"; } +.icon-dropbox:before { content: "\f10f"; } +.icon-edit:before { content: "\f110"; } +.icon-export:before { content: "\f111"; } +.icon-eye:before { content: "\f112"; } +.icon-facebook:before { content: "\f113"; } +.icon-feather:before { content: "\f114"; } +.icon-github:before { content: "\f115"; } +.icon-globe:before { content: "\f116"; } +.icon-googleplus:before { content: "\f136"; } +.icon-heart:before { content: "\f117"; } +.icon-heart-outlined:before { content: "\f118"; } +.icon-home:before { content: "\f119"; } +.icon-instagram:before { content: "\f11a"; } +.icon-lab-flask:before { content: "\f11b"; } +.icon-leaf:before { content: "\f11c"; } +.icon-linkedin:before { content: "\f11d"; } +.icon-mail:before { content: "\f11e"; } +.icon-message:before { content: "\f11f"; } +.icon-mic:before { content: "\f120"; } +.icon-network:before { content: "\f121"; } +.icon-paper-plane:before { content: "\f122"; } +.icon-pinterest:before { content: "\f123"; } +.icon-price-tag:before { content: "\f124"; } +.icon-rocket:before { content: "\f125"; } +.icon-rss:before { content: "\f126"; } +.icon-soundcloud:before { content: "\f127"; } +.icon-star:before { content: "\f128"; } +.icon-star-outlined:before { content: "\f129"; } +.icon-thumbs-down:before { content: "\f12a"; } +.icon-thumbs-up:before { content: "\f12b"; } +.icon-tree:before { content: "\f134"; } +.icon-tumblr:before { content: "\f12c"; } +.icon-twitter:before { content: "\f12d"; } +.icon-upload-to-cloud:before { content: "\f12e"; } +.icon-video:before { content: "\f12f"; } +.icon-vimeo:before { content: "\f130"; } +.icon-warning:before { content: "\f131"; } +.icon-xing:before { content: "\f135"; } +.icon-youtube:before { content: "\f132"; } diff --git a/_sass/_07_layout.scss b/_sass/_07_layout.scss new file mode 100644 index 0000000000..2cc758b496 --- /dev/null +++ b/_sass/_07_layout.scss @@ -0,0 +1,359 @@ +@charset "utf-8"; +/* TOC + +- Adjustments: Video Layout +- Navigation +- Search +- Masthead +- Masthead › small-only +- Masthead › medium-only +- Masthead › large-only +- Masthead › xlarge-up +- Breadcrumb +- Meta +- Jump to top +- Footer +- Subfooter +- CSS-Classes to add margin at top or bottom + +*/ + + + +/* Adjustments: Video Layout +------------------------------------------------------------------- */ + +body.video, +body.video #masthead-no-image-header { background: #000; } +body.video #masthead-no-image-header { margin-bottom: 60px; } +body.video h1, +body.video h2, +body.video h3, +body.video h4, +body.video h5, +body.video h6, +body.video p, +body.video a, +body.video blockquote:before, +body.video blockquote:after, +body.video cite a, { color: #fff; } +body.video cite a:visited, { color: #fff; } +body.video cite { color: #fff; } + + + +/* Navigation +------------------------------------------------------------------- */ + +#navigation { + -webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,.2); + box-shadow: 0 2px 3px 0 rgba(0,0,0,.2); +} + + + +/* Search +------------------------------------------------------------------- */ + +.no-js form#search { + display: none; +} + + + +/* Masthead +------------------------------------------------------------------- */ + +#masthead { + background-color: $primary-color; +} +#masthead-no-image-header { + background-color: $primary-color; +} +#masthead-with-text { + text-align: center; + font-size: rem-calc(54); + font-family: $header-font-family; + color: #fff; + text-transform: uppercase; + text-shadow: 0 2px 3px rgba(0,0,0,.4); +} +#masthead-no-image-header { + height: 135px; +} +#masthead-no-image-header #logo img { + margin-top: 10px; +} + +/* Masthead › small-only +------------------------------------------------------------------- */ + +@media #{$small-only} { + #logo img { + display: none; + } + #masthead { + height: 200px; + } + #masthead-with-pattern { + padding: 15px 0; + } + #masthead-with-background-color { + padding: 15px 0; + } + #masthead-with-text { + height: 220px; + padding: 30px 0; + font-size: rem-calc(36); + } + #masthead-no-image-header { + display: none; + } +} + + +/* Masthead › medium-only +------------------------------------------------------------------- */ + +@media #{$medium-only} { + #logo img { + margin-top: 60px; + } + #masthead { + height: 280px; + } + #masthead-with-pattern { + padding: 20px 0; + } + #masthead-with-background-color { + padding: 20px 0; + } + #masthead-with-text { + padding: 60px 0; + height: 300px; + } +} + + +/* Masthead › large-only +------------------------------------------------------------------- */ + +@media #{$large-only} { + #logo img { + margin-top: 80px; + } + #masthead { + height: 310px; + } + #masthead-with-pattern { + padding: 30px 0; + } + #masthead-with-background-color { + padding: 30px 0; + } + #masthead-with-text { + height: 330px; + padding: 60px 0; + } +} + + +/* Masthead › xlarge-up +------------------------------------------------------------------- */ + +@media #{$xlarge-up} { + #logo img { + margin-top: 110px; + } + #masthead { + height: 380px; + } + #masthead-with-pattern { + padding: 45px 0; + } + #masthead-with-background-color { + padding: 45px 0; + } + #masthead-with-text { + padding: 95px 0; + height: 400px; + } +} + + +#title-image-small { + height: 240px; +} +#title-image-large { + height: 520px; +} +#title-image-index-small { + height: 120px; +} +#title-image-index-large { + height: 260px; +} + + + +/* Breadcrumb +------------------------------------------------------------------- */ + +#breadcrumb { + background: scale-color($grey-1, $lightness: 55%); + border-top: 1px solid scale-color($grey-1, $lightness: 45%); + border-bottom: 1px solid scale-color($grey-1, $lightness: 45%); +} +.breadcrumbs>.current { + font-weight: bold; +} + + +/* Meta +------------------------------------------------------------------- */ + +#page-meta, #page-meta a { + color: $grey-5; +} + +#page-meta .button { + background: $grey-5; + border: 0; +} +#page-meta .button { + color: #fff; +} +#page-meta .button:hover { + background: $primary-color; +} +.meta-info p { + font-size: rem-calc(13); + color: scale-color($grey-1, $lightness: 40%); +} + .meta-info a { + text-decoration: underline; + color: scale-color($grey-1, $lightness: 40%); + } + .meta-info a:hover { + text-decoration: none; + color: $secondary-color; + } + + + +/* Jump to top +------------------------------------------------------------------- */ + +#up-to-top { + padding: 160px 0 10px 0; +} +#up-to-top a { + font-size: 24px; + padding: 5px; + border-radius: 3px; +} +#up-to-top a:hover { + background: $grey-2; +} + + + +/* Footer +------------------------------------------------------------------- */ + +#footer-content p, +#footer-content li { + font-size: rem-calc(13); + font-weight: 300; +} + +#footer { + padding-top: 30px; + padding-bottom: 20px; + background: $footer-bg; + color: $footer-color; + } + + #footer a { + color: $footer-link-color; + } + #footer h4, + #footer h5 { + letter-spacing: 1px; + color: #fff; + text-transform: uppercase; + } + + + +/* Subfooter +------------------------------------------------------------------- */ + +#subfooter { + background: $subfooter-bg; + color: $subfooter-color; + padding-top: 30px; +} + +#subfooter-left ul.inline-list { + float: left; +} + +.credits a { + color: $subfooter-link-color; + border: 0; + text-transform: uppercase; + &:hover { + color: #fff; + } +} + +.social-icons { + margin-bottom: 10px !important; + +// Beware of SCSS-Syntax here + li { + padding: 0 0 20px 0; + } + a { + font-size: rem-calc(23); + display: block; + width: 36px; + border-radius: 50%; + color: $subfooter-bg; + background: $subfooter-color; + text-align: center; + &:hover { + background: $subfooter-bg; + color: #fff; + } + } +} + + + +/* CSS-Classes to add margin at top or bottom +------------------------------------------------------------------- */ + +.t10 { margin-top: 10px !important; } +.t15 { margin-top: 15px !important; } +.t20 { margin-top: 20px !important; } +.t30 { margin-top: 30px !important; } +.t50 { margin-top: 50px !important; } +.t60 { margin-top: 60px !important; } +.t70 { margin-top: 70px !important; } +.t80 { margin-top: 80px !important; } +.t90 { margin-top: 90px !important; } + +.b15 { margin-bottom: 15px !important; } +.b20 { margin-bottom: 20px !important; } +.b30 { margin-bottom: 30px !important; } +.b60 { margin-bottom: 60px !important; } + +.l15 { margin-left: 15px !important; } +.r15 { margin-right: 15px !important; } + +.pl20 { padding-left: 20px !important; } +.pr5 { padding-right: 5px !important; } +.pr10 { padding-right: 10px !important; } +.pr20 { padding-right: 20px !important; } diff --git a/_sass/_09_elements.scss b/_sass/_09_elements.scss new file mode 100644 index 0000000000..68a1ac4fd6 --- /dev/null +++ b/_sass/_09_elements.scss @@ -0,0 +1,149 @@ +@charset "utf-8"; +/* TOC + +- Table of Contents (Index) +- Panel +- Shadows +- Alerts +- Breadcrumb +- Button +- Side-Nav +- Accordion +- Lazy Load XT +- Frontpage Widget + +*/ + + + +/* Table of Contents (Index) +------------------------------------------------------------------- */ + +#toc ul, +#toc ul ul, +#toc ul ul ul, { + list-style: none; + margin-left: 30px; +} +#toc ul { + margin-left: 0; + margin-top: $spacing-unit; +} + + + +/* Panel +------------------------------------------------------------------- */ + +.border-dotted { + border: 1px dotted $grey-5; + padding: rem-calc(20); + border-radius: $global-radius; +} + + + +/* Shadows +------------------------------------------------------------------- */ + +.shadow-no {text-shadow: rgba(0, 0, 0, 0) 0 0 0;} +.shadow-black {text-shadow: rgba(0, 0, 0, 0.498039) 0px 1px 2px;} +.shadow-grey {text-shadow: rgba(128, 128, 128, 0.498039) 0px 1px 2px;} +.shadow-white {text-shadow: rgba(255, 255, 255, 0.498039) 0px 1px 2px;} + + + +/* Alerts +------------------------------------------------------------------- */ + +.alert-box { + font-family: $font-family-sans-serif; + text-shadow: 0px 1px 1px rgba(0,0,0,0.9); +} + .alert-box p { + margin-bottom: 0; + } + .alert-box a { + text-shadow: 1px 1px 0px rgba(0, 0, 0, 1); + color: #fff; + border-bottom: 1px dotted #fff; + } + .alert-box a:hover { + border-bottom: 1px solid #fff; + } + .alert-box.terminal { + background: $grey-12; + color: #fff; + border-color: scale-color($grey-12, $lightness: -14%); + font-family: $font-family-monospace; + } + .alert-box.terminal::before { + content: "$ "; + color: $ci-6; + } + .alert-box.text { + background-color: $grey-2; + text-shadow: 0px 0px 0px rgba(0,0,0,0.9); + border-color: scale-color($grey-2, $lightness: -14%); + color: $grey-12; + } + + + +/* Button +------------------------------------------------------------------- */ + +button, .button { letter-spacing: 1px; } + button.grey, .button.grey { background: $grey-10; } + button.grey:hover, + button.grey:focus, + .button.grey:hover, + .button.grey:focus { background-color: $grey-16; } + + + +/* Side-Nav +------------------------------------------------------------------- */ + +.side-nav li.title { text-transform: uppercase;} +.side-nav li { border-top: 1px solid $grey-3;} +.side-nav li a:not(.button) { border-bottom: 0; padding: 0.4375rem 0rem; } +.side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { background: $grey-1; } + +.homepage p { margin: 0; padding: 0; color: $grey-10; } + + + +/* Accordion +------------------------------------------------------------------- */ + +dl.accordion { border-top: 1px solid $grey-2; } +.accordion dd { border-bottom: 1px solid $grey-2; } +dd.accordion-navigation span { padding-right: 12px; } +dd.accordion-navigation span:before { content: "\F107" } +dd.accordion-navigation.active span:before { content: "\F105" } +dd.accordion-navigation.active span:before { content: "\F105" } + + + +/* Lazy Load XT +------------------------------------------------------------------- */ + +/*! Lazy Load XT v1.0.6 2014-11-19 + * http://ressio.github.io/lazy-load-xt + * (C) 2014 RESS.io + * Licensed under MIT */ +img.lazy { + display: none; +} +.lazy-hidden { + opacity: 0; +} +.lazy-loaded { + -webkit-transition: opacity 0.7s; + -moz-transition: opacity 0.7s; + -ms-transition: opacity 0.7s; + -o-transition: opacity 0.7s; + transition: opacity 0.7s; + opacity: 1; +} diff --git a/_sass/_11_syntax-highlighting.scss b/_sass/_11_syntax-highlighting.scss new file mode 100644 index 0000000000..f0a2a0c1e2 --- /dev/null +++ b/_sass/_11_syntax-highlighting.scss @@ -0,0 +1,66 @@ +@charset "utf-8"; +/* Syntax highlighting styles +------------------------------------------------------------------- */ + +.highlight { + background: #fff; + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/_sass/_functions.scss b/_sass/_functions.scss new file mode 100644 index 0000000000..60dd1e2ade --- /dev/null +++ b/_sass/_functions.scss @@ -0,0 +1,147 @@ +@charset "utf-8"; +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +// This is the default html and body font-size for the base rem value. +$rem-base: 16px !default; + +// IMPORT ONCE +// We use this to prevent styles from being loaded multiple times for compenents that rely on other components. +$modules: () !default; +@mixin exports($name) { + // Import from global scope + $modules: $modules !global; + // Check if a module is already on the list + $module_index: index($modules, $name); + @if (($module_index == null) or ($module_index == false)) { + $modules: append($modules, $name) !global; + @content; + } +} + +// +// @functions +// + + +// RANGES +// We use these functions to define ranges for various things, like media queries. +@function lower-bound($range){ + @if length($range) <= 0 { + @return 0; + } + @return nth($range,1); +} + +@function upper-bound($range) { + @if length($range) < 2 { + @return 999999999999; + } + @return nth($range, 2); +} + +// STRIP UNIT +// It strips the unit of measure and returns it +@function strip-unit($num) { + @return $num / ($num * 0 + 1); +} + +// TEXT INPUT TYPES + +@function text-inputs( $types: all, $selector: input ) { + + $return: (); + + $all-text-input-types: + text + password + date + datetime + datetime-local + month + week + email + number + search + tel + time + url + color + textarea; + + @if $types == all { $types: $all-text-input-types; } + + @each $type in $types { + @if $type == textarea { + @if $selector == input { + $return: append($return, unquote('#{$type}'), comma) + } @else { + $return: append($return, unquote('#{$type}#{$selector}'), comma) + } + } @else { + $return: append($return, unquote('#{$selector}[type="#{$type}"]'), comma) + } + } + + @return $return; + +} + +// CONVERT TO REM +@function convert-to-rem($value, $base-value: $rem-base) { + $value: strip-unit($value) / strip-unit($base-value) * 1rem; + @if ($value == 0rem) { $value: 0; } // Turn 0rem into 0 + @return $value; +} + +@function data($attr) { + @if $namespace { + @return '[data-' + $namespace + '-' + $attr + ']'; + } + + @return '[data-' + $attr + ']'; +} + +// REM CALC + +// New Syntax, allows to optionally calculate on a different base value to counter compounding effect of rem's. +// Call with 1, 2, 3 or 4 parameters, 'px' is not required but supported: +// +// rem-calc(10 20 30px 40); +// +// Space delimited, if you want to delimit using comma's, wrap it in another pair of brackets +// +// rem-calc((10, 20, 30, 40px)); +// +// Optionally call with a different base (eg: 8px) to calculate rem. +// +// rem-calc(16px 32px 48px, 8px); +// +// If you require to comma separate your list +// +// rem-calc((16px, 32px, 48), 8px); + +@function rem-calc($values, $base-value: $rem-base) { + $max: length($values); + + @if $max == 1 { @return convert-to-rem(nth($values, 1), $base-value); } + + $remValues: (); + @for $i from 1 through $max { + $remValues: append($remValues, convert-to-rem(nth($values, $i), $base-value)); + } + @return $remValues; +} + +// OLD EM CALC +// Deprecated: We'll drop support for this in 5.1.0, use rem-calc() +@function emCalc($values){ + @return rem-calc($values); +} + +// OLD EM CALC +// Deprecated: We'll drop support for this in 5.1.0, use rem-calc() +@function em-calc($values){ + @return rem-calc($values); +} diff --git a/_sass/foundation-components/_accordion.scss b/_sass/foundation-components/_accordion.scss new file mode 100644 index 0000000000..fb57509576 --- /dev/null +++ b/_sass/foundation-components/_accordion.scss @@ -0,0 +1,157 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// + +$include-html-accordion-classes: $include-html-classes !default; + +$accordion-navigation-padding: rem-calc(16) !default; +$accordion-navigation-bg-color: $silver !default; +$accordion-navigation-hover-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -5%) !default; +$accordion-navigation-active-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -3%) !default; +$accordion-navigation-font-color: $jet !default; +$accordion-navigation-font-size: rem-calc(16) !default; +$accordion-navigation-font-family: $body-font-family !default; + +$accordion-content-padding: ($column-gutter/2) !default; +$accordion-content-active-bg-color: $white !default; + + +// Mixin: accordion-container() +// Decription: Responsible for the container component of accordions, generating styles relating to a margin of zero and a clearfix +// Explicit Dependencies: a clearfix mixin *is* defined. +// Implicit Dependencies: None + +@mixin accordion-container() { + @include clearfix; + margin-bottom: 0; +} + +// Mixin: accordion-navigation( $bg, $hover-bg, $active-bg, $padding, $active_class, $font-color, $font-size, $font-family){ +// @params $bg-color: [ color or string ]: Specify the background color for the navigation element +// @params $hover-bg-color [ color or string ]: Specify the background color for the navigation element when hovered +// @params $active-bg [ color or string ]: Specify the background color for the navigation element when clicked and not released. +// @params $active_class [ string ]: Specify the class name used to keep track of which accordion tab should be visible +// @params $font-color [ color or string ]: Color of the font for accordion +// @params $font-size [ number ]: Specifiy the font-size of the text inside the navigation element +// @params $font-family [ string ]: Specify the font family for the text of the navigation of the accorion + +@mixin accordion-navigation( $bg: $accordion-navigation-bg-color, $hover-bg: $accordion-navigation-hover-bg-color, $active-bg: $accordion-navigation-active-bg-color, $padding: $accordion-navigation-padding, $active_class: 'active', $font-color: $accordion-navigation-font-color, $font-size: $accordion-navigation-font-size, $font-family: $accordion-navigation-font-family ){ + display: block; + margin-bottom: 0 !important; + @if type-of($active_class) != "string" { + @warn "`#{$active_class}` isn't a valid string. A valid string is needed to correctly be interpolated as a CSS class. CSS classes cannot start with a number or consist of only numbers. CSS will not be generated for the active state of this navigation component." + } + @else { + &.#{ $active_class } > a { + background: $active-bg; + } + } + > a { + background: $bg; + color: $font-color; + @if type-of($padding) != number { + @warn "`#{$padding}` was read as #{type-of($padding)}"; + @if $accordion-navigation-padding != null { + @warn "#{$padding} was read as a #{type-of($padding)}"; + @warn "`#{$padding}` isn't a valid number. $accordion-navigation-padding (#{$accordion-navigation-padding}) will be used instead.)"; + padding: $accordion-navigation-padding; + } + @else { + @warn "`#{$padding}` isn't a valid number and $accordion-navigation-padding is missing. A value of `null` is returned to not output an invalid value for padding"; + padding: null; + } + } + @else { + padding: $padding; + } + display: block; + font-family: $font-family; + @if type-of($font-size) != number { + @warn "`#{$font-size}` was read as a #{type-of($font-size)}"; + @if $accordion-navigation-font-size != null { + @warn "`#{$font-size}` is not a valid number. The value of $accordion-navigation-font-size will be used instead (#{$accordion-navigation-font-size})."; + font-size: $accordion-navigation-font-size; + } + @else{ + @warn "`#{$font-size}` is not a valid number and the default value of $accordion-navigation-font-size is not defined. A value of `null` will be returned to not generate an invalid value for font-size."; + font-size: null; + + } + } + @else { + font-size: $font-size; + } + &:hover { + background: $hover-bg; + } + } +} + +// Mixin: accordion-content($bg, $padding, $active-class) +// @params $padding [ number ]: Padding for the content of the container +// @params $bg [ color ]: Background color for the content when it's visible +// @params $active_class [ string ]: Class name used to keep track of which accordion tab should be visible. + +@mixin accordion-content($bg: $accordion-content-active-bg-color, $padding: $accordion-content-padding, $active_class: 'active'){ + display: none; + @if type-of($padding) != "number" { + @warn "#{$padding} was read as a #{type-of($padding)}"; + @if $accordion-content-padding != null { + @warn "`#{$padding}` isn't a valid number. $accordion-content-padding used instead"; + padding: $accordion-content-padding; + } @else { + @warn "`#{$padding}` isn't a valid number and the default value of $accordion-content-padding is not defined. A value of `null` is returned to not output an invalid value for padding."; + padding: null; + } + } @else { + padding: $padding; + } + + @if type-of($active_class) != "string" { + @warn "`#{$active_class}` isn't a valid string. A valid string is needed to correctly be interpolated as a CSS class. CSS classes cannot start with a number or consist of only numbers. CSS will not be generated for the active state of the content. " + } + @else { + &.#{$active_class} { + display: block; + background: $bg; + } + } +} + +@include exports("accordion") { + @if $include-html-accordion-classes { + .accordion { + @include clearfix; + margin-bottom: 0; + .accordion-navigation, dd { + display: block; + margin-bottom: 0 !important; + &.active > a { background: $accordion-navigation-active-bg-color; } + > a { + background: $accordion-navigation-bg-color; + color: $accordion-navigation-font-color; + padding: $accordion-navigation-padding; + display: block; + font-family: $accordion-navigation-font-family; + font-size: $accordion-navigation-font-size; + &:hover { background: $accordion-navigation-hover-bg-color; } + } + + > .content { + display: none; + padding: $accordion-content-padding; + &.active { + display: block; + background: $accordion-content-active-bg-color; + } + } + } + } + } +} diff --git a/_sass/foundation-components/_alert-boxes.scss b/_sass/foundation-components/_alert-boxes.scss new file mode 100644 index 0000000000..493fbaa17e --- /dev/null +++ b/_sass/foundation-components/_alert-boxes.scss @@ -0,0 +1,128 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// Alert Box Variables +// +$include-html-alert-classes: $include-html-classes !default; + +// We use this to control alert padding. +$alert-padding-top: rem-calc(14) !default; +$alert-padding-default-float: $alert-padding-top !default; +$alert-padding-opposite-direction: $alert-padding-top + rem-calc(10) !default; +$alert-padding-bottom: $alert-padding-top !default; + +// We use these to control text style. +$alert-font-weight: $font-weight-normal !default; +$alert-font-size: rem-calc(13) !default; +$alert-font-color: $white !default; +$alert-font-color-alt: scale-color($secondary-color, $lightness: -66%) !default; + +// We use this for close hover effect. +$alert-function-factor: -14% !default; + +// We use these to control border styles. +$alert-border-style: solid !default; +$alert-border-width: 1px !default; +$alert-border-color: scale-color($primary-color, $lightness: $alert-function-factor) !default; +$alert-bottom-margin: rem-calc(20) !default; + +// We use these to style the close buttons +$alert-close-color: $oil !default; +$alert-close-top: 50% !default; +$alert-close-position: rem-calc(4) !default; +$alert-close-font-size: rem-calc(22) !default; +$alert-close-opacity: 0.3 !default; +$alert-close-opacity-hover: 0.5 !default; +$alert-close-padding: 9px 6px 4px !default; +$alert-close-background: inherit !default; + +// We use this to control border radius +$alert-radius: $global-radius !default; + +$alert-transition-speed: 300ms !default; +$alert-transition-ease: ease-out !default; + +// +// Alert Mixins +// + +// We use this mixin to create a default alert base. +@mixin alert-base { + border-style: $alert-border-style; + border-width: $alert-border-width; + display: block; + font-weight: $alert-font-weight; + margin-bottom: $alert-bottom-margin; + position: relative; + padding: $alert-padding-top $alert-padding-opposite-direction $alert-padding-bottom $alert-padding-default-float; + font-size: $alert-font-size; + @include single-transition(opacity, $alert-transition-speed, $alert-transition-ease) +} + +// We use this mixin to add alert styles +// +// $bg - The background of the alert. Default: $primary-color. +@mixin alert-style($bg:$primary-color) { + + // This finds the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + // We control which background color and border come through. + background-color: $bg; + border-color: scale-color($bg, $lightness: $alert-function-factor); + + // We control the text color for you based on the background color. + @if $bg-lightness > 70% { color: $alert-font-color-alt; } + @else { color: $alert-font-color; } + +} + +// We use this to create the close button. +@mixin alert-close { + font-size: $alert-close-font-size; + padding: $alert-close-padding; + line-height: 0; + position: absolute; + top: $alert-close-top; + margin-top: -($alert-close-font-size / 2); + #{$opposite-direction}: $alert-close-position; + color: $alert-close-color; + opacity: $alert-close-opacity; + background: $alert-close-background; + &:hover, + &:focus { opacity: $alert-close-opacity-hover; } +} + +// We use this to quickly create alerts with a single mixin. +// +// $bg - Background of alert. Default: $primary-color. +// $radius - Radius of alert box. Default: false. +@mixin alert($bg:$primary-color, $radius:false) { + @include alert-base; + @include alert-style($bg); + @include radius($radius); +} + +@include exports("alert-box") { + @if $include-html-alert-classes { + .alert-box { + @include alert; + + .close { @include alert-close; } + + &.radius { @include radius($alert-radius); } + &.round { @include radius($global-rounded); } + + &.success { @include alert-style($success-color); } + &.alert { @include alert-style($alert-color); } + &.secondary { @include alert-style($secondary-color); } + &.warning { @include alert-style($warning-color); } + &.info { @include alert-style($info-color); } + &.alert-close { opacity: 0} + } + } +} diff --git a/_sass/foundation-components/_block-grid.scss b/_sass/foundation-components/_block-grid.scss new file mode 100644 index 0000000000..5c7bf14611 --- /dev/null +++ b/_sass/foundation-components/_block-grid.scss @@ -0,0 +1,132 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// Block Grid Variables +// +$include-html-block-grid-classes: $include-html-classes !default; +$include-xl-html-block-grid-classes: false !default; + +// We use this to control the maximum number of block grid elements per row +$block-grid-elements: 12 !default; +$block-grid-default-spacing: rem-calc(20) !default; + +$align-block-grid-to-grid: false !default; +@if $align-block-grid-to-grid { + $block-grid-default-spacing: $column-gutter; +} + +// Enables media queries for block-grid classes. Set to false if writing semantic HTML. +$block-grid-media-queries: true !default; + +// +// Block Grid Mixins +// + +// Create a custom block grid +// +// $per-row - # of items to display per row. Default: false. +// $spacing - # of ems to use as padding on each block item. Default: rem-calc(20). +// $base-style - Apply a base style to block grid. Default: true. +@mixin block-grid( + $per-row:false, + $spacing:$block-grid-default-spacing, + $include-spacing:true, + $base-style:true) { + + @if $base-style { + display: block; + padding: 0; + @if $align-block-grid-to-grid { + margin: 0; + } @else { + margin: 0 (-$spacing/2); + } + @include clearfix; + + &>li { + display: block; + height: auto; + float: $default-float; + @if $include-spacing { + padding: 0 ($spacing/2) $spacing; + } + } + } + + @if $per-row { + &>li { + width: 100%/$per-row; + @if $include-spacing { + padding: 0 ($spacing/2) $spacing; + } + list-style: none; + + &:nth-of-type(1n) { clear: none; } + &:nth-of-type(#{$per-row}n+1) { clear: both; } + @if $align-block-grid-to-grid { + @include block-grid-aligned($per-row, $spacing); + } + } + } +} + +@mixin block-grid-aligned($per-row, $spacing) { + @for $i from 1 through $block-grid-elements { + @if $per-row >= $i { + $grid-column: '+' + $i; + @if $per-row == $i { + $grid-column: ''; + } + &:nth-of-type(#{$per-row}n#{unquote($grid-column)}) { + padding-left: ($spacing - (($spacing / $per-row) * ($per-row - ($i - 1)))); + padding-right: ($spacing - (($spacing / $per-row) * $i)); + } + } + } +} + +// Generate presentational markup for block grid. +// +// $size - Name of class to use, i.e. "large" will generate .large-block-grid-1, .large-block-grid-2, etc. +@mixin block-grid-html-classes($size,$include-spacing) { + @for $i from 1 through $block-grid-elements { + .#{$size}-block-grid-#{($i)} { + @include block-grid($i,$block-grid-default-spacing,$include-spacing,false); + } + } +} + +@include exports("block-grid") { + @if $include-html-block-grid-classes { + + [class*="block-grid-"] { @include block-grid; } + + @if $block-grid-media-queries { + @media #{$small-up} { + @include block-grid-html-classes($size:small,$include-spacing:false); + } + + @media #{$medium-up} { + @include block-grid-html-classes($size:medium,$include-spacing:false); + } + + @media #{$large-up} { + @include block-grid-html-classes($size:large,$include-spacing:false); + } + + @if $include-xl-html-block-grid-classes { + @media #{$xlarge-up} { + @include block-grid-html-classes($size:xlarge,$include-spacing:false); + } + + @media #{$xxlarge-up} { + @include block-grid-html-classes($size:xxlarge,$include-spacing:false); + } + } + } + } +} diff --git a/_sass/foundation-components/_breadcrumbs.scss b/_sass/foundation-components/_breadcrumbs.scss new file mode 100644 index 0000000000..612a146c40 --- /dev/null +++ b/_sass/foundation-components/_breadcrumbs.scss @@ -0,0 +1,132 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// Breadcrumb Variables +// +$include-html-nav-classes: $include-html-classes !default; + +// We use this to set the background color for the breadcrumb container. +$crumb-bg: scale-color($secondary-color, $lightness: 55%) !default; + +// We use these to set the padding around the breadcrumbs. +$crumb-padding: rem-calc(9 14 9) !default; +$crumb-side-padding: rem-calc(12) !default; + +// We use these to control border styles. +$crumb-function-factor: -10% !default; +$crumb-border-size: 1px !default; +$crumb-border-style: solid !default; +$crumb-border-color: scale-color($crumb-bg, $lightness: $crumb-function-factor) !default; +$crumb-radius: $global-radius !default; + +// We use these to set various text styles for breadcrumbs. +$crumb-font-size: rem-calc(11) !default; +$crumb-font-color: $primary-color !default; +$crumb-font-color-current: $oil !default; +$crumb-font-color-unavailable: $aluminum !default; +$crumb-font-transform: uppercase !default; +$crumb-link-decor: underline !default; + +// We use these to control the slash between breadcrumbs +$crumb-slash-color: $base !default; +$crumb-slash: "/" !default; + +// +// Breadcrumb Mixins +// + +// We use this mixin to create a container around our breadcrumbs +@mixin crumb-container { + display: block; + padding: $crumb-padding; + overflow: hidden; + margin-#{$default-float}: 0; + list-style: none; + border-style: $crumb-border-style; + border-width: $crumb-border-size; + + // We control which background color and border come through. + background-color: $crumb-bg; + border-color: $crumb-border-color; +} + +// We use this mixin to create breadcrumb styles from list items. +@mixin crumbs { + + // A normal state will make the links look and act like clickable breadcrumbs. + margin: 0; + float: $default-float; + font-size: $crumb-font-size; + line-height: $crumb-font-size; + text-transform: $crumb-font-transform; + color: $crumb-font-color; + + &:hover a, &:focus a { text-decoration: $crumb-link-decor; } + + a { + color: $crumb-font-color; + } + + // Current is for the link of the current page + &.current { + cursor: $cursor-default-value; + color: $crumb-font-color-current; + a { + cursor: $cursor-default-value; + color: $crumb-font-color-current; + } + + &:hover, &:hover a, + &:focus, &:focus a { text-decoration: none; } + } + + // Unavailable removed color and link styles so it looks inactive. + &.unavailable { + color: $crumb-font-color-unavailable; + a { color: $crumb-font-color-unavailable; } + + &:hover, + &:hover a, + &:focus, + a:focus { + text-decoration: none; + color: $crumb-font-color-unavailable; + cursor: $cursor-default-value; + } + } + + &:before { + content: "#{$crumb-slash}"; + color: $crumb-slash-color; + margin: 0 $crumb-side-padding; + position: relative; + top: 1px; + } + + &:first-child:before { + content: " "; + margin: 0; + } +} + +@include exports("breadcrumbs") { + @if $include-html-nav-classes { + .breadcrumbs { + @include crumb-container; + @include radius($crumb-radius); + + &>* { + @include crumbs; + } + } + } +} + +/* Accessibility - hides the forward slash */ +[aria-label="breadcrumbs"] [aria-hidden="true"]:after { + content: "/"; + } diff --git a/_sass/foundation-components/_button-groups.scss b/_sass/foundation-components/_button-groups.scss new file mode 100644 index 0000000000..c989dfbaf0 --- /dev/null +++ b/_sass/foundation-components/_button-groups.scss @@ -0,0 +1,197 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "buttons"; + +// +// Button Group Variables +// +$include-html-button-classes: $include-html-classes !default; + +// Sets the margin for the right side by default, and the left margin if right-to-left direction is used +$button-bar-margin-opposite: rem-calc(10) !default; +$button-group-border-width: 1px !default; + +// +// Button Group Mixins +// + +// We use this to add styles for a button group container +@mixin button-group-container($styles:true, $float:false) { + @if $styles { + list-style: none; + margin: 0; + #{$default-float}: 0; + @include clearfix(); + } + @if $float { + float: #{$default-float}; + margin-#{$opposite-direction}: $button-bar-margin-opposite; + & div { overflow: hidden; } + } +} + +// We use this to control styles for button groups +@mixin button-group-style($radius:false, $even:false, $float:false, $orientation:horizontal) { + + > button, .button { + border-#{$default-float}: $button-group-border-width solid; + border-color: rgba(255, 255, 255, 0.5); + } + + &:first-child { + button, .button { + border-#{$default-float}: 0; + } + } + + // We use this to control the flow, or remove those styles completely. + @if $float { + margin: 0; + float: $float; + display: list-item; + // Make sure the first child doesn't get the negative margin. + &:first-child { margin-#{$default-float}: 0; } + } + @else { + margin: 0 -2px; + display: inline-block; + } + + @if $orientation == vertical { + display:block; + margin:0; + > button, .button { + border-top: $button-group-border-width solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin:0; + display: block; + } + + &:first-child { + button, .button { + border-top: 0; + } + } + } + + // We use these to control left and right radius on first/last buttons in the group. + @if $radius == true { + &, + & > a, + & > button, + & > .button { @include radius(0); } + &:first-child, + &:first-child > a, + &:first-child > button, + &:first-child > .button { + @if $orientation == vertical { + @include side-radius(top, $button-radius); + } + @else { + @include side-radius($default-float, $button-radius); + } + } + &:last-child, + &:last-child > a, + &:last-child > button, + &:last-child > .button { + @if $orientation == vertical { + @include side-radius(bottom, $button-radius); + } + @else { + @include side-radius($opposite-direction, $button-radius); + } + } + } + @else if $radius { + &, + & > a, + & > button, + & > .button { @include radius(0); } + &:first-child, + &:first-child > a, + &:first-child > button, + &:first-child > .button { + @if $orientation == vertical { + @include side-radius(top, $radius); + } + @else { + @include side-radius($default-float, $radius); + } + } + &:last-child, + &:last-child > a, + &:last-child > button, + &:last-child > .button { + @if $orientation == vertical { + @include side-radius(bottom, $radius); + } + @else { + @include side-radius($opposite-direction, $radius); + } + } + } + + // We use this to make the buttons even width across their container + @if $even { + width: percentage((100/$even) / 100); + button, .button { width: 100%; } + } +} + +@include exports("button-group") { + @if $include-html-button-classes { + .button-group { @include button-group-container; + + & > li { @include button-group-style(); } + + &.stack { + & > li { @include button-group-style($orientation:vertical); float: none; } + } + + &.stack-for-small { + & > li { + @include button-group-style($orientation:horizontal); + @media #{$small-only} { + @include button-group-style($orientation:vertical); + } + } + } + + &.radius > * { @include button-group-style($radius:$button-radius, $float:null); } + &.radius.stack > * { @include button-group-style($radius:$button-radius, $float:null, $orientation:vertical); } + &.radius.stack-for-small > * { + @media #{$medium-up} { + @include button-group-style($radius:$button-radius, $orientation:horizontal); + } + @media #{$small-only} { + @include button-group-style($radius:$button-radius, $orientation:vertical); + } + } + + &.round > * { @include button-group-style($radius:$button-round, $float:null); } + &.round.stack > * { @include button-group-style($radius:$button-med, $float:null, $orientation:vertical); } + &.round.stack-for-small > * { + @media #{$medium-up} { + @include button-group-style($radius:$button-round, $orientation:horizontal); + } + @media #{$small-only} { + @include button-group-style($radius:$button-med, $orientation:vertical); + } + } + + @for $i from 2 through 8 { + &.even-#{$i} li { @include button-group-style($even:$i, $float:null); } + } + } + + .button-bar { + @include clearfix; + .button-group { @include button-group-container($styles:false, $float:true); } + } + } +} diff --git a/_sass/foundation-components/_buttons.scss b/_sass/foundation-components/_buttons.scss new file mode 100644 index 0000000000..022f6d5e1a --- /dev/null +++ b/_sass/foundation-components/_buttons.scss @@ -0,0 +1,259 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-button-classes: $include-html-classes !default; + +// We use these to build padding for buttons. +$button-tny: rem-calc(10) !default; +$button-sml: rem-calc(14) !default; +$button-med: rem-calc(16) !default; +$button-lrg: rem-calc(18) !default; + +// We use this to control the display property. +$button-display: inline-block !default; +$button-margin-bottom: rem-calc(20) !default; + +// We use these to control button text styles. +$button-font-family: $body-font-family !default; +$button-font-color: $white !default; +$button-font-color-alt: $oil !default; +$button-font-tny: rem-calc(11) !default; +$button-font-sml: rem-calc(13) !default; +$button-font-med: rem-calc(16) !default; +$button-font-lrg: rem-calc(20) !default; +$button-font-weight: $font-weight-normal !default; +$button-font-align: center !default; + +// We use these to control various hover effects. +$button-function-factor: -20% !default; + +// We use these to control button border styles. +$button-border-width: 0 !default; +$button-border-style: solid !default; +$button-bg-color: $primary-color !default; +$button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor) !default; +$button-border-color: $button-bg-hover !default; +$secondary-button-bg-hover: scale-color($secondary-color, $lightness: $button-function-factor) !default; +$secondary-button-border-color: $secondary-button-bg-hover !default; +$success-button-bg-hover: scale-color($success-color, $lightness: $button-function-factor) !default; +$success-button-border-color: $success-button-bg-hover !default; +$alert-button-bg-hover: scale-color($alert-color, $lightness: $button-function-factor) !default; +$alert-button-border-color: $alert-button-bg-hover !default; +$warning-button-bg-hover: scale-color($warning-color, $lightness: $button-function-factor) !default; +$warning-button-border-color: $warning-button-bg-hover !default; +$info-button-bg-hover: scale-color($info-color, $lightness: $button-function-factor) !default; +$info-button-border-color: $info-button-bg-hover !default; + +// We use this to set the default radius used throughout the core. +$button-radius: $global-radius !default; +$button-round: $global-rounded !default; + +// We use this to set default opacity and cursor for disabled buttons. +$button-disabled-opacity: 0.7 !default; +$button-disabled-cursor: $cursor-default-value !default; + + +// +// @MIXIN +// +// We use this mixin to create a default button base. +// +// $style - Sets base styles. Can be set to false. Default: true. +// $display - Used to control display property. Default: $button-display || inline-block + +@mixin button-base($style:true, $display:$button-display) { + @if $style { + border-style: $button-border-style; + border-width: $button-border-width; + cursor: $cursor-pointer-value; + font-family: $button-font-family; + font-weight: $button-font-weight; + line-height: normal; + margin: 0 0 $button-margin-bottom; + position: relative; + text-decoration: none; + text-align: $button-font-align; + -webkit-appearance: none; + border-radius:0; + } + @if $display { display: $display; } +} + +// @MIXIN +// +// We use this mixin to add button size styles +// +// $padding - Used to build padding for buttons Default: $button-med ||= rem-calc(12) +// $full-width - We can set $full-width:true to remove side padding extend width - Default: false + +@mixin button-size($padding:$button-med, $full-width:false) { + + // We control which padding styles come through, + // these can be turned off by setting $padding:false + @if $padding { + padding-top: $padding; + padding-#{$opposite-direction}: $padding * 2; + padding-bottom: $padding + rem-calc(1); + padding-#{$default-float}: $padding * 2; + + // We control the font-size based on mixin input. + @if $padding == $button-med { font-size: $button-font-med; } + @else if $padding == $button-tny { font-size: $button-font-tny; } + @else if $padding == $button-sml { font-size: $button-font-sml; } + @else if $padding == $button-lrg { font-size: $button-font-lrg; } + } + + // We can set $full-width:true to remove side padding extend width. + @if $full-width { + // We still need to check if $padding is set. + @if $padding { + padding-top: $padding; + padding-bottom: $padding + rem-calc(1); + } @else if $padding == false { + padding-top:0; + padding-bottom:0; + } + padding-right: 0; + padding-left: 0; + width: 100%; + } +} + +// @MIXIN +// +// we use this mixin to create the button hover and border colors + +// @MIXIN +// +// We use this mixin to add button color styles +// +// $bg - Background color. We can set $bg:false for a transparent background. Default: $primary-color. +// $radius - If true, set to button radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default: true +// $disabled - We can set $disabled:true to create a disabled transparent button. Default: false +// $bg-hover - Button Hover Background Color. Default: $button-bg-hover +// $border-color - Button Border Color. Default: $button-border-color +@mixin button-style($bg:$button-bg-color, $radius:false, $disabled:false, $bg-hover:null, $border-color:null) { + + // We control which background styles are used, + // these can be removed by setting $bg:false + @if $bg { + + @if $bg-hover == null { + $bg-hover: if($bg == $button-bg-color, $button-bg-hover, scale-color($bg, $lightness: $button-function-factor)); + } + + @if $border-color == null { + $border-color: if($bg == $button-bg-color, $button-border-color, scale-color($bg, $lightness: $button-function-factor)); + } + + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + $bg-hover-lightness: lightness($bg-hover); + + background-color: $bg; + border-color: $border-color; + &:hover, + &:focus { background-color: $bg-hover; } + + // We control the text color for you based on the background color. + color: if($bg-lightness > 70%, $button-font-color-alt, $button-font-color); + + &:hover, + &:focus { + color: if($bg-hover-lightness > 70%, $button-font-color-alt, $button-font-color); + } + } + + // We can set $disabled:true to create a disabled transparent button. + @if $disabled { + cursor: $button-disabled-cursor; + opacity: $button-disabled-opacity; + box-shadow: none; + &:hover, + &:focus { background-color: $bg; } + } + + // We can control how much button radius is used. + @if $radius == true { @include radius($button-radius); } + @else if $radius { @include radius($radius); } + +} + +// @MIXIN +// +// We use this to quickly create buttons with a single mixin. As @jaredhardy puts it, "the kitchen sink mixin" +// +// $padding - Used to build padding for buttons Default: $button-med ||= rem-calc(12) +// $bg - Primary color set in settings file. Default: $button-bg. +// $radius - If true, set to button radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default:false. +// $full-width - We can set $full-width:true to remove side padding extend width. Default:false. +// $disabled - We can set $disabled:true to create a disabled transparent button. Default:false. +// $is-prefix - Not used? Default:false. +// $bg-hover - Button Hover Color - Default null - see button-style mixin +// $border-color - Button Border Color - Default null - see button-style mixin +// $transition - We can control whether or not to include the background-color transition property - Default:true. +@mixin button($padding:$button-med, $bg:$button-bg-color, $radius:false, $full-width:false, $disabled:false, $is-prefix:false, $bg-hover:null, $border-color:null, $transition: true) { + @include button-base; + @include button-size($padding, $full-width); + @include button-style($bg, $radius, $disabled, $bg-hover, $border-color); + + @if $transition { + @include single-transition(background-color); + } +} + + +@include exports("button") { + @if $include-html-button-classes { + + // Default styles applied outside of media query + button, .button { + @include button-base; + @include button-size; + @include button-style; + + @include single-transition(background-color); + + &.secondary { @include button-style($bg:$secondary-color, $bg-hover:$secondary-button-bg-hover, $border-color:$secondary-button-border-color); } + &.success { @include button-style($bg:$success-color, $bg-hover:$success-button-bg-hover, $border-color:$success-button-border-color); } + &.alert { @include button-style($bg:$alert-color, $bg-hover:$alert-button-bg-hover, $border-color:$alert-button-border-color); } + &.warning { @include button-style($bg:$warning-color, $bg-hover:$warning-button-bg-hover, $border-color:$warning-button-border-color); } + &.info { @include button-style($bg:$info-color, $bg-hover:$info-button-bg-hover, $border-color:$info-button-border-color); } + + &.large { @include button-size($padding:$button-lrg); } + &.small { @include button-size($padding:$button-sml); } + &.tiny { @include button-size($padding:$button-tny); } + &.expand { @include button-size($padding:null,$full-width:true); } + + &.left-align { text-align: left; text-indent: rem-calc(12); } + &.right-align { text-align: right; padding-right: rem-calc(12); } + + &.radius { @include button-style($bg:false, $radius:true); } + &.round { @include button-style($bg:false, $radius:$button-round); } + + &.disabled, &[disabled] { @include button-style($bg:$button-bg-color, $disabled:true, $bg-hover:$button-bg-hover, $border-color:$button-border-color); + &.secondary { @include button-style($bg:$secondary-color, $disabled:true, $bg-hover:$secondary-button-bg-hover, $border-color:$secondary-button-border-color); } + &.success { @include button-style($bg:$success-color, $disabled:true, $bg-hover:$success-button-bg-hover, $border-color:$success-button-border-color); } + &.alert { @include button-style($bg:$alert-color, $disabled:true, $bg-hover:$alert-button-bg-hover, $border-color:$alert-button-border-color); } + &.warning { @include button-style($bg:$warning-color, $disabled:true, $bg-hover:$warning-button-bg-hover, $border-color:$warning-button-border-color); } + &.info { @include button-style($bg:$info-color, $disabled:true, $bg-hover:$info-button-bg-hover, $border-color:$info-button-border-color); } + } + } + + //firefox 2px fix + button::-moz-focus-inner {border:0; padding:0;} + + @media #{$medium-up} { + button, .button { + @include button-base($style:false, $display:inline-block); + @include button-size($padding:false, $full-width:false); + } + } + } +} diff --git a/_sass/foundation-components/_clearing.scss b/_sass/foundation-components/_clearing.scss new file mode 100644 index 0000000000..737af29959 --- /dev/null +++ b/_sass/foundation-components/_clearing.scss @@ -0,0 +1,247 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-clearing-classes: $include-html-classes !default; + +// We use these to set the background colors for parts of Clearing. +$clearing-bg: $oil !default; +$clearing-caption-bg: $clearing-bg !default; +$clearing-carousel-bg: rgba(51,51,51,0.8) !default; +$clearing-img-bg: $clearing-bg !default; + +// We use these to style the close button +$clearing-close-color: $iron !default; +$clearing-close-size: 30px !default; + +// We use these to style the arrows +$clearing-arrow-size: 12px !default; +$clearing-arrow-color: $clearing-close-color !default; + +// We use these to style captions +$clearing-caption-font-color: $iron !default; +$clearing-caption-font-size: 0.875em !default; +$clearing-caption-padding: 10px 30px 20px !default; + +// We use these to make the image and carousel height and style +$clearing-active-img-height: 85% !default; +$clearing-carousel-height: 120px !default; +$clearing-carousel-thumb-width: 120px !default; +$clearing-carousel-thumb-active-border: 1px solid rgb(255,255,255) !default; + +@include exports("clearing") { + @if $include-html-clearing-classes { + // We decided to not create a mixin for Clearing because it relies + // on predefined classes and structure to work properly. + // The variables above should give enough control. + + /* Clearing Styles */ + .clearing-thumbs, #{data('clearing')} { + @include clearfix; + margin-bottom: 0; + margin-#{$default-float}: 0; + list-style: none; + + li { + float: $default-float; + margin-#{$opposite-direction}: 10px; + } + + &[class*="block-grid-"] li { + margin-#{$opposite-direction}: 0; + } + } + + .clearing-blackout { + background: $clearing-bg; + position: fixed; + width: 100%; + height: 100%; + top: 0; + #{$default-float}: 0; + z-index: 998; + + .clearing-close { display: block; } + } + + .clearing-container { + position: relative; + z-index: 998; + height: 100%; + overflow: hidden; + margin: 0; + } + + .clearing-touch-label { + position: absolute; + top: 50%; + left: 50%; + color: $base; + font-size: 0.6em; + } + + .visible-img { + height: 95%; + position: relative; + + img { + position: absolute; + #{$default-float}: 50%; + top: 50%; + margin-#{$default-float}: -50%; + max-height: 100%; + max-width: 100%; + } + } + + .clearing-caption { + color: $clearing-caption-font-color; + font-size: $clearing-caption-font-size; + line-height: 1.3; + margin-bottom: 0; + text-align: center; + bottom: 0; + background: $clearing-caption-bg; + width: 100%; + padding: $clearing-caption-padding; + position: absolute; + #{$default-float}: 0; + } + + .clearing-close { + z-index: 999; + padding-#{$default-float}: 20px; + padding-top: 10px; + font-size: $clearing-close-size; + line-height: 1; + color: $clearing-close-color; + display: none; + + &:hover, + &:focus { color: $iron; } + } + + .clearing-assembled .clearing-container { height: 100%; + .carousel > ul { display: none; } + } + + // If you want to show a lightbox, but only have a single image come through as the thumbnail + .clearing-feature li { + display: none; + &.clearing-featured-img { + display: block; + } + } + + // Large screen overrides + @media #{$medium-up} { + .clearing-main-prev, + .clearing-main-next { + position: absolute; + height: 100%; + width: 40px; + top: 0; + & > span { + position: absolute; + top: 50%; + display: block; + width: 0; + height: 0; + border: solid $clearing-arrow-size; + &:hover { opacity: 0.8; } + } + } + .clearing-main-prev { + #{$default-float}: 0; + & > span { + #{$default-float}: 5px; + border-color: transparent; + border-#{$opposite-direction}-color: $clearing-arrow-color; + } + } + .clearing-main-next { + #{$opposite-direction}: 0; + & > span { + border-color: transparent; + border-#{$default-float}-color: $clearing-arrow-color; + } + } + + .clearing-main-prev.disabled, + .clearing-main-next.disabled { opacity: 0.3; } + + .clearing-assembled .clearing-container { + + .carousel { + background: $clearing-carousel-bg; + height: $clearing-carousel-height; + margin-top: 10px; + text-align: center; + + & > ul { + display: inline-block; + z-index: 999; + height: 100%; + position: relative; + float: none; + + li { + display: block; + width: $clearing-carousel-thumb-width; + min-height: inherit; + float: $default-float; + overflow: hidden; + margin-#{$opposite-direction}: 0; + padding: 0; + position: relative; + cursor: $cursor-pointer-value; + opacity: 0.4; + clear: none; + + &.fix-height { + img { + height: 100%; + max-width: none; + } + } + + a.th { + border: none; + box-shadow: none; + display: block; + } + + img { + cursor: $cursor-pointer-value !important; + width: 100% !important; + } + + &.visible { opacity: 1; } + &:hover { opacity: 0.8; } + } + } + } + + .visible-img { + background: $clearing-img-bg; + overflow: hidden; + height: $clearing-active-img-height; + } + } + + .clearing-close { + position: absolute; + top: 10px; + #{$opposite-direction}: 20px; + padding-#{$default-float}: 0; + padding-top: 0; + } + } + + } +} diff --git a/_sass/foundation-components/_dropdown-buttons.scss b/_sass/foundation-components/_dropdown-buttons.scss new file mode 100644 index 0000000000..3e45e5a5e0 --- /dev/null +++ b/_sass/foundation-components/_dropdown-buttons.scss @@ -0,0 +1,130 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-button-classes: $include-html-classes !default; + +// We use these to set the color of the pip in dropdown buttons +$dropdown-button-pip-color: $white !default; +$dropdown-button-pip-color-alt: $oil !default; + +$button-pip-tny: rem-calc(6) !default; +$button-pip-sml: rem-calc(7) !default; +$button-pip-med: rem-calc(9) !default; +$button-pip-lrg: rem-calc(11) !default; + +// We use these to style tiny dropdown buttons +$dropdown-button-padding-tny: $button-pip-tny * 7 !default; +$dropdown-button-pip-size-tny: $button-pip-tny !default; +$dropdown-button-pip-opposite-tny: $button-pip-tny * 3 !default; +$dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1) !default; + +// We use these to style small dropdown buttons +$dropdown-button-padding-sml: $button-pip-sml * 7 !default; +$dropdown-button-pip-size-sml: $button-pip-sml !default; +$dropdown-button-pip-opposite-sml: $button-pip-sml * 3 !default; +$dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1) !default; + +// We use these to style medium dropdown buttons +$dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3) !default; +$dropdown-button-pip-size-med: $button-pip-med - rem-calc(3) !default; +$dropdown-button-pip-opposite-med: $button-pip-med * 2.5 !default; +$dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2) !default; + +// We use these to style large dropdown buttons +$dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3) !default; +$dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default; +$dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5 !default; +$dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3) !default; + +// @mixins +// +// Dropdown Button Mixin +// +// We use this mixin to build off of the button mixin and add dropdown button styles +// +// $padding - Determines the size of button you're working with. Default: medium. Options [tiny, small, medium, large] +// $pip-color - Color of the little triangle that points to the dropdown. Default: $white. +// $base-style - Add in base-styles. This can be set to false. Default:true + +@mixin dropdown-button($padding:medium, $pip-color:$white, $base-style:true) { + + // We add in base styles, but they can be negated by setting to 'false'. + @if $base-style { + position: relative; + outline: none; + + // This creates the base styles for the triangle pip + &::after { + position: absolute; + content: ""; + width: 0; + height: 0; + display: block; + border-style: solid; + border-color: $dropdown-button-pip-color transparent transparent transparent; + top: 50%; + } + } + + // If we're dealing with tiny buttons, use these styles + @if $padding == tiny { + padding-#{$opposite-direction}: $dropdown-button-padding-tny; + &:after { + border-width: $dropdown-button-pip-size-tny; + #{$opposite-direction}: $dropdown-button-pip-opposite-tny; + margin-top: $dropdown-button-pip-top-tny; + } + } + + // If we're dealing with small buttons, use these styles + @if $padding == small { + padding-#{$opposite-direction}: $dropdown-button-padding-sml; + &::after { + border-width: $dropdown-button-pip-size-sml; + #{$opposite-direction}: $dropdown-button-pip-opposite-sml; + margin-top: $dropdown-button-pip-top-sml; + } + } + + // If we're dealing with default (medium) buttons, use these styles + @if $padding == medium { + padding-#{$opposite-direction}: $dropdown-button-padding-med; + &::after { + border-width: $dropdown-button-pip-size-med; + #{$opposite-direction}: $dropdown-button-pip-opposite-med; + margin-top: $dropdown-button-pip-top-med; + } + } + + // If we're dealing with large buttons, use these styles + @if $padding == large { + padding-#{$opposite-direction}: $dropdown-button-padding-lrg; + &::after { + border-width: $dropdown-button-pip-size-lrg; + #{$opposite-direction}: $dropdown-button-pip-opposite-lrg; + margin-top: $dropdown-button-pip-top-lrg; + } + } + + // We can control the pip color. We didn't use logic in this case, just set it and forget it. + @if $pip-color { + &::after { border-color: $pip-color transparent transparent transparent; } + } +} + +@include exports("dropdown-button") { + @if $include-html-button-classes { + .dropdown.button, button.dropdown { @include dropdown-button; + &.tiny { @include dropdown-button(tiny,$base-style:false); } + &.small { @include dropdown-button(small,$base-style:false); } + &.large { @include dropdown-button(large,$base-style:false); } + &.secondary:after { border-color: $dropdown-button-pip-color-alt transparent transparent transparent; } + } + } +} diff --git a/_sass/foundation-components/_dropdown.scss b/_sass/foundation-components/_dropdown.scss new file mode 100644 index 0000000000..215a76c292 --- /dev/null +++ b/_sass/foundation-components/_dropdown.scss @@ -0,0 +1,262 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-dropdown-classes: $include-html-classes !default; + +// We use these to controls height and width styles. +$f-dropdown-max-width: 200px !default; +$f-dropdown-height: auto !default; +$f-dropdown-max-height: none !default; + +// Used for bottom position +$f-dropdown-margin-top: 2px !default; + +// Used for right position +$f-dropdown-margin-left: $f-dropdown-margin-top !default; + +// Used for left position +$f-dropdown-margin-right: $f-dropdown-margin-top !default; + +// Used for top position +$f-dropdown-margin-bottom: $f-dropdown-margin-top !default; + +// We use this to control the background color +$f-dropdown-bg: $white !default; + +// We use this to set the border styles for dropdowns. +$f-dropdown-border-style: solid !default; +$f-dropdown-border-width: 1px !default; +$f-dropdown-border-color: scale-color($white, $lightness: -20%) !default; + +// We use these to style the triangle pip. +$f-dropdown-triangle-size: 6px !default; +$f-dropdown-triangle-color: $white !default; +$f-dropdown-triangle-side-offset: 10px !default; + +// We use these to control styles for the list elements. +$f-dropdown-list-style: none !default; +$f-dropdown-font-color: $charcoal !default; +$f-dropdown-font-size: rem-calc(14) !default; +$f-dropdown-list-padding: rem-calc(5, 10) !default; +$f-dropdown-line-height: rem-calc(18) !default; +$f-dropdown-list-hover-bg: $smoke !default; +$dropdown-mobile-default-float: 0 !default; + +// We use this to control the styles for when the dropdown has custom content. +$f-dropdown-content-padding: rem-calc(20) !default; + +// Default radius for dropdown. +$f-dropdown-radius: $global-radius !default; + +// +// @mixins +// +// +// NOTE: Make default max-width change between list and content types. Can add more width with classes, maybe .small, .medium, .large, etc.; +// We use this to style the dropdown container element. +// $content-list - Sets list-style. Default: list. Options: [list, content] +// $triangle - Sets if dropdown has triangle. Default:true. +// $max-width - Default: $f-dropdown-max-width || 200px. +@mixin dropdown-container($content:list, $triangle:true, $max-width:$f-dropdown-max-width) { + position: absolute; + left: -9999px; + list-style: $f-dropdown-list-style; + margin-#{$default-float}: 0; + outline: none; + + > *:first-child { margin-top: 0; } + > *:last-child { margin-bottom: 0; } + + @if $content == list { + width: 100%; + max-height: $f-dropdown-max-height; + height: $f-dropdown-height; + background: $f-dropdown-bg; + border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color; + font-size: $f-dropdown-font-size; + z-index: 89; + } + @else if $content == content { + padding: $f-dropdown-content-padding; + width: 100%; + height: $f-dropdown-height; + max-height: $f-dropdown-max-height; + background: $f-dropdown-bg; + border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color; + font-size: $f-dropdown-font-size; + z-index: 89; + } + + @if $triangle == bottom { + margin-top: $f-dropdown-margin-top; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, bottom); + position: absolute; + top: -($f-dropdown-triangle-size * 2); + #{$default-float}: $f-dropdown-triangle-side-offset; + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, bottom); + position: absolute; + top: -(($f-dropdown-triangle-size + 1) * 2); + #{$default-float}: $f-dropdown-triangle-side-offset - 1; + z-index: 88; + } + + &.right:before { + #{$default-float}: auto; + #{$opposite-direction}: $f-dropdown-triangle-side-offset; + } + &.right:after { + #{$default-float}: auto; + #{$opposite-direction}: $f-dropdown-triangle-side-offset - 1; + } + } + + @if $triangle == $default-float { + margin-top: 0; + margin-#{$default-float}: $f-dropdown-margin-right; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, #{$opposite-direction}); + position: absolute; + top: $f-dropdown-triangle-side-offset; + #{$default-float}: -($f-dropdown-triangle-size * 2); + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, #{$opposite-direction}); + position: absolute; + top: $f-dropdown-triangle-side-offset - 1; + #{$default-float}: -($f-dropdown-triangle-size * 2) - 2; + z-index: 88; + } + + } + + @if $triangle == $opposite-direction { + margin-top: 0; + margin-#{$default-float}: -$f-dropdown-margin-right; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, #{$default-float}); + position: absolute; + top: $f-dropdown-triangle-side-offset; + #{$opposite-direction}: -($f-dropdown-triangle-size * 2); + #{$default-float}: auto; + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, #{$default-float}); + position: absolute; + top: $f-dropdown-triangle-side-offset - 1; + #{$opposite-direction}: -($f-dropdown-triangle-size * 2) - 2; + #{$default-float}: auto; + z-index: 88; + } + + } + + @if $triangle == top { + margin-top: -$f-dropdown-margin-bottom; + margin-left: 0; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, top); + position: absolute; + top: auto; + bottom: -($f-dropdown-triangle-size * 2); + #{$default-float}: $f-dropdown-triangle-side-offset; + #{$opposite-direction}: auto; + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, top); + position: absolute; + top: auto; + bottom: -($f-dropdown-triangle-size * 2) - 2; + #{$default-float}: $f-dropdown-triangle-side-offset - 1; + #{$opposite-direction}: auto; + z-index: 88; + } + + } + + @if $max-width { max-width: $max-width; } + @else { max-width: $f-dropdown-max-width; } + +} + +// @MIXIN +// +// We use this to style the list elements or content inside the dropdown. + +@mixin dropdown-style { + font-size: $f-dropdown-font-size; + cursor: $cursor-pointer-value; + + line-height: $f-dropdown-line-height; + margin: 0; + + &:hover, + &:focus { background: $f-dropdown-list-hover-bg; } + + &.radius { @include radius($f-dropdown-radius); } + + a { + display: block; + padding: $f-dropdown-list-padding; + color: $f-dropdown-font-color; + } +} + +@include exports("dropdown") { + @if $include-html-dropdown-classes { + + /* Foundation Dropdowns */ + .f-dropdown { + @include dropdown-container(list, bottom); + + &.drop-#{$opposite-direction} { + @include dropdown-container(list, #{$default-float}); + } + + &.drop-#{$default-float} { + @include dropdown-container(list, #{$opposite-direction}); + } + + &.drop-top { + @include dropdown-container(list, top); + } + // max-width: none; + + li { @include dropdown-style; } + + // You can also put custom content in these dropdowns + &.content { @include dropdown-container(content, $triangle:false); } + + // Sizes + &.tiny { max-width: 200px; } + &.small { max-width: 300px; } + &.medium { max-width: 500px; } + &.large { max-width: 800px; } + &.mega { + width:100%!important; + max-width:100%!important; + + &.open{ + left:0!important; + } + } + } + + } +} diff --git a/_sass/foundation-components/_flex-video.scss b/_sass/foundation-components/_flex-video.scss new file mode 100644 index 0000000000..631ca9b6b6 --- /dev/null +++ b/_sass/foundation-components/_flex-video.scss @@ -0,0 +1,51 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-media-classes: $include-html-classes !default; + +// We use these to control video container padding and margins +$flex-video-padding-top: rem-calc(25) !default; +$flex-video-padding-bottom: 67.5% !default; +$flex-video-margin-bottom: rem-calc(16) !default; + +// We use this to control widescreen bottom padding +$flex-video-widescreen-padding-bottom: 56.34% !default; + +// +// @mixins +// + +@mixin flex-video-container { + position: relative; + padding-top: $flex-video-padding-top; + padding-bottom: $flex-video-padding-bottom; + height: 0; + margin-bottom: $flex-video-margin-bottom; + overflow: hidden; + + &.widescreen { padding-bottom: $flex-video-widescreen-padding-bottom; } + &.vimeo { padding-top: 0; } + + iframe, + object, + embed, + video { + position: absolute; + top: 0; + #{$default-float}: 0; + width: 100%; + height: 100%; + } +} + +@include exports("flex-video") { + @if $include-html-media-classes { + .flex-video { @include flex-video-container; } + } +} \ No newline at end of file diff --git a/_sass/foundation-components/_forms.scss b/_sass/foundation-components/_forms.scss new file mode 100644 index 0000000000..80124fd065 --- /dev/null +++ b/_sass/foundation-components/_forms.scss @@ -0,0 +1,570 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "buttons"; + +// +// @variables +// +$include-html-form-classes: $include-html-classes !default; + +// We use this to set the base for lots of form spacing and positioning styles +$form-spacing: rem-calc(16) !default; + +// We use these to style the labels in different ways +$form-label-pointer: pointer !default; +$form-label-font-size: rem-calc(14) !default; +$form-label-font-weight: $font-weight-normal !default; +$form-label-line-height: 1.5 !default; +$form-label-font-color: scale-color($black, $lightness: 30%) !default; +$form-label-small-transform: capitalize !default; +$form-label-bottom-margin: 0 !default; +$input-font-family: inherit !default; +$input-font-color: rgba(0,0,0,0.75) !default; +$input-font-size: rem-calc(14) !default; +$input-bg-color: $white !default; +$input-focus-bg-color: scale-color($white, $lightness: -2%) !default; +$input-border-color: scale-color($white, $lightness: -20%) !default; +$input-focus-border-color: scale-color($white, $lightness: -40%) !default; +$input-border-style: solid !default; +$input-border-width: 1px !default; +$input-border-radius: $global-radius !default; +$input-disabled-bg: $gainsboro !default; +$input-disabled-cursor: $cursor-default-value !default; +$input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !default; +$input-include-glowing-effect: true !default; + +// We use these to style the fieldset border and spacing. +$fieldset-border-style: solid !default; +$fieldset-border-width: 1px !default; +$fieldset-border-color: $gainsboro !default; +$fieldset-padding: rem-calc(20) !default; +$fieldset-margin: rem-calc(18 0) !default; + +// We use these to style the legends when you use them +$legend-bg: $white !default; +$legend-font-weight: $font-weight-bold !default; +$legend-padding: rem-calc(0 3) !default; + +// We use these to style the prefix and postfix input elements +$input-prefix-bg: scale-color($white, $lightness: -5%) !default; +$input-prefix-border-color: scale-color($white, $lightness: -20%) !default; +$input-prefix-border-size: 1px !default; +$input-prefix-border-type: solid !default; +$input-prefix-overflow: hidden !default; +$input-prefix-font-color: $oil !default; +$input-prefix-font-color-alt: $white !default; + +// We use this setting to turn on/off HTML5 number spinners (the up/down arrows) +$input-number-spinners: true !default; + +// We use these to style the error states for inputs and labels +$input-error-message-padding: rem-calc(6 9 9) !default; +$input-error-message-top: -1px !default; +$input-error-message-font-size: rem-calc(12) !default; +$input-error-message-font-weight: $font-weight-normal !default; +$input-error-message-font-style: italic !default; +$input-error-message-font-color: $white !default; +$input-error-message-bg-color: $alert-color !default; +$input-error-message-font-color-alt: $oil !default; + +// We use this to style the glowing effect of inputs when focused +$glowing-effect-fade-time: 0.45s !default; +$glowing-effect-color: $input-focus-border-color !default; + +// Select variables +$select-bg-color: $ghost !default; +$select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default; + +// +// @MIXINS +// + +// We use this mixin to give us form styles for rows inside of forms +@mixin form-row-base { + .row { margin: 0 ((-$form-spacing) / 2); + + .column, + .columns { padding: 0 ($form-spacing / 2); } + + // Use this to collapse the margins of a form row + &.collapse { margin: 0; + + .column, + .columns { padding: 0; } + input { + @include side-radius($opposite-direction, 0); + } + + } + } + input.column, + input.columns, + textarea.column, + textarea.columns { padding-#{$default-float}: ($form-spacing / 2); } +} + +// @MIXIN +// +// We use this mixin to give all basic form elements their style +@mixin form-element { + background-color: $input-bg-color; + font-family: $input-font-family; + border: { + style: $input-border-style; + width: $input-border-width; + color: $input-border-color; + } + box-shadow: $input-box-shadow; + color: $input-font-color; + display: block; + font-size: $input-font-size; + margin: 0 0 $form-spacing 0; + padding: $form-spacing / 2; + height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1)); + width: 100%; + @include box-sizing(border-box); + @if $input-include-glowing-effect { + @include block-glowing-effect(focus, $glowing-effect-fade-time, $glowing-effect-color); + } + // Basic focus styles + &:focus { + background: $input-focus-bg-color; + border-color: $input-focus-border-color; + outline: none; + } + // Disbaled Styles + &:disabled { + background-color: $input-disabled-bg; + cursor: $input-disabled-cursor; + } + + // Disabled background input background color + &[disabled], + &[readonly], + fieldset[disabled] & { + background-color: $input-disabled-bg; + cursor: $input-disabled-cursor; + } +} + +// @MIXIN +// +// We use this mixin to create form labels +// +// $alignment - Alignment options. Default: false. Options: [right, inline, false] +// $base-style - Control whether or not the base styles come through. Default: true. +@mixin form-label($alignment:false, $base-style:true) { + + // Control whether or not the base styles come through. + @if $base-style { + font-size: $form-label-font-size; + color: $form-label-font-color; + cursor: $form-label-pointer; + display: block; + font-weight: $form-label-font-weight; + line-height: $form-label-line-height; + margin-bottom: $form-label-bottom-margin; + } + + // Alignment options + @if $alignment == right { + float: none !important; + text-align: right; + } + @else if $alignment == inline { + margin: 0 0 $form-spacing 0; + padding: $form-spacing / 2 + rem-calc($input-border-width) 0; + } +} + +// We use this mixin to create postfix/prefix form Labels +@mixin prefix-postfix-base { + display: block; + position: relative; + z-index: 2; + text-align: center; + width: 100%; + padding-top: 0; + padding-bottom: 0; + border-style: $input-prefix-border-type; + border-width: $input-prefix-border-size; + overflow: $input-prefix-overflow; + font-size: $form-label-font-size; + height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1)); + line-height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1)); +} + +// @MIXIN +// +// We use this mixin to create prefix label styles +// $bg - Default:$input-prefix-bg || scale-color($white, $lightness: -5%) !default; +// $is-button - Toggle position settings if prefix is a button. Default:false +// +@mixin prefix($bg:$input-prefix-bg, $border:$input-prefix-border-color, $is-button:false) { + + @if $bg { + $bg-lightness: lightness($bg); + background: $bg; + border-#{$opposite-direction}: none; + + // Control the font color based on background brightness + @if $bg-lightness > 70% or $bg == yellow { color: $input-prefix-font-color; } + @else { color: $input-prefix-font-color-alt; } + } + + @if $border { + border-color: $border; + } + + @if $is-button { + padding-#{$default-float}: 0; + padding-#{$opposite-direction}: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + border: none; + } + +} + +// @MIXIN +// +// We use this mixin to create postfix label styles +// $bg - Default:$input-prefix-bg || scale-color($white, $lightness: -5%) !default; +// $is-button - Toggle position settings if prefix is a button. Default: false +@mixin postfix($bg:$input-prefix-bg, $border:$input-prefix-border-color, $is-button:false) { + + @if $bg { + $bg-lightness: lightness($bg); + background: $bg; + border-#{$default-float}: none; + + // Control the font color based on background brightness + @if $bg-lightness > 70% or $bg == yellow { color: $input-prefix-font-color; } + @else { color: $input-prefix-font-color-alt; } + } + + @if $border { + border-color: $border; + } + + @if $is-button { + padding-#{$default-float}: 0; + padding-#{$opposite-direction}: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + border: none; + } + +} + +// We use this mixin to style fieldsets +@mixin fieldset { + border: $fieldset-border-width $fieldset-border-style $fieldset-border-color; + padding: $fieldset-padding; + margin: $fieldset-margin; + + // and legend styles + legend { + font-weight: $legend-font-weight; + background: $legend-bg; + padding: $legend-padding; + margin: 0; + margin-#{$default-float}: rem-calc(-3); + } +} + +// @MIXIN +// +// We use this mixin to control border and background color of error inputs +// $color - Default: $alert-color (found in settings file) +@mixin form-error-color($color:$alert-color) { + border-color: $color; + background-color: rgba($color, 0.1); + + // Go back to normal on focus + &:focus { + background: $input-focus-bg-color; + border-color: $input-focus-border-color; + } +} + +// @MIXIN +// +// We use this simple mixin to style labels for error inputs +// $color - Default:$alert-color. Found in settings file +@mixin form-label-error-color($color:$alert-color) { color: $color; } + +// @MIXIN +// +// We use this mixin to create error message styles +// $bg - Default: $alert-color (Found in settings file) +@mixin form-error-message($bg:$input-error-message-bg-color) { + display: block; + padding: $input-error-message-padding; + margin-top: $input-error-message-top; + margin-bottom: $form-spacing; + font-size: $input-error-message-font-size; + font-weight: $input-error-message-font-weight; + font-style: $input-error-message-font-style; + + // We can control the text color based on the brightness of the background. + $bg-lightness: lightness($bg); + background: $bg; + @if $bg-lightness < 70% or $bg == yellow { color: $input-error-message-font-color; } + @else { color: $input-error-message-font-color-alt; } +} + +// We use this mixin to style select elements +@mixin form-select { + -webkit-appearance: none !important; + border-radius: 0; + background-color: $select-bg-color; + + // Hide the dropdown arrow shown in newer IE versions + &::-ms-expand { + display: none; + } + + // The custom arrow has some fake horizontal padding so we can align it + // from the right side of the element without relying on CSS3 + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); + + // We can safely use leftmost and rightmost now + background-position: if($text-direction == 'rtl', 0%, 100%) center; + + background-repeat: no-repeat; + border: { + style: $input-border-style; + width: $input-border-width; + color: $input-border-color; + } + padding: ($form-spacing / 2); + font-size: $input-font-size; + font-family: $body-font-family; + color: $input-font-color; + line-height: normal; + @include radius(0); + &.radius { @include radius($global-radius); } + &:hover { + background-color: $select-hover-bg-color; + border-color: $input-focus-border-color; + } + // Disabled Styles + &:disabled { + background-color: $input-disabled-bg; + cursor: $input-disabled-cursor; + } +} + +// We use this mixin to turn on/off HTML5 number spinners +@mixin html5number($browser, $on:true) { + @if $on==false { + @if $browser==webkit { + -webkit-appearance: none; + margin: 0; + } @else if $browser==moz { + -moz-appearance: textfield; + } + } +} + +@include exports("form") { + @if $include-html-form-classes { + /* Standard Forms */ + form { margin: 0 0 $form-spacing; } + + /* Using forms within rows, we need to set some defaults */ + form .row { @include form-row-base; } + + /* Label Styles */ + label { @include form-label; + &.right { @include form-label(right,false); } + &.inline { @include form-label(inline,false); } + /* Styles for required inputs */ + small { + text-transform: $form-label-small-transform; + color: scale-color($form-label-font-color, $lightness: 15%); + } + } + + /* Attach elements to the beginning or end of an input */ + .prefix, + .postfix { @include prefix-postfix-base; } + + /* Adjust padding, alignment and radius if pre/post element is a button */ + .postfix.button { @include button-size(false,false); @include postfix(false, false, true); } + .prefix.button { @include button-size(false,false); @include prefix(false, false, true); } + + .prefix.button.radius { @include radius(0); @include side-radius($default-float, $button-radius); } + .postfix.button.radius { @include radius(0); @include side-radius($opposite-direction, $button-radius); } + .prefix.button.round { @include radius(0); @include side-radius($default-float, $button-round); } + .postfix.button.round { @include radius(0); @include side-radius($opposite-direction, $button-round); } + + /* Separate prefix and postfix styles when on span or label so buttons keep their own */ + span.prefix,label.prefix { @include prefix(); } + span.postfix,label.postfix { @include postfix(); } + + /* We use this to get basic styling on all basic form elements */ + #{text-inputs(all, 'input')} { + -webkit-appearance: none; + border-radius: 0; + @include form-element; + @if $input-include-glowing-effect == false { + @include single-transition(all, 0.15s, linear); + } + &.radius { + @include radius($input-border-radius); + } + } + + form { + .row { + .prefix-radius.row.collapse { + input, + textarea, + select { @include radius(0); @include side-radius($opposite-direction, $button-radius); } + .prefix { @include radius(0); @include side-radius($default-float, $button-radius); } + } + .postfix-radius.row.collapse { + input, + textarea, + select { @include radius(0); @include side-radius($default-float, $button-radius); } + .postfix { @include radius(0); @include side-radius($opposite-direction, $button-radius); } + } + .prefix-round.row.collapse { + input, + textarea, + select { @include radius(0); @include side-radius($opposite-direction, $button-round); } + .prefix { @include radius(0); @include side-radius($default-float, $button-round); } + } + .postfix-round.row.collapse { + input, + textarea, + select { @include radius(0); @include side-radius($default-float, $button-round); } + .postfix { @include radius(0); @include side-radius($opposite-direction, $button-round); } + } + } + } + + input[type="submit"] { + -webkit-appearance: none; + border-radius: 0; + } + + /* Respect enforced amount of rows for textarea */ + textarea[rows] { + height: auto; + } + + /* Not allow resize out of parent */ + textarea { + max-width: 100%; + } + + /* Add height value for select elements to match text input height */ + select { + @include form-select; + height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1)); + } + + /* Adjust margin for form elements below */ + input[type="file"], + input[type="checkbox"], + input[type="radio"], + select { + margin: 0 0 $form-spacing 0; + } + + input[type="checkbox"] + label, + input[type="radio"] + label { + display: inline-block; + margin-#{$default-float}: $form-spacing * .5; + margin-#{$opposite-direction}: $form-spacing; + margin-bottom: 0; + vertical-align: baseline; + } + + /* Normalize file input width */ + input[type="file"] { + width:100%; + } + + /* HTML5 Number spinners settings */ + input[type=number] { + @include html5number(moz, $input-number-spinners) + } + input[type="number"]::-webkit-inner-spin-button, + input[type="number"]::-webkit-outer-spin-button { + @include html5number(webkit, $input-number-spinners); + } + + /* We add basic fieldset styling */ + fieldset { + @include fieldset; + } + + /* Error Handling */ + + #{data('abide')} { + .error small.error, .error span.error, span.error, small.error { + @include form-error-message; + } + span.error, small.error { display: none; } + } + + span.error, small.error { + @include form-error-message; + } + + .error { + input, + textarea, + select { + margin-bottom: 0; + } + + input[type="checkbox"], + input[type="radio"] { + margin-bottom: $form-spacing + } + + label, + label.error { + @include form-label-error-color; + } + + small.error { + @include form-error-message; + } + + > label { + > small { + color: scale-color($form-label-font-color, $lightness: 15%); + background: transparent; + padding: 0; + text-transform: $form-label-small-transform; + font-style: normal; + font-size: 60%; + margin: 0; + display: inline; + } + } + + span.error-message { + display: block; + } + } + + input.error, + textarea.error, + select.error { + margin-bottom: 0; + } + label.error { @include form-label-error-color; } + } +} diff --git a/_sass/foundation-components/_global.scss b/_sass/foundation-components/_global.scss new file mode 100644 index 0000000000..37d96eb1dd --- /dev/null +++ b/_sass/foundation-components/_global.scss @@ -0,0 +1,480 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "../functions"; +// +// Foundation Variables +// + +// Data attribute namespace +// styles get applied to [data-mysite-plugin], etc +$namespace: false !default; + +// The default font-size is set to 100% of the browser style sheet (usually 16px) +// for compatibility with browser-based text zoom or user-set defaults. + +// Since the typical default browser font-size is 16px, that makes the calculation for grid size. +// If you want your base font-size to be different and not have it affect the grid breakpoints, +// set $rem-base to $base-font-size and make sure $base-font-size is a px value. +$base-font-size: 100% !default; + +// $base-line-height is 24px while $base-font-size is 16px +$base-line-height: 1.5 !default; + +// +// Global Foundation Mixins +// + +// @mixins +// +// We use this to control border radius. +// $radius - Default: $global-radius || 4px +@mixin radius($radius:$global-radius) { + @if $radius { + border-radius: $radius; + } +} + +// @mixins +// +// We use this to create equal side border radius on elements. +// $side - Options: left, right, top, bottom +@mixin side-radius($side, $radius:$global-radius) { + @if ($side == left or $side == right) { + -webkit-border-bottom-#{$side}-radius: $radius; + -webkit-border-top-#{$side}-radius: $radius; + border-bottom-#{$side}-radius: $radius; + border-top-#{$side}-radius: $radius; + } @else { + -webkit-#{$side}-left-radius: $radius; + -webkit-#{$side}-right-radius: $radius; + border-#{$side}-left-radius: $radius; + border-#{$side}-right-radius: $radius; + } +} + +// @mixins +// +// We can control whether or not we have inset shadows edges. +// $active - Default: true, Options: false +@mixin inset-shadow($active:true) { + box-shadow: $shiny-edge-size $shiny-edge-color inset; + + @if $active { &:active { + box-shadow: $shiny-edge-size $shiny-edge-active-color inset; } } +} + +// @mixins +// +// We use this to add transitions to elements +// $property - Default: all, Options: http://www.w3.org/TR/css3-transitions/#animatable-properties +// $speed - Default: 300ms +// $ease - Default:ease-out, Options: http://css-tricks.com/almanac/properties/t/transition-timing-function/ +@mixin single-transition($property:all, $speed:300ms, $ease:ease-out) { + transition: $property $speed $ease; +} + +// @mixins +// +// We use this to add box-sizing across browser prefixes +@mixin box-sizing($type:border-box) { + -webkit-box-sizing: $type; // Android < 2.3, iOS < 4 + -moz-box-sizing: $type; // Firefox < 29 + box-sizing: $type; // Chrome, IE 8+, Opera, Safari 5.1 +} + +// @mixins +// +// We use this to create isosceles triangles +// $triangle-size - Used to set border-size. No default, set a px or em size. +// $triangle-color - Used to set border-color which makes up triangle. No default +// $triangle-direction - Used to determine which direction triangle points. Options: top, bottom, left, right +@mixin css-triangle($triangle-size, $triangle-color, $triangle-direction) { + content: ""; + display: block; + width: 0; + height: 0; + border: inset $triangle-size; + @if ($triangle-direction == top) { + border-color: $triangle-color transparent transparent transparent; + border-top-style: solid; + } + @if ($triangle-direction == bottom) { + border-color: transparent transparent $triangle-color transparent; + border-bottom-style: solid; + } + @if ($triangle-direction == left) { + border-color: transparent transparent transparent $triangle-color; + border-left-style: solid; + } + @if ($triangle-direction == right) { + border-color: transparent $triangle-color transparent transparent; + border-right-style: solid; + } +} + +// @mixins +// +// We use this to create the icon with three lines aka the hamburger icon, the menu-icon or the navicon +// $width - Width of hamburger icon in rem +// $left - If false, icon will be centered horizontally || explicitly set value in rem +// $top - If false, icon will be centered vertically || explicitly set value in rem +// $thickness - thickness of lines in hamburger icon, set value in px +// $gap - spacing between the lines in hamburger icon, set value in px +// $color - icon color +// $hover-color - icon color during hover +// $offcanvas - Set to true of @include in offcanvas +@mixin hamburger($width, $left, $top, $thickness, $gap, $color, $hover-color, $offcanvas) { + span::after { + content: ""; + position: absolute; + display: block; + height: 0; + + @if $offcanvas { + @if $top { + top: $top; + } + @else { + top: 50%; + margin-top: (-$width/2); + } + @if $left { + left: $left; + } + @else { + left: ($tabbar-menu-icon-width - $width)/2; + } + } + @else { + top: 50%; + margin-top: -($width/2); + #{$opposite-direction}: $topbar-link-padding; + } + + box-shadow: + 0 0 0 $thickness $color, + 0 $gap + $thickness 0 $thickness $color, + 0 (2 * $gap + 2*$thickness) 0 $thickness $color; + width: $width; + } + span:hover:after { + box-shadow: + 0 0 0 $thickness $hover-color, + 0 $gap + $thickness 0 $thickness $hover-color, + 0 (2 * $gap + 2*$thickness) 0 $thickness $hover-color; + } +} + +// We use this to do clear floats +@mixin clearfix { + &:before, &:after { content: " "; display: table; } + &:after { clear: both; } +} + +// @mixins +// +// We use this to add a glowing effect to block elements +// $selector - Used for selector state. Default: focus, Options: hover, active, visited +// $fade-time - Default: 300ms +// $glowing-effect-color - Default: fade-out($primary-color, .25) +@mixin block-glowing-effect($selector:focus, $fade-time:300ms, $glowing-effect-color:fade-out($primary-color, .25)) { + transition: box-shadow $fade-time, border-color $fade-time ease-in-out; + + &:#{$selector} { + box-shadow: 0 0 5px $glowing-effect-color; + border-color: $glowing-effect-color; + } +} + +// @mixins +// +// We use this to translate elements in 2D +// $horizontal: Default: 0 +// $vertical: Default: 0 +@mixin translate2d($horizontal:0, $vertical:0) { + transform: translate($horizontal,$vertical) +} + +// @mixins +// +// Makes an element visually hidden, but accessible. +// @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility +@mixin element-invisible { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); +} + +// @mixins +// +// Turns off the element-invisible effect. +@mixin element-invisible-off { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; +} + +$white : #FFFFFF !default; +$ghost : #FAFAFA !default; +$snow : #F9F9F9 !default; +$vapor : #F6F6F6 !default; +$white-smoke : #F5F5F5 !default; +$silver : #EFEFEF !default; +$smoke : #EEEEEE !default; +$gainsboro : #DDDDDD !default; +$iron : #CCCCCC !default; +$base : #AAAAAA !default; +$aluminum : #999999 !default; +$jumbo : #888888 !default; +$monsoon : #777777 !default; +$steel : #666666 !default; +$charcoal : #555555 !default; +$tuatara : #444444 !default; +$oil : #333333 !default; +$jet : #222222 !default; +$black : #000000 !default; + +// We use these as default colors throughout +$primary-color: #008CBA !default; // bondi-blue +$secondary-color: #e7e7e7 !default; // white-lilac +$alert-color: #f04124 !default; // cinnabar +$success-color: #43AC6A !default; // sea-green +$warning-color: #f08a24 !default; // carrot +$info-color: #a0d3e8 !default; // cornflower + +// We use these to define default font stacks +$font-family-sans-serif: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif !default; +$font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif !default; +$font-family-monospace: Consolas, "Liberation Mono", Courier, monospace !default; + +// We use these to define default font weights +$font-weight-normal: normal !default; +$font-weight-bold: bold !default; + +// We use these to control various global styles +$body-bg: #fff !default; +$body-font-color: #222 !default; +$body-font-family: $font-family-sans-serif !default; +$body-font-weight: $font-weight-normal !default; +$body-font-style: normal !default; + +// We use this to control font-smoothing +$font-smoothing: antialiased !default; + +// We use these to control text direction settings +$text-direction: ltr !default; +$default-float: left !default; +$opposite-direction: right !default; +@if $text-direction == ltr { + $default-float: left; + $opposite-direction: right; +} @else { + $default-float: right; + $opposite-direction: left; +} + +// We use these to make sure border radius matches unless we want it different. +$global-radius: 3px !default; +$global-rounded: 1000px !default; + +// We use these to control inset shadow shiny edges and depressions. +$shiny-edge-size: 0 1px 0 !default; +$shiny-edge-color: rgba(#fff, .5) !default; +$shiny-edge-active-color: rgba(#000, .2) !default; + +// We use this to control whether or not CSS classes come through in the gem files. +$include-html-classes: true !default; +$include-print-styles: true !default; +$include-html-global-classes: $include-html-classes !default; + +$column-gutter: rem-calc(30) !default; + +// Media Query Ranges +$small-range: (0, 40em) !default; +$medium-range: (40.063em, 64em) !default; +$large-range: (64.063em, 90em) !default; +$xlarge-range: (90.063em, 120em) !default; +$xxlarge-range: (120.063em, 99999999em) !default; + + +$screen: "only screen" !default; + +$landscape: "#{$screen} and (orientation: landscape)" !default; +$portrait: "#{$screen} and (orientation: portrait)" !default; + +$small-up: $screen !default; +$small-only: "#{$screen} and (max-width: #{upper-bound($small-range)})" !default; + +$medium-up: "#{$screen} and (min-width:#{lower-bound($medium-range)})" !default; +$medium-only: "#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})" !default; + +$large-up: "#{$screen} and (min-width:#{lower-bound($large-range)})" !default; +$large-only: "#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})" !default; + +$xlarge-up: "#{$screen} and (min-width:#{lower-bound($xlarge-range)})" !default; +$xlarge-only: "#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})" !default; + +$xxlarge-up: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)})" !default; +$xxlarge-only: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})" !default; + +// Legacy +$small: $medium-up; +$medium: $medium-up; +$large: $large-up; + + +//We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet +$cursor-auto-value: auto !default; +$cursor-crosshair-value: crosshair !default; +$cursor-default-value: default !default; +$cursor-pointer-value: pointer !default; +$cursor-help-value: help !default; +$cursor-text-value: text !default; + + +@include exports("global") { + + // Meta styles are included in all builds, as they are a dependancy of the Javascript. + // Used to provide media query values for javascript components. + // Forward slash placed around everything to convince PhantomJS to read the value. + + meta.foundation-version { + font-family: "/5.5.0/"; + } + + meta.foundation-mq-small { + font-family: "/" + unquote($small-up) + "/"; + width: lower-bound($small-range); + } + + meta.foundation-mq-small-only { + font-family: "/" + unquote($small-only) + "/"; + width: lower-bound($small-range); + } + + meta.foundation-mq-medium { + font-family: "/" + unquote($medium-up) + "/"; + width: lower-bound($medium-range); + } + + meta.foundation-mq-medium-only { + font-family: "/" + unquote($medium-only) + "/"; + width: lower-bound($medium-range); + } + + meta.foundation-mq-large { + font-family: "/" + unquote($large-up) + "/"; + width: lower-bound($large-range); + } + + meta.foundation-mq-large-only { + font-family: "/" + unquote($large-only) + "/"; + width: lower-bound($large-range); + } + + meta.foundation-mq-xlarge { + font-family: "/" + unquote($xlarge-up) + "/"; + width: lower-bound($xlarge-range); + } + + meta.foundation-mq-xlarge-only { + font-family: "/" + unquote($xlarge-only) + "/"; + width: lower-bound($xlarge-range); + } + + meta.foundation-mq-xxlarge { + font-family: "/" + unquote($xxlarge-up) + "/"; + width: lower-bound($xxlarge-range); + } + + meta.foundation-data-attribute-namespace { + font-family: #{$namespace}; + } + + @if $include-html-global-classes { + + // Must be 100% for off canvas to work + html, body { height: 100%; } + + // Set box-sizing globally to handle padding and border widths + *, + *:before, + *:after { + @include box-sizing(border-box); + } + + html, + body { font-size: $base-font-size; } + + // Default body styles + body { + background: $body-bg; + color: $body-font-color; + padding: 0; + margin: 0; + font-family: $body-font-family; + font-weight: $body-font-weight; + font-style: $body-font-style; + line-height: $base-line-height; // Set to $base-line-height to take on browser default of 150% + position: relative; + cursor: $cursor-auto-value; + } + + a:hover { cursor: $cursor-pointer-value; } + + // Grid Defaults to get images and embeds to work properly + img { max-width: 100%; height: auto; } + + img { -ms-interpolation-mode: bicubic; } + + #map_canvas, + .map_canvas { + img, + embed, + object { max-width: none !important; + } + } + + // Miscellaneous useful HTML classes + .left { float: left !important; } + .right { float: right !important; } + .clearfix { @include clearfix; } + + // Hide visually and from screen readers + .hide { + display: none !important; + visibility: hidden; + } + + // Hide visually and from screen readers, but maintain layout + .invisible { visibility: hidden; } + + // Font smoothing + // Antialiased font smoothing works best for light text on a dark background. + // Apply to single elements instead of globally to body. + // Note this only applies to webkit-based desktop browsers and Firefox 25 (and later) on the Mac. + .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } + + // Get rid of gap under images by making them display: inline-block; by default + img { + display: inline-block; + vertical-align: middle; + } + + // + // Global resets for forms + // + + // Make sure textarea takes on height automatically + textarea { height: auto; min-height: 50px; } + + // Make select elements 100% width by default + select { width: 100%; } + } +} diff --git a/_sass/foundation-components/_grid.scss b/_sass/foundation-components/_grid.scss new file mode 100644 index 0000000000..aa4e77cdef --- /dev/null +++ b/_sass/foundation-components/_grid.scss @@ -0,0 +1,289 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-grid-classes: $include-html-classes !default; +$include-xl-html-grid-classes: false !default; + +$row-width: rem-calc(1000) !default; +$total-columns: 12 !default; + +$last-child-float: $opposite-direction !default; + +// +// Grid Functions +// + +// Deprecated: We'll drop support for this in 5.1, use grid-calc() +@function gridCalc($colNumber, $totalColumns) { + @warn "gridCalc() is deprecated, use grid-calc()"; + @return grid-calc($colNumber, $totalColumns); +} + +// @FUNCTION +// $colNumber - Found in settings file +// $totalColumns - Found in settings file +@function grid-calc($colNumber, $totalColumns) { + @return percentage(($colNumber / $totalColumns)); +} + +// +// @mixins +// + +// For creating container, nested, and collapsed rows. +// +// +// $behavior - Any special behavior for this row? Default: false. Options: nest, collapse, nest-collapse, false. +@mixin grid-row($behavior: false) { + + // use @include grid-row(nest); to include a nested row + @if $behavior == nest { + width: auto; + margin-#{$default-float}: -($column-gutter/2); + margin-#{$opposite-direction}: -($column-gutter/2); + margin-top: 0; + margin-bottom: 0; + max-width: none; + } + + // use @include grid-row(collapse); to collapsed a container row margins + @else if $behavior == collapse { + width: 100%; + margin: 0; + max-width: $row-width; + } + + // use @include grid-row(nest-collapse); to collapse outer margins on a nested row + @else if $behavior == nest-collapse { + width: auto; + margin: 0; + max-width: none; + } + + // use @include grid-row; to use a container row + @else { + width: 100%; + margin-#{$default-float}: auto; + margin-#{$opposite-direction}: auto; + margin-top: 0; + margin-bottom: 0; + max-width: $row-width; + } + + // Clearfix for all rows + @include clearfix(); +} + +// Creates a column, should be used inside of a media query to control layouts +// +// $columns - The number of columns this should be +// $last-column - Is this the last column? Default: false. +// $center - Center these columns? Default: false. +// $offset - # of columns to offset. Default: false. +// $push - # of columns to push. Default: false. +// $pull - # of columns to pull. Default: false. +// $collapse - Get rid of gutter padding on column? Default: false. +// $float - Should this float? Default: true. Options: true, false, left, right. +@mixin grid-column( + $columns:false, + $last-column:false, + $center:false, + $offset:false, + $push:false, + $pull:false, + $collapse:false, + $float:true, + $position:false) { + + // If positioned for default .column, include relative position + // push and pull require position set + @if $position or $push or $pull { + position: relative; + } + + // If collapsed, get rid of gutter padding + @if $collapse { + padding-left: 0; + padding-right: 0; + } + + // Gutter padding whenever a column isn't set to collapse + // (use $collapse:null to do nothing) + @else if $collapse == false { + padding-left: ($column-gutter / 2); + padding-right: ($column-gutter / 2); + } + + // If a column number is given, calculate width + @if $columns { + width: grid-calc($columns, $total-columns); + + // If last column, float naturally instead of to the right + @if $last-column { float: $opposite-direction; } + } + + // Source Ordering, adds left/right depending on which you use. + @if $push { #{$default-float}: grid-calc($push, $total-columns); #{$opposite-direction}: auto; } + @if $pull { #{$opposite-direction}: grid-calc($pull, $total-columns); #{$default-float}: auto; } + + @if $float { + @if $float == left or $float == true { float: $default-float; } + @else if $float == right { float: $opposite-direction; } + @else { float: none; } + } + + // If centered, get rid of float and add appropriate margins + @if $center { + margin-#{$default-float}: auto; + margin-#{$opposite-direction}: auto; + float: none; + } + + // If offset, calculate appropriate margins + @if $offset { margin-#{$default-float}: grid-calc($offset, $total-columns) !important; } + +} + +// Create presentational classes for grid +// +// $size - Name of class to use, i.e. "large" will generate .large-1, .large-2, etc. +@mixin grid-html-classes($size) { + + @for $i from 0 through $total-columns - 1 { + .#{$size}-push-#{$i} { + @include grid-column($push:$i, $collapse:null, $float:false); + } + .#{$size}-pull-#{$i} { + @include grid-column($pull:$i, $collapse:null, $float:false); + } + } + + .column, + .columns { @include grid-column($columns:false, $position:true); } + + + @for $i from 1 through $total-columns { + .#{$size}-#{$i} { @include grid-column($columns:$i,$collapse:null,$float:false); } + } + + @for $i from 0 through $total-columns - 1 { + .#{$size}-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); } + } + + .#{$size}-reset-order { + margin-#{$default-float}: 0; + margin-#{$opposite-direction}: 0; + left: auto; + right: auto; + float: $default-float; + } + + .column.#{$size}-centered, + .columns.#{$size}-centered { @include grid-column($center:true, $collapse:null, $float:false); } + + .column.#{$size}-uncentered, + .columns.#{$size}-uncentered { + margin-#{$default-float}: 0; + margin-#{$opposite-direction}: 0; + float: $default-float; + } + + // Fighting [class*="column"] + [class*="column"]:last-child + .column.#{$size}-centered:last-child, + .columns.#{$size}-centered:last-child{ + float: none; + } + + // Fighting .column.-centered:last-child + .column.#{$size}-uncentered:last-child, + .columns.#{$size}-uncentered:last-child { + float: $default-float; + } + + .column.#{$size}-uncentered.opposite, + .columns.#{$size}-uncentered.opposite { + float: $opposite-direction; + } + + .row { + &.#{$size}-collapse { + > .column, + > .columns { @include grid-column($collapse:true, $float:false); } + + .row {margin-left:0; margin-right:0;} + } + &.#{$size}-uncollapse { + > .column, + > .columns { + @include grid-column; + } + } + } +} + +@include exports("grid") { + @if $include-html-grid-classes { + .row { + @include grid-row; + + &.collapse { + > .column, + > .columns { @include grid-column($collapse:true, $float:false); } + + .row {margin-left:0; margin-right:0;} + } + + .row { @include grid-row($behavior:nest); + &.collapse { @include grid-row($behavior:nest-collapse); } + } + } + + .column, + .columns { @include grid-column($columns:$total-columns); } + + [class*="column"] + [class*="column"]:last-child { float: $last-child-float; } + [class*="column"] + [class*="column"].end { float: $default-float; } + + @media #{$small-up} { + @include grid-html-classes($size:small); + } + + @media #{$medium-up} { + @include grid-html-classes($size:medium); + // Old push and pull classes + @for $i from 0 through $total-columns - 1 { + .push-#{$i} { + @include grid-column($push:$i, $collapse:null, $float:false); + } + .pull-#{$i} { + @include grid-column($pull:$i, $collapse:null, $float:false); + } + } + } + @media #{$large-up} { + @include grid-html-classes($size:large); + @for $i from 0 through $total-columns - 1 { + .push-#{$i} { + @include grid-column($push:$i, $collapse:null, $float:false); + } + .pull-#{$i} { + @include grid-column($pull:$i, $collapse:null, $float:false); + } + } + } + } + @if $include-xl-html-grid-classes { + @media #{$xlarge-up} { + @include grid-html-classes($size:xlarge); + } + @media #{$xxlarge-up} { + @include grid-html-classes($size:xxlarge); + } + } +} diff --git a/_sass/foundation-components/_icon-bar.scss b/_sass/foundation-components/_icon-bar.scss new file mode 100644 index 0000000000..c5c4889547 --- /dev/null +++ b/_sass/foundation-components/_icon-bar.scss @@ -0,0 +1,329 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + + +// @name +// @dependencies _global.scss + +$include-html-icon-bar-classes: $include-html-classes !default; + +// @variables + +// We use these to style the icon-bar and items +$icon-bar-bg: $oil !default; +$icon-bar-font-color: $white !default; +$icon-bar-font-color-hover: $icon-bar-font-color !default; +$icon-bar-font-size: 1rem !default; +$icon-bar-hover-color: $primary-color !default; +$icon-bar-icon-color: $white !default; +$icon-bar-icon-color-hover: $icon-bar-icon-color !default; +$icon-bar-icon-size: 1.875rem !default; +$icon-bar-image-width: 1.875rem !default; +$icon-bar-image-height: 1.875rem !default; +$icon-bar-active-color: $primary-color !default; +$icon-bar-item-padding: 1.25rem !default; + +// We use this to set default opacity and cursor for disabled icons. +$icon-bar-disabled-opacity: 0.7 !default; +$icon-bar-disabled-cursor: $cursor-default-value !default; + +// +// @mixins +// + +// We use this mixin to create the base styles for our Icon bar element. +// +@mixin icon-bar-base() { + + width: 100%; + font-size: 0; + display: inline-block; + + & > * { + text-align: center; + font-size: $icon-bar-font-size; + width: 25%; + margin: 0 auto; + display: block; + padding: $icon-bar-item-padding; + float: left; + + i, img { + display: block; + margin: 0 auto; + + & + label { + margin-top: .0625rem; + } + } + + i { + font-size: $icon-bar-icon-size; + vertical-align: middle; + } + + img { + width: $icon-bar-image-width; + height: $icon-bar-image-height; + } + } + + &.label-right > * { + + i, img { + margin: 0 .0625rem 0 0; + display: inline-block; + + & + label { + margin-top: 0; + } + } + + label { display: inline-block; } + } + + &.vertical.label-right > * { + text-align: left; + } + + &.vertical, &.small-vertical{ + height: 100%; + width: auto; + + .item { + width: auto; + margin: auto; + float: none; + } + } + + &.medium-vertical { + @media #{$medium-up} { + height: 100%; + width: auto; + + .item { + width: auto; + margin: auto; + float: none; + } + } + } + &.large-vertical { + @media #{$large-up} { + height: 100%; + width: auto; + + .item { + width: auto; + margin: auto; + float: none; + } + } + } +} + +// We use this mixin to create the size styles for icon bars. +@mixin icon-bar-size( + $padding: $icon-bar-item-padding, + $font-size: $icon-bar-font-size, + $icon-size: $icon-bar-icon-size, + $image-width: $icon-bar-image-width, + $image-height: $icon-bar-image-height) { + + & > * { + font-size: $font-size; + padding: $padding; + + i, img { + + & + label { + margin-top: .0625rem; + } + } + + i { + font-size: $icon-size; + } + + img { + width: $image-width; + height: $image-height; + } + } + +} + +@mixin icon-bar-style( + $bar-bg:$icon-bar-bg, + $bar-font-color:$icon-bar-font-color, + $bar-font-color-hover:$icon-bar-font-color-hover, + $bar-hover-color:$icon-bar-hover-color, + $bar-icon-color:$icon-bar-icon-color, + $bar-icon-color-hover:$icon-bar-icon-color-hover, + $bar-active-color:$icon-bar-active-color, + $base-style:true, + $disabled:false) { + + @if $base-style { + + background: $bar-bg; + + & > * { + label { color: $bar-font-color; } + + i { color: $bar-icon-color; } + } + + & > a:hover { + + background: $bar-hover-color; + + label { color: $bar-font-color-hover; } + + i { color: $bar-icon-color-hover; } + } + + & > a.active { + + background: $bar-active-color; + + label { color: $bar-font-color-hover; } + + i { color: $bar-icon-color-hover; } + } + } + @if $disabled { + .item.disabled { + opacity: $icon-bar-disabled-opacity; + cursor: $icon-bar-disabled-cursor; + >* { + opacity: $icon-bar-disabled-opacity; + cursor: $icon-bar-disabled-cursor; + } + } + } + +} + +// We use this to quickly create icon bars with a single mixin +// $height - The overall calculated height of the icon bar (horizontal) +// $bar-bg - the background color of the bar +// $bar-font-color - the font color +// $bar-hover-color - okay these are pretty obvious variables +// $bar-icon-color - maybe we could skip explaining them all? Okay this one does change icon color if you use an icon font +// $bar-active-color - the color of an active / hover state +// $base-style - Apply base styles? Default: true. +// $disabled - Allow disabled icons? Default: false. + +@mixin icon-bar( + $bar-bg:$icon-bar-bg, + $bar-font-color:$icon-bar-font-color, + $bar-font-color-hover:$icon-bar-font-color-hover, + $bar-hover-color:$icon-bar-hover-color, + $bar-icon-color:$icon-bar-icon-color, + $bar-icon-color-hover:$icon-bar-icon-color-hover, + $bar-active-color:$icon-bar-active-color, + $padding: $icon-bar-item-padding, + $font-size: $icon-bar-font-size, + $icon-size: $icon-bar-icon-size, + $image-width: $icon-bar-image-width, + $image-height: $icon-bar-image-height, + $base-style:true, + $disabled:false) { + @include icon-bar-base(); + @include icon-bar-size($padding, $font-size, $icon-size, $image-width, $image-height); + @include icon-bar-style($bar-bg, $bar-font-color, $bar-font-color-hover, $bar-hover-color, $bar-icon-color, $bar-icon-color-hover, $bar-active-color, $base-style, $disabled); +} + +@include exports("icon-bar") { + @if $include-html-icon-bar-classes { + .icon-bar { + @include icon-bar; + } + } +} + +@if $include-html-icon-bar-classes { + + // toolbar styles + + .icon-bar { + + // Counts + + &.two-up { + .item { width: 50%; } + &.vertical .item, &.small-vertical .item { width: auto; } + &.medium-vertical .item { + @media #{$medium-up} { + width: auto; + } + } + &.large-vertical .item { + @media #{$large-up} { + width: auto; + } + } + } + &.three-up { + .item { width: 33.3333%; } + &.vertical .item, &.small-vertical .item { width: auto; } + &.medium-vertical .item { + @media #{$medium-up} { + width: auto; + } + } + &.large-vertical .item { + @media #{$large-up} { + width: auto; + } + } + } + &.four-up { + .item { width: 25%; } + &.vertical .item, &.small-vertical .item { width: auto; } + &.medium-vertical .item { + @media #{$medium-up} { + width: auto; + } + } + &.large-vertical .item { + @media #{$large-up} { + width: auto; + } + } + } + &.five-up { + .item { width: 20%; } + &.vertical .item, &.small-vertical .item { width: auto; } + &.medium-vertical .item { + @media #{$medium-up} { + width: auto; + } + } + &.large-vertical .item { + @media #{$large-up} { + width: auto; + } + } + } + &.six-up { + .item { width: 16.66667%; } + &.vertical .item, &.small-vertical .item { width: auto; } + &.medium-vertical .item { + @media #{$medium-up} { + width: auto; + } + } + &.large-vertical .item { + @media #{$large-up} { + width: auto; + } + } + } + } +} diff --git a/_sass/foundation-components/_inline-lists.scss b/_sass/foundation-components/_inline-lists.scss new file mode 100644 index 0000000000..9ee162dfd4 --- /dev/null +++ b/_sass/foundation-components/_inline-lists.scss @@ -0,0 +1,57 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-inline-list-classes: $include-html-classes !default; + +// We use this to control the margins and padding of the inline list. +$inline-list-top-margin: 0 !default; +$inline-list-opposite-margin: 0 !default; +$inline-list-bottom-margin: rem-calc(17) !default; +$inline-list-default-float-margin: rem-calc(-22) !default; +$inline-list-default-float-list-margin: rem-calc(22) !default; + +$inline-list-padding: 0 !default; + +// We use this to control the overflow of the inline list. +$inline-list-overflow: hidden !default; + +// We use this to control the list items +$inline-list-display: block !default; + +// We use this to control any elements within list items +$inline-list-children-display: block !default; + +// +// @mixins +// +// We use this mixin to create inline lists +@mixin inline-list { + margin: $inline-list-top-margin auto $inline-list-bottom-margin auto; + margin-#{$default-float}: $inline-list-default-float-margin; + margin-#{$opposite-direction}: $inline-list-opposite-margin; + padding: $inline-list-padding; + list-style: none; + overflow: $inline-list-overflow; + + & > li { + list-style: none; + float: $default-float; + margin-#{$default-float}: $inline-list-default-float-list-margin; + display: $inline-list-display; + &>* { display: $inline-list-children-display; } + } +} + +@include exports("inline-list") { + @if $include-html-inline-list-classes { + .inline-list { + @include inline-list(); + } + } +} diff --git a/_sass/foundation-components/_joyride.scss b/_sass/foundation-components/_joyride.scss new file mode 100644 index 0000000000..37ac233561 --- /dev/null +++ b/_sass/foundation-components/_joyride.scss @@ -0,0 +1,222 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-joyride-classes: $include-html-classes !default; + +// Controlling default Joyride styles +$joyride-tip-bg: $oil !default; +$joyride-tip-default-width: 300px !default; +$joyride-tip-padding: rem-calc(18 20 24) !default; +$joyride-tip-border: solid 1px $charcoal !default; +$joyride-tip-radius: 4px !default; +$joyride-tip-position-offset: 22px !default; + +// Here, we're setting the tip font styles +$joyride-tip-font-color: $white !default; +$joyride-tip-font-size: rem-calc(14) !default; +$joyride-tip-header-weight: $font-weight-bold !default; + +// This changes the nub size +$joyride-tip-nub-size: 10px !default; + +// This adjusts the styles for the timer when its enabled +$joyride-tip-timer-width: 50px !default; +$joyride-tip-timer-height: 3px !default; +$joyride-tip-timer-color: $steel !default; + +// This changes up the styles for the close button +$joyride-tip-close-color: $monsoon !default; +$joyride-tip-close-size: 24px !default; +$joyride-tip-close-weight: $font-weight-normal !default; + +// When Joyride is filling the screen, we use this style for the bg +$joyride-screenfill: rgba(0,0,0,0.5) !default; + + +// We decided not to make a mixin for this because it relies on +// predefined classes to work properly. +@include exports("joyride") { + @if $include-html-joyride-classes { + + /* Foundation Joyride */ + .joyride-list { display: none; } + + /* Default styles for the container */ + .joyride-tip-guide { + display: none; + position: absolute; + background: $joyride-tip-bg; + color: $joyride-tip-font-color; + z-index: 101; + top: 0; + #{$default-float}: 2.5%; + font-family: inherit; + font-weight: $font-weight-normal; + width: 95%; + } + + .lt-ie9 .joyride-tip-guide { + max-width:800px; + #{$default-float}: 50%; + margin-#{$default-float}:-400px; + } + + .joyride-content-wrapper { + width: 100%; + + padding: $joyride-tip-padding; + + .button { margin-bottom: 0 !important; } + + .joyride-prev-tip { margin-right: 10px; } + } + + /* Add a little css triangle pip, older browser just miss out on the fanciness of it */ + .joyride-tip-guide { + .joyride-nub { + display: block; + position: absolute; + #{$default-float}: $joyride-tip-position-offset; + width: 0; + height: 0; + border: $joyride-tip-nub-size solid $joyride-tip-bg; + + &.top { + border-top-style: solid; + border-color: $joyride-tip-bg; + border-top-color: transparent !important; + border-#{$default-float}-color: transparent !important; + border-#{$opposite-direction}-color: transparent !important; + top: -($joyride-tip-nub-size*2); + } + &.bottom { + border-bottom-style: solid; + border-color: $joyride-tip-bg !important; + border-bottom-color: transparent !important; + border-#{$default-float}-color: transparent !important; + border-#{$opposite-direction}-color: transparent !important; + bottom: -($joyride-tip-nub-size*2); + } + + &.right { right: -($joyride-tip-nub-size*2); } + &.left { left: -($joyride-tip-nub-size*2); } + } + } + + /* Typography */ + .joyride-tip-guide h1, + .joyride-tip-guide h2, + .joyride-tip-guide h3, + .joyride-tip-guide h4, + .joyride-tip-guide h5, + .joyride-tip-guide h6 { + line-height: 1.25; + margin: 0; + font-weight: $joyride-tip-header-weight; + color: $joyride-tip-font-color; + } + .joyride-tip-guide p { + margin: rem-calc(0 0 18 0); + font-size: $joyride-tip-font-size; + line-height: 1.3; + } + + .joyride-timer-indicator-wrap { + width: $joyride-tip-timer-width; + height: $joyride-tip-timer-height; + border: $joyride-tip-border; + position: absolute; + #{$opposite-direction}: rem-calc(17); + bottom: rem-calc(16); + } + .joyride-timer-indicator { + display: block; + width: 0; + height: inherit; + background: $joyride-tip-timer-color; + } + + .joyride-close-tip { + position: absolute; + #{$opposite-direction}: 12px; + top: 10px; + color: $joyride-tip-close-color !important; + text-decoration: none; + font-size: $joyride-tip-close-size; + font-weight: $joyride-tip-close-weight; + line-height: .5 !important; + + &:hover, + &:focus { color: $smoke !important; } + } + + .joyride-modal-bg { + position: fixed; + height: 100%; + width: 100%; + background: transparent; + background: $joyride-screenfill; + z-index: 100; + display: none; + top: 0; + #{$default-float}: 0; + cursor: $cursor-pointer-value; + } + + .joyride-expose-wrapper { + background-color: $white; + position: absolute; + border-radius: 3px; + z-index: 102; + box-shadow: 0 0 15px $white; + } + + .joyride-expose-cover { + background: transparent; + border-radius: 3px; + position: absolute; + z-index: 9999; + top: 0; + left: 0; + } + + + /* Styles for screens that are at least 768px; */ + @media #{$small} { + .joyride-tip-guide { width: $joyride-tip-default-width; #{$default-float}: inherit; + .joyride-nub { + &.bottom { + border-color: $joyride-tip-bg !important; + border-bottom-color: transparent !important; + border-#{$default-float}-color: transparent !important; + border-#{$opposite-direction}-color: transparent !important; + bottom: -($joyride-tip-nub-size*2); + } + &.right { + border-color: $joyride-tip-bg !important; + border-top-color: transparent !important; + border-right-color: transparent !important; border-bottom-color: transparent !important; + top: $joyride-tip-position-offset; + left: auto; + right: -($joyride-tip-nub-size*2); + } + &.left { + border-color: $joyride-tip-bg !important; + border-top-color: transparent !important; + border-left-color: transparent !important; + border-bottom-color: transparent !important; + top: $joyride-tip-position-offset; + left: -($joyride-tip-nub-size*2); + right: auto; + } + } + } + } + } +} diff --git a/_sass/foundation-components/_keystrokes.scss b/_sass/foundation-components/_keystrokes.scss new file mode 100644 index 0000000000..adebd6b145 --- /dev/null +++ b/_sass/foundation-components/_keystrokes.scss @@ -0,0 +1,61 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-keystroke-classes: $include-html-classes !default; + +// We use these to control text styles. +$keystroke-font: "Consolas", "Menlo", "Courier", monospace !default; +$keystroke-font-size: inherit !default; +$keystroke-font-color: $jet !default; +$keystroke-font-color-alt: $white !default; +$keystroke-function-factor: -7% !default; + +// We use this to control keystroke padding. +$keystroke-padding: rem-calc(2 4 0) !default; + +// We use these to control background and border styles. +$keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor) !default; +$keystroke-border-style: solid !default; +$keystroke-border-width: 1px !default; +$keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor) !default; +$keystroke-radius: $global-radius !default; + +// +// @mixins +// +// We use this mixin to create keystroke styles. +// $bg - Default: $keystroke-bg || scale-color($white, $lightness: $keystroke-function-factor) !default; +@mixin keystroke($bg:$keystroke-bg) { + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + background-color: $bg; + border-color: scale-color($bg, $lightness: $keystroke-function-factor); + + // We adjust the font color based on the brightness of the background. + @if $bg-lightness > 70% { color: $keystroke-font-color; } + @else { color: $keystroke-font-color-alt; } + + border-style: $keystroke-border-style; + border-width: $keystroke-border-width; + margin: 0; + font-family: $keystroke-font; + font-size: $keystroke-font-size; + padding: $keystroke-padding; +} + +@include exports("keystroke") { + @if $include-html-keystroke-classes { + .keystroke, + kbd { + @include keystroke; + @include radius($keystroke-radius); + } + } +} diff --git a/_sass/foundation-components/_labels.scss b/_sass/foundation-components/_labels.scss new file mode 100644 index 0000000000..8d302d8692 --- /dev/null +++ b/_sass/foundation-components/_labels.scss @@ -0,0 +1,106 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-label-classes: $include-html-classes !default; + +// We use these to style the labels +$label-padding: rem-calc(4 8 4) !default; +$label-radius: $global-radius !default; + +// We use these to style the label text +$label-font-sizing: rem-calc(11) !default; +$label-font-weight: $font-weight-normal !default; +$label-font-color: $oil !default; +$label-font-color-alt: $white !default; +$label-font-family: $body-font-family !default; + +// +// @mixins +// +// We use this mixin to create a default label base. +@mixin label-base { + font-weight: $label-font-weight; + font-family: $label-font-family; + text-align: center; + text-decoration: none; + line-height: 1; + white-space: nowrap; + display: inline-block; + position: relative; + margin-bottom: auto; +} + +// @mixins +// +// We use this mixin to add label size styles. +// $padding - Used to determine label padding. Default: $label-padding || rem-calc(4 8 4) !default +// $text-size - Used to determine label text-size. Default: $text-size found in settings +@mixin label-size($padding:$label-padding, $text-size:$label-font-sizing) { + @if $padding { padding: $padding; } + @if $text-size { font-size: $text-size; } +} + +// @mixins +// +// We use this mixin to add label styles. +// $bg - Default: $primary-color (found in settings file) +// $radius - Default: false, Options: true, sets radius to $global-radius (found in settings file) +@mixin label-style($bg:$primary-color, $radius:false) { + + // We control which background color comes through + @if $bg { + + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + background-color: $bg; + + // We control the text color for you based on the background color. + @if $bg-lightness < 70% { color: $label-font-color-alt; } + @else { color: $label-font-color; } + } + + // We use this to control the radius on labels. + @if $radius == true { @include radius($label-radius); } + @else if $radius { @include radius($radius); } + +} + +// @mixins +// +// We use this to add close buttons to alerts +// $padding - Default: $label-padding, +// $text-size - Default: $label-font-sizing, +// $bg - Default: $primary-color(found in settings file) +// $radius - Default: false, Options: true which sets radius to $global-radius (found in settings file) +@mixin label($padding:$label-padding, $text-size:$label-font-sizing, $bg:$primary-color, $radius:false) { + + @include label-base; + @include label-size($padding, $text-size); + @include label-style($bg, $radius); +} + +@include exports("label") { + @if $include-html-label-classes { + .label { + @include label-base; + @include label-size; + @include label-style; + + &.radius { @include label-style(false, true); } + &.round { @include label-style(false, $radius:1000px); } + + &.alert { @include label-style($alert-color); } + &.warning { @include label-style($warning-color); } + &.success { @include label-style($success-color); } + &.secondary { @include label-style($secondary-color); } + &.info { @include label-style($info-color); } + } + } +} diff --git a/_sass/foundation-components/_magellan.scss b/_sass/foundation-components/_magellan.scss new file mode 100644 index 0000000000..fb10c7d1d7 --- /dev/null +++ b/_sass/foundation-components/_magellan.scss @@ -0,0 +1,34 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-magellan-classes: $include-html-classes !default; + +$magellan-bg: $white !default; +$magellan-padding: 10px !default; + +@include exports("magellan") { + @if $include-html-magellan-classes { + + #{data('magellan-expedition')}, #{data('magellan-expedition-clone')} { + background: $magellan-bg; + z-index: 50; + min-width: 100%; + padding: $magellan-padding; + + .sub-nav { + margin-bottom: 0; + dd { margin-bottom: 0; } + a { + line-height: 1.8em; + } + } + } + + } +} diff --git a/_sass/foundation-components/_offcanvas.scss b/_sass/foundation-components/_offcanvas.scss new file mode 100644 index 0000000000..8c86532039 --- /dev/null +++ b/_sass/foundation-components/_offcanvas.scss @@ -0,0 +1,515 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "type"; + +// Off Canvas Tab Bar Variables +$include-html-off-canvas-classes: $include-html-classes !default; + +$tabbar-bg: $oil !default; +$tabbar-height: rem-calc(45) !default; +$tabbar-icon-width: $tabbar-height !default; +$tabbar-line-height: $tabbar-height !default; +$tabbar-color: $white !default; +$tabbar-middle-padding: 0 rem-calc(10) !default; + +// Off Canvas Divider Styles +$tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%) !default; +$tabbar-right-section-border: $tabbar-left-section-border; + + +// Off Canvas Tab Bar Headers +$tabbar-header-color: $white !default; +$tabbar-header-weight: $font-weight-bold !default; +$tabbar-header-line-height: $tabbar-height !default; +$tabbar-header-margin: 0 !default; + +// Off Canvas Menu Variables +$off-canvas-width: rem-calc(250) !default; +$off-canvas-bg: $oil !default; +$off-canvas-bg-hover: scale-color($tabbar-bg, $lightness: -30%) !default; + +// Off Canvas Menu List Variables +$off-canvas-label-padding: 0.3rem rem-calc(15) !default; +$off-canvas-label-color: $aluminum !default; +$off-canvas-label-text-transform: uppercase !default; +$off-canvas-label-font-size: rem-calc(12) !default; +$off-canvas-label-font-weight: $font-weight-bold !default; +$off-canvas-label-bg: $tuatara !default; +$off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default; +$off-canvas-label-border-bottom: none !default; +$off-canvas-label-margin:0 !default; +$off-canvas-link-padding: rem-calc(10, 15) !default; +$off-canvas-link-color: rgba($white, 0.7) !default; +$off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default; +$off-canvas-back-bg: #444 !default; +$off-canvas-back-border-top: $off-canvas-label-border-top !default; +$off-canvas-back-border-bottom: $off-canvas-label-border-bottom !default; +$off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%) !default; +$off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default; +$off-canvas-back-hover-border-bottom: none !default; + +// Off Canvas Menu Icon Variables +$tabbar-menu-icon-color: $white !default; +$tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%) !default; + +$tabbar-menu-icon-text-indent: rem-calc(35) !default; +$tabbar-menu-icon-width: $tabbar-icon-width !default; +$tabbar-menu-icon-height: $tabbar-height !default; +$tabbar-menu-icon-padding: 0 !default; + +$tabbar-hamburger-icon-width: rem-calc(16) !default; +$tabbar-hamburger-icon-left: false !default; +$tabbar-hamburger-icon-top: false !default; +$tabbar-hamburger-icon-thickness: 1px !default; +$tabbar-hamburger-icon-gap: 6px !default; + +// Off Canvas Back-Link Overlay +$off-canvas-overlay-transition: background 300ms ease !default; +$off-canvas-overlay-cursor: pointer !default; +$off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5) !default; +$off-canvas-overlay-background: rgba($white, 0.2) !default; +$off-canvas-overlay-background-hover: rgba($white, 0.05) !default; + +// Transition Variables +$menu-slide: "transform 500ms ease" !default; + + +// MIXINS +// Remove transition flicker on phones +@mixin kill-flicker { + // -webkit-transform: translateZ(0x); + -webkit-backface-visibility: hidden; +} + +// Basic properties for the content wraps +@mixin wrap-base { + position: relative; + width: 100%; +} + +@mixin translate3d($tx,$ty,$tz) { + -ms-transform: translate($tx,$ty); + -webkit-transform: translate3d($tx,$ty,$tz); + -moz-transform: translate3d($tx,$ty,$tz); + -ms-transform: translate3d($tx,$ty,$tz); + -o-transform: translate3d($tx,$ty,$tz); + transform: translate3d($tx,$ty,$tz) +} + +// basic styles for off-canvas menu container +@mixin off-canvas-menu($position) { + @include kill-flicker; + * { @include kill-flicker; } + width: $off-canvas-width; + top: 0; + bottom: 0; + position: absolute; + overflow-x: hidden; + overflow-y: auto; + background: $off-canvas-bg; + z-index: 1001; + box-sizing: content-box; + transition: transform 500ms ease 0s; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + + @if $position == left { + @include translate3d(-100%,0,0); + left: 0; + } + @if $position == right { + @include translate3d(100%,0,0); + right: 0; + } +} + +// OFF CANVAS WRAP +// Wrap visible content and prevent scroll bars +@mixin off-canvas-wrap { + @include kill-flicker; + @include wrap-base; + overflow: hidden; + &.move-right, + &.move-left { min-height: 100%; -webkit-overflow-scrolling: touch; } +} + +// INNER WRAP +// Main content area that moves to reveal the off-canvas nav +@mixin inner-wrap { + // @include kill-flicker; + // removed for now till chrome fixes backface issue + @include wrap-base; + @include clearfix; + -webkit-transition: -webkit-#{$menu-slide}; + -moz-transition: -moz-#{$menu-slide}; + -ms-transition: -ms-#{$menu-slide}; + -o-transition: -o-#{$menu-slide}; + transition: #{$menu-slide}; +} + +// TAB BAR +// This is the tab bar base +@mixin tab-bar-base { + @include kill-flicker; + + // base styles + background: $tabbar-bg; + color: $tabbar-color; + height: $tabbar-height; + line-height: $tabbar-line-height; + + // make sure it's below the .exit-off-canvas link + position: relative; + // z-index: 999; + + // Typography + h1,h2,h3,h4,h5,h6 { + color: $tabbar-header-color; + font-weight: $tabbar-header-weight; + line-height: $tabbar-header-line-height; + margin: $tabbar-header-margin; + } + h1,h2,h3,h4 { font-size: $h5-font-size; } +} + +// SMALL SECTIONS +// These are small sections on the left and right that contain the off-canvas toggle buttons; +@mixin tabbar-small-section($position) { + width: $tabbar-icon-width; + height: $tabbar-height; + position: absolute; + top: 0; + @if $position == left { + border-right: $tabbar-left-section-border; + // box-shadow: 1px 0 0 scale-color($tabbar-bg, $lightness: 13%); + left: 0; + } + @if $position == right { + border-left: $tabbar-right-section-border; + // box-shadow: -1px 0 0 scale-color($tabbar-bg, $lightness: -50%); + right:0; + } +} + +@mixin tab-bar-section { + padding: $tabbar-middle-padding; + position: absolute; + text-align: center; + height: $tabbar-height; + top: 0; + @media #{$medium-up} { + &.left { text-align: left; } + &.right { text-align: right; } + } + + // still need to make these non-presentational + &.left { + left: 0; + right: $tabbar-icon-width; + } + &.right { + left: $tabbar-icon-width; + right: 0; + } + &.middle { + left: $tabbar-icon-width; + right: $tabbar-icon-width; + } +} + +// OFF CANVAS LIST +// This is the list of links in the off-canvas menu +@mixin off-canvas-list { + list-style-type: none; + padding:0; + margin:0; + + li { + label { + display: block; + padding: $off-canvas-label-padding; + color: $off-canvas-label-color; + text-transform: $off-canvas-label-text-transform; + font-size: $off-canvas-label-font-size; + font-weight: $off-canvas-label-font-weight; + background: $off-canvas-label-bg; + border-top: $off-canvas-label-border-top; + border-bottom: $off-canvas-label-border-bottom; + margin: $off-canvas-label-margin; + } + a { + display: block; + padding: $off-canvas-link-padding; + color: $off-canvas-link-color; + border-bottom: $off-canvas-link-border-bottom; + transition: background 300ms ease; + &:hover { + background: $off-canvas-bg-hover; + } + } + } + +} + +// BACK LINK +// This is an overlay that, when clicked, will toggle off the off canvas menu +@mixin back-link { + @include kill-flicker; + + transition: $off-canvas-overlay-transition; + cursor: $off-canvas-overlay-cursor; + box-shadow: $off-canvas-overlay-box-shadow; + + // fill the screen + display: block; + position: absolute; + background: $off-canvas-overlay-background; + top: 0; + bottom: 0; + left:0; + right:0; + z-index: 1002; + -webkit-tap-highlight-color: rgba(0,0,0,0); + + @media #{$medium-up} { + &:hover { + background: $off-canvas-overlay-background-hover; + } + } +} + +// +// DEFAULT CLASSES +// +@include exports("offcanvas") { + @if $include-html-off-canvas-classes { + + .off-canvas-wrap { @include off-canvas-wrap; } + .inner-wrap { @include inner-wrap; } + + .tab-bar { @include tab-bar-base; } + + .left-small { @include tabbar-small-section($position: left); } + .right-small { @include tabbar-small-section($position: right); } + + .tab-bar-section { @include tab-bar-section; } + + // MENU BUTTON + // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future. + .tab-bar .menu-icon { + text-indent: $tabbar-menu-icon-text-indent; + width: $tabbar-menu-icon-width; + height: $tabbar-menu-icon-height; + display: block; + padding: $tabbar-menu-icon-padding; + color: $tabbar-menu-icon-color; + position: relative; + transform: translate3d(0,0,0); + + // @include for the hamburger menu-icon + // + // Arguments as follows: ($width, $left, $top, $thickness, $gap, $color, $hover-color) + // $width - Width of hamburger icon in rem Default: $tabbar-hamburger-icon-width. + // $left - If false, icon will be centered horizontally || explicitly set value in rem Default: $tabbar-hamburger-icon-left= False + // $top - If false, icon will be centered vertically || explicitly set value in rem Default: = False + // $thickness - thickness of lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-thickness = 1px + // $gap - spacing between the lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-gap = 6px + // $color - icon color Default: $tabbar-menu-icon-color + // $hover-color - icon color when hovered Default: $tabbar-menu-icon-hover + // $offcanvas - Set to true + @include hamburger($tabbar-hamburger-icon-width, $tabbar-hamburger-icon-left, $tabbar-hamburger-icon-top, $tabbar-hamburger-icon-thickness, $tabbar-hamburger-icon-gap, $tabbar-menu-icon-color, $tabbar-menu-icon-hover, true) + } + + .left-off-canvas-menu { @include off-canvas-menu($position: left); } + .right-off-canvas-menu { @include off-canvas-menu($position: right); } + + ul.off-canvas-list { @include off-canvas-list; } + + + // ANIMATION CLASSES + // These classes are added with JS and trigger the actual animation. + .move-right { + > .inner-wrap { + @include translate3d($off-canvas-width,0,0); + } + .exit-off-canvas { @include back-link;} + } + + .move-left { + > .inner-wrap { + @include translate3d(-($off-canvas-width),0,0); + + } + .exit-off-canvas { @include back-link; } + } + .offcanvas-overlap { + .left-off-canvas-menu, .right-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; + } + .exit-off-canvas { @include back-link; } + } + .offcanvas-overlap-left { + .right-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; + } + .exit-off-canvas { @include back-link; } + } + .offcanvas-overlap-right { + .left-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; + } + .exit-off-canvas { @include back-link; } + } + + // Older browsers + .no-csstransforms { + .left-off-canvas-menu { left: -($off-canvas-width); } + .right-off-canvas-menu { right: -($off-canvas-width); } + + .move-left > .inner-wrap { right: $off-canvas-width; } + .move-right > .inner-wrap { left: $off-canvas-width; } + } + + } +} + +// +// Off-Canvas Submenu Classes +// +@mixin off-canvas-submenu($position) { + @include kill-flicker; + * { @include kill-flicker; } + width: $off-canvas-width; + top: 0; + bottom: 0; + position: absolute; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + background: $off-canvas-bg; + z-index: 1002; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + @if $position == left { + @include translate3d(-100%,0,0); + left: 0; + } + @if $position == right { + @include translate3d(100%,0,0); + right: 0; + } + -webkit-transition: -webkit-#{$menu-slide}; + -moz-transition: -moz-#{$menu-slide}; + -ms-transition: -ms-#{$menu-slide}; + -o-transition: -o-#{$menu-slide}; + transition: #{$menu-slide}; + + //back button style like label + .back > a { + padding: $off-canvas-label-padding; + color: $off-canvas-label-color; + text-transform: $off-canvas-label-text-transform; + font-weight: $off-canvas-label-font-weight; + background: $off-canvas-back-bg; + border-top: $off-canvas-back-border-top; + border-bottom: $off-canvas-back-border-bottom; + &:hover { + background: $off-canvas-back-hover-bg; + border-top: $off-canvas-back-hover-border-top; + border-bottom: $off-canvas-back-hover-border-bottom; + } + margin: $off-canvas-label-margin; + @if $position == right { + @if $text-direction == rtl { + &:before { + @include icon-double-arrows($position: left); + } + } @else { + &:after { + @include icon-double-arrows($position: right); + } + } + } + @if $position == left { + @if $text-direction == rtl { + &:after { + @include icon-double-arrows($position: right); + } + } @else { + &:before { + @include icon-double-arrows($position: left); + } + } + } + } +} +//Left double angle quote or Right double angle quote chars +@mixin icon-double-arrows ($position){ + @if $position == left { + content: "\AB"; + @if $text-direction == rtl { + margin-left: 0.5rem; + } @else { + margin-right: 0.5rem; + } + } + @if $position == right { + content: "\BB"; + @if $text-direction == rtl { + margin-right: 0.5rem; + } @else { + margin-left: 0.5rem; + } + } + display: inline; +} + +@if $include-html-off-canvas-classes { + .left-submenu { + @include off-canvas-submenu($position: left); + &.move-right, &.offcanvas-overlap-right, &.offcanvas-overlap { + @include translate3d(0%,0,0); + } + } + + .right-submenu { + @include off-canvas-submenu($position: right); + &.move-left, &.offcanvas-overlap-left, &.offcanvas-overlap { + @include translate3d(0%,0,0); + } + } + + @if $text-direction == rtl { + .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before { + @include icon-double-arrows($position: left); + } + .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after { + @include icon-double-arrows($position: right); + } + } @else { + .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after { + @include icon-double-arrows($position: right); + } + .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before { + @include icon-double-arrows($position: left); + } + } +} diff --git a/_sass/foundation-components/_orbit.scss b/_sass/foundation-components/_orbit.scss new file mode 100644 index 0000000000..3228d8a7a7 --- /dev/null +++ b/_sass/foundation-components/_orbit.scss @@ -0,0 +1,368 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// @variables +// +$include-html-orbit-classes: $include-html-classes !default; + +// We use these to control the caption styles +$orbit-container-bg: none !default; +$orbit-caption-bg: rgba(51,51,51, 0.8) !default; +$orbit-caption-font-color: $white !default; +$orbit-caption-font-size: rem-calc(14) !default; +$orbit-caption-position: "bottom" !default; // Supported values: "bottom", "under" +$orbit-caption-padding: rem-calc(10 14) !default; +$orbit-caption-height: auto !default; + +// We use these to control the left/right nav styles +$orbit-nav-bg: transparent !default; +$orbit-nav-bg-hover: rgba(0,0,0,0.3) !default; +$orbit-nav-arrow-color: $white !default; +$orbit-nav-arrow-color-hover: $white !default; + +// We use these to control the timer styles +$orbit-timer-bg: rgba(255,255,255,0.3) !default; +$orbit-timer-show-progress-bar: true !default; + +// We use these to control the bullet nav styles +$orbit-bullet-nav-color: $iron !default; +$orbit-bullet-nav-color-active: $aluminum !default; +$orbit-bullet-radius: rem-calc(9) !default; + +// We use these to controls the style of slide numbers +$orbit-slide-number-bg: rgba(0,0,0,0) !default; +$orbit-slide-number-font-color: $white !default; +$orbit-slide-number-padding: rem-calc(5) !default; + +// Graceful Loading Wrapper and preloader +$wrapper-class: "slideshow-wrapper" !default; +$preloader-class: "preloader" !default; + +// Hide controls on small +$orbit-nav-hide-for-small: true !default; +$orbit-bullet-hide-for-small: true !default; +$orbit-timer-hide-for-small: true !default; + + +@include exports("orbit") { + @if $include-html-orbit-classes { + + @-webkit-keyframes rotate { + from { -webkit-transform: rotate(0deg); } + to { -webkit-transform: rotate(360deg); } + } + @-moz-keyframes rotate { + from { -moz-transform: rotate(0deg); } + to { -moz-transform: rotate(360deg); } + } + @-o-keyframes rotate { + from { -o-transform: rotate(0deg); } + to { -o-transform: rotate(360deg); } + } + @keyframes rotate { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } + } + + /* Orbit Graceful Loading */ + .#{$wrapper-class} { + position: relative; + + ul { + // Prevent bullets showing before .orbit-container is loaded + list-style-type: none; + margin: 0; + + // Hide all list items + li, + li .orbit-caption { display: none; } + + // ...except for the first one + li:first-child { display: block; } + } + + .orbit-container { background-color: transparent; + + // Show images when .orbit-container is loaded + li { display: block; + + .orbit-caption { display: block; } + } + .orbit-bullets li { + display: inline-block; + } + } + + // Orbit preloader + .#{$preloader-class} { + display: block; + width: 40px; + height: 40px; + position: absolute; + top: 50%; + left: 50%; + margin-top: -20px; + margin-left: -20px; + border: solid 3px; + border-color: $charcoal $white; + @include radius(1000px); + animation-name: rotate; + animation-duration: 1.5s; + animation-iteration-count: infinite; + animation-timing-function: linear; + } + } + + + .orbit-container { + overflow: hidden; + width: 100%; + position: relative; + background: $orbit-container-bg; + + .orbit-slides-container { + list-style: none; + margin: 0; + padding: 0; + position: relative; + + // Prevents images (and captions) from disappearing after first rotation on Chrome for Android + -webkit-transform: translateZ(0); + + img { display: block; max-width: 100%; } + + &>* { + position: absolute; + top: 0; + width: 100%; + @if $text-direction == rtl { + margin-right: 100%; + } + @else { + margin-left: 100%; + } + + &:first-child { + @if $text-direction == rtl { + margin-right: 0; + } + @else { + margin-left: 0; + } + } + + .orbit-caption { + @if $orbit-caption-position == "bottom" { + position: absolute; + bottom: 0; + } @else if $orbit-caption-position == "under" { + position: relative; + } + + background-color: $orbit-caption-bg; + color: $orbit-caption-font-color; + width: 100%; + padding: $orbit-caption-padding; + font-size: $orbit-caption-font-size; + } + } + } + + .orbit-slide-number { + position: absolute; + top: 10px; + #{$default-float}: 10px; + font-size: 12px; + span { font-weight: 700; padding: $orbit-slide-number-padding;} + color: $orbit-slide-number-font-color; + background: $orbit-slide-number-bg; + z-index: 10; + } + + .orbit-timer { + position: absolute; + top: 12px; + #{$opposite-direction}: 10px; + height: 6px; + width: 100px; + z-index: 10; + .orbit-progress { + @if $orbit-timer-show-progress-bar { + height: 3px; + background-color: $orbit-timer-bg; + display: block; + width: 0; + position: relative; + right: 20px; + top: 5px; + } + } + + // Play button + & > span { + display: none; + position: absolute; + top: 0; + #{$opposite-direction}: 0; + width: 11px; + height: 14px; + border: solid 4px $white; + border-top: none; + border-bottom: none; + } + + // Pause button + &.paused { + & > span { + #{$opposite-direction}: -4px; + top: 0; + width: 11px; + height: 14px; + border: inset 8px; + border-left-style: solid; + border-color: transparent; + border-left-color: $white; + &.dark { + border-left-color: $oil; + } + } + } + } + + + + &:hover .orbit-timer > span { display: block; } + + // Let's get those controls to be right in the center on each side + .orbit-prev, + .orbit-next { + position: absolute; + top: 45%; + margin-top: -25px; + width: 36px; + height: 60px; + line-height: 50px; + color: white; + background-color: $orbit-nav-bg; + text-indent: -9999px !important; + z-index: 10; + + &:hover { + background-color: $orbit-nav-bg-hover; + } + + & > span { + position: absolute; + top: 50%; + margin-top: -10px; + display: block; + width: 0; + height: 0; + border: inset 10px; + } + } + .orbit-prev { #{$default-float}: 0; + & > span { + border-#{$opposite-direction}-style: solid; + border-color: transparent; + border-#{$opposite-direction}-color: $orbit-nav-arrow-color; + } + &:hover > span { + border-#{$opposite-direction}-color: $orbit-nav-arrow-color-hover; + } + } + .orbit-next { #{$opposite-direction}: 0; + & > span { + border-color: transparent; + border-#{$default-float}-style: solid; + border-#{$default-float}-color: $orbit-nav-arrow-color; + #{$default-float}: 50%; + margin-#{$default-float}: -4px; + } + &:hover > span { + border-#{$default-float}-color: $orbit-nav-arrow-color-hover; + } + } + } + + .orbit-bullets-container { text-align: center; } + .orbit-bullets { + margin: 0 auto 30px auto; + overflow: hidden; + position: relative; + top: 10px; + float: none; + text-align: center; + display: block; + + li { + cursor:pointer; + display: inline-block; + width: $orbit-bullet-radius; + height: $orbit-bullet-radius; + background: $orbit-bullet-nav-color; + // float: $default-float; + float: none; + margin-#{$opposite-direction}: 6px; + @include radius(1000px); + + &.active { + background: $orbit-bullet-nav-color-active; + } + + &:last-child { margin-#{$opposite-direction}: 0; } + } + } + + .touch { + .orbit-container { + .orbit-prev, + .orbit-next { display: none; } + } + + .orbit-bullets { display: none; } + } + + + @media #{$medium-up} { + + .touch { + .orbit-container { + .orbit-prev, + .orbit-next { display: inherit; } + } + + .orbit-bullets { display: block; } + } + + } + + @media #{$small-only} { + .orbit-stack-on-small { + .orbit-slides-container {height: auto !important;} + .orbit-slides-container > * { + position: relative; + margin:0 !important; + opacity:1 !important; + } + + .orbit-slide-number { + display: none; + } + } + + @if $orbit-timer-hide-for-small { + .orbit-timer{display: none;} + } + @if $orbit-nav-hide-for-small { + .orbit-next,.orbit-prev{display: none;} + } + @if $orbit-bullet-hide-for-small { + .orbit-bullets{display: none;} + } + } + } +} diff --git a/_sass/foundation-components/_pagination.scss b/_sass/foundation-components/_pagination.scss new file mode 100644 index 0000000000..da6aada971 --- /dev/null +++ b/_sass/foundation-components/_pagination.scss @@ -0,0 +1,162 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-pagination-classes: $include-html-classes !default; + +// We use these to control the pagination container +$pagination-height: rem-calc(24) !default; +$pagination-margin: rem-calc(-5) !default; + +// We use these to set the list-item properties +$pagination-li-float: $default-float !default; +$pagination-li-height: rem-calc(24) !default; +$pagination-li-font-color: $jet !default; +$pagination-li-font-size: rem-calc(14) !default; +$pagination-li-margin: rem-calc(5) !default; + +// We use these for the pagination anchor links +$pagination-link-pad: rem-calc(1 10 1) !default; +$pagination-link-font-color: $aluminum !default; +$pagination-link-active-bg: scale-color($white, $lightness: -10%) !default; + +// We use these for disabled anchor links +$pagination-link-unavailable-cursor: default !default; +$pagination-link-unavailable-font-color: $aluminum !default; +$pagination-link-unavailable-bg-active: transparent !default; + +// We use these for currently selected anchor links +$pagination-link-current-background: $primary-color !default; +$pagination-link-current-font-color: $white !default; +$pagination-link-current-font-weight: $font-weight-bold !default; +$pagination-link-current-cursor: default !default; +$pagination-link-current-active-bg: $primary-color !default; + +// @mixins +// +// Style the pagination container. Currently only used when centering elements. +// $center - Default: false, Options: true +@mixin pagination-container($center:false) { + @if $center { text-align: center; } +} + +// @mixins +// Style unavailable list items +@mixin pagination-unavailable-item { + a, button { + cursor: $pagination-link-unavailable-cursor; + color: $pagination-link-unavailable-font-color; + } + &:hover a, + & a:focus, + + &:hover button, + & button:focus + { background: $pagination-link-unavailable-bg-active; } +} +// @mixins +// Style the current list item. Do not assume that the current item has +// an anchor element. +// $has-anchor - Default: true, Options: false +@mixin pagination-current-item($has-anchor: true) { + @if $has-anchor { + a, button { + background: $pagination-link-current-background; + color: $pagination-link-current-font-color; + font-weight: $pagination-link-current-font-weight; + cursor: $pagination-link-current-cursor; + + &:hover, + &:focus { background: $pagination-link-current-active-bg; } + } + } @else { + height: auto; + padding: $pagination-link-pad; + background: $pagination-link-current-background; + color: $pagination-link-current-font-color; + font-weight: $pagination-link-current-font-weight; + cursor: $pagination-link-current-cursor; + @include radius; + + &:hover, + &:focus { background: $pagination-link-current-active-bg; } + } +} + +// @mixins +// +// We use this mixin to set the properties for the creating Foundation pagination +// $center - Left or center align the li elements. Default: false +// $base-style - Sets base styles for pagination. Default: true, Options: false +// $use-default-classes - Makes unavailable & current classes available for use. Default: true +@mixin pagination($center:false, $base-style:true, $use-default-classes:true) { + + @if $base-style { + display: block; + min-height: $pagination-height; + margin-#{$default-float}: $pagination-margin; + + li { + height: $pagination-li-height; + color: $pagination-li-font-color; + font-size: $pagination-li-font-size; + margin-#{$default-float}: $pagination-li-margin; + + a, button { + display: block; + padding: $pagination-link-pad; + color: $pagination-link-font-color; + background: none; + @include radius; + font-weight: normal; + font-size: 1em; + line-height: inherit; + @include single-transition(background-color); + } + + &:hover a, + a:focus, + &:hover button, + button:focus + { background: $pagination-link-active-bg; } + + @if $use-default-classes { + &.unavailable { @include pagination-unavailable-item(); } + &.current { @include pagination-current-item(); } + } + } + } + + // Left or center align the li elements + li { + @if $center { + float: none; + display: inline-block; + } @else { + float: $pagination-li-float; + display: block; + } + } +} + +@include exports("pagination") { + @if $include-pagination-classes { + ul.pagination { + @include pagination; + } + + /* Pagination centred wrapper */ + .pagination-centered { + @include pagination-container(true); + + ul.pagination { + @include pagination(true, false); + } + } + } +} diff --git a/_sass/foundation-components/_panels.scss b/_sass/foundation-components/_panels.scss new file mode 100644 index 0000000000..b3018e32e0 --- /dev/null +++ b/_sass/foundation-components/_panels.scss @@ -0,0 +1,101 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-panel-classes: $include-html-classes !default; + +// We use these to control the background and border styles +$panel-bg: scale-color($white, $lightness: -5%) !default; +$panel-border-style: solid !default; +$panel-border-size: 1px !default; + +// We use this % to control how much we darken things on hover +$panel-function-factor: -11% !default; +$panel-border-color: scale-color($panel-bg, $lightness: $panel-function-factor) !default; + +// We use these to set default inner padding and bottom margin +$panel-margin-bottom: rem-calc(20) !default; +$panel-padding: rem-calc(20) !default; + +// We use these to set default font colors +$panel-font-color: $oil !default; +$panel-font-color-alt: $white !default; + +$panel-header-adjust: true !default; +$callout-panel-link-color: $primary-color !default; +$callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightness: -14%) !default; +// +// @mixins +// +// We use this mixin to create panels. +// $bg - Sets the panel background color. Default: $panel-pg || scale-color($white, $lightness: -5%) !default +// $padding - Sets the panel padding amount. Default: $panel-padding || rem-calc(20) +// $adjust - Sets the font color based on the darkness of the bg & resets header line-heights for panels. Default: $panel-header-adjust || true +@mixin panel($bg:$panel-bg, $padding:$panel-padding, $adjust:$panel-header-adjust) { + + @if $bg { + $bg-lightness: lightness($bg); + + border-style: $panel-border-style; + border-width: $panel-border-size; + border-color: scale-color($bg, $lightness: $panel-function-factor); + margin-bottom: $panel-margin-bottom; + padding: $padding; + + background: $bg; + @if $bg-lightness >= 50% { color: $panel-font-color; } + @else { color: $panel-font-color-alt; } + + // Respect the padding, fool. + &>:first-child { margin-top: 0; } + &>:last-child { margin-bottom: 0; } + + @if $adjust { + // We set the font color based on the darkness of the bg. + @if $bg-lightness >= 50% { + h1,h2,h3,h4,h5,h6,p,li,dl { color: $panel-font-color; } + } + @else { + h1,h2,h3,h4,h5,h6,p,li,dl { color: $panel-font-color-alt; } + } + + // reset header line-heights for panels + h1,h2,h3,h4,h5,h6 { + line-height: 1; margin-bottom: rem-calc(20) / 2; + &.subheader { line-height: 1.4; } + } + } + } +} + +@include exports("panel") { + @if $include-html-panel-classes { + + /* Panels */ + .panel { @include panel; + + &.callout { + @include panel(scale-color($primary-color, $lightness: 94%)); + a:not(.button) { + color: $callout-panel-link-color; + + &:hover, + &:focus { + color: $callout-panel-link-color-hover; + } + } + } + + &.radius { + @include radius; + } + + } + + } +} diff --git a/_sass/foundation-components/_pricing-tables.scss b/_sass/foundation-components/_pricing-tables.scss new file mode 100644 index 0000000000..97b14c444c --- /dev/null +++ b/_sass/foundation-components/_pricing-tables.scss @@ -0,0 +1,150 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-pricing-classes: $include-html-classes !default; + +// We use this to control the border color +$price-table-border: solid 1px $gainsboro !default; + +// We use this to control the bottom margin of the pricing table +$price-table-margin-bottom: rem-calc(20) !default; + +// We use these to control the title styles +$price-title-bg: $oil !default; +$price-title-padding: rem-calc(15 20) !default; +$price-title-align: center !default; +$price-title-color: $smoke !default; +$price-title-weight: $font-weight-normal !default; +$price-title-size: rem-calc(16) !default; +$price-title-font-family: $body-font-family !default; + +// We use these to control the price styles +$price-money-bg: $vapor !default; +$price-money-padding: rem-calc(15 20) !default; +$price-money-align: center !default; +$price-money-color: $oil !default; +$price-money-weight: $font-weight-normal !default; +$price-money-size: rem-calc(32) !default; +$price-money-font-family: $body-font-family !default; + + +// We use these to control the description styles +$price-bg: $white !default; +$price-desc-color: $monsoon !default; +$price-desc-padding: rem-calc(15) !default; +$price-desc-align: center !default; +$price-desc-font-size: rem-calc(12) !default; +$price-desc-weight: $font-weight-normal !default; +$price-desc-line-height: 1.4 !default; +$price-desc-bottom-border: dotted 1px $gainsboro !default; + +// We use these to control the list item styles +$price-item-color: $oil !default; +$price-item-padding: rem-calc(15) !default; +$price-item-align: center !default; +$price-item-font-size: rem-calc(14) !default; +$price-item-weight: $font-weight-normal !default; +$price-item-bottom-border: dotted 1px $gainsboro !default; + +// We use these to control the CTA area styles +$price-cta-bg: $white !default; +$price-cta-align: center !default; +$price-cta-padding: rem-calc(20 20 0) !default; + +// @mixins +// +// We use this to create the container element for the pricing tables +@mixin pricing-table-container { + border: $price-table-border; + margin-#{$default-float}: 0; + margin-bottom: $price-table-margin-bottom; + + & * { + list-style: none; + line-height: 1; + } +} +// @mixins +// +// We use this mixin to create the pricing table title styles +@mixin pricing-table-title { + background-color: $price-title-bg; + padding: $price-title-padding; + text-align: $price-title-align; + color: $price-title-color; + font-weight: $price-title-weight; + font-size: $price-title-size; + font-family: $price-title-font-family; +} + +// @mixins +// +// We use this mixin to control the pricing table price styles +@mixin pricing-table-price { + background-color: $price-money-bg; + padding: $price-money-padding; + text-align: $price-money-align; + color: $price-money-color; + font-weight: $price-money-weight; + font-size: $price-money-size; + font-family: $price-money-font-family; +} + +// @mixins +// +// We use this mixin to create the description styles for the pricing table +@mixin pricing-table-description { + background-color: $price-bg; + padding: $price-desc-padding; + text-align: $price-desc-align; + color: $price-desc-color; + font-size: $price-desc-font-size; + font-weight: $price-desc-weight; + line-height: $price-desc-line-height; + border-bottom: $price-desc-bottom-border; +} + +// @mixins +// +// We use this mixin to style the bullet items in the pricing table +@mixin pricing-table-bullet { + background-color: $price-bg; + padding: $price-item-padding; + text-align: $price-item-align; + color: $price-item-color; + font-size: $price-item-font-size; + font-weight: $price-item-weight; + border-bottom: $price-item-bottom-border; +} + +// @mixins +// +// We use this mixin to style the CTA area of the pricing tables +@mixin pricing-table-cta { + background-color: $price-cta-bg; + text-align: $price-cta-align; + padding: $price-cta-padding; +} + +@include exports("pricing-table") { + @if $include-html-pricing-classes { + + /* Pricing Tables */ + .pricing-table { + @include pricing-table-container; + + .title { @include pricing-table-title; } + .price { @include pricing-table-price; } + .description { @include pricing-table-description; } + .bullet-item { @include pricing-table-bullet; } + .cta-button { @include pricing-table-cta; } + } + + } +} diff --git a/_sass/foundation-components/_progress-bars.scss b/_sass/foundation-components/_progress-bars.scss new file mode 100644 index 0000000000..974a710d36 --- /dev/null +++ b/_sass/foundation-components/_progress-bars.scss @@ -0,0 +1,79 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-media-classes: $include-html-classes !default; + +// We use this to set the progress bar height +$progress-bar-height: rem-calc(25) !default; +$progress-bar-color: $vapor !default; + +// We use these to control the border styles +$progress-bar-border-color: scale-color($white, $lightness: 20%) !default; +$progress-bar-border-size: 1px !default; +$progress-bar-border-style: solid !default; +$progress-bar-border-radius: $global-radius !default; + +// We use these to control the margin & padding +$progress-bar-pad: rem-calc(2) !default; +$progress-bar-margin-bottom: rem-calc(10) !default; + +// We use these to set the meter colors +$progress-meter-color: $primary-color !default; +$progress-meter-secondary-color: $secondary-color !default; +$progress-meter-success-color: $success-color !default; +$progress-meter-alert-color: $alert-color !default; + +// @mixins +// +// We use this to set up the progress bar container +@mixin progress-container { + background-color: $progress-bar-color; + height: $progress-bar-height; + border: $progress-bar-border-size $progress-bar-border-style $progress-bar-border-color; + padding: $progress-bar-pad; + margin-bottom: $progress-bar-margin-bottom; +} + +// @mixins +// +// $bg - Default: $progress-meter-color || $primary-color +@mixin progress-meter($bg:$progress-meter-color) { + background: $bg; + height: 100%; + display: block; +} + + +@include exports("progress-bar") { + @if $include-html-media-classes { + + /* Progress Bar */ + .progress { + @include progress-container; + + // Meter + .meter { + @include progress-meter; + } + &.secondary .meter { @include progress-meter($bg:$progress-meter-secondary-color); } + &.success .meter { @include progress-meter($bg:$progress-meter-success-color); } + &.alert .meter { @include progress-meter($bg:$progress-meter-alert-color); } + + &.radius { @include radius($progress-bar-border-radius); + .meter { @include radius($progress-bar-border-radius - 1); } + } + + &.round { @include radius(1000px); + .meter { @include radius(999px); } + } + + } + + } +} diff --git a/_sass/foundation-components/_range-slider.scss b/_sass/foundation-components/_range-slider.scss new file mode 100644 index 0000000000..30203eab8c --- /dev/null +++ b/_sass/foundation-components/_range-slider.scss @@ -0,0 +1,168 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @name _range-slider.scss +// @dependencies _global.scss +// + +// +// @variables +// + +$include-html-range-slider-classes: $include-html-classes !default; + +// These variabels define the slider bar styles +$range-slider-bar-width: 100% !default; +$range-slider-bar-height: rem-calc(16) !default; + +$range-slider-bar-border-width: 1px !default; +$range-slider-bar-border-style: solid !default; +$range-slider-bar-border-color: $gainsboro !default; +$range-slider-radius: $global-radius !default; +$range-slider-round: $global-rounded !default; +$range-slider-bar-bg-color: $ghost !default; +$range-slider-active-segment-bg-color: scale-color($secondary-color, $lightness: -1%) !default; + +// Vertical bar styles +$range-slider-vertical-bar-width: rem-calc(16) !default; +$range-slider-vertical-bar-height: rem-calc(200) !default; + +// These variabels define the slider handle styles +$range-slider-handle-width: rem-calc(32) !default; +$range-slider-handle-height: rem-calc(22) !default; +$range-slider-handle-position-top: rem-calc(-5) !default; +$range-slider-handle-bg-color: $primary-color !default; +$range-slider-handle-border-width: 1px !default; +$range-slider-handle-border-style: solid !default; +$range-slider-handle-border-color: none !default; +$range-slider-handle-radius: $global-radius !default; +$range-slider-handle-round: $global-rounded !default; +$range-slider-handle-bg-hover-color: scale-color($primary-color, $lightness: -12%) !default; +$range-slider-handle-cursor: pointer !default; + +$range-slider-disabled-opacity: 0.7 !default; + +// +// @mixins +// + +@mixin range-slider-bar-base($vertical: false) { + display: block; + position: relative; + width: $range-slider-bar-width; + height: $range-slider-bar-height; + border: $range-slider-bar-border-width $range-slider-bar-border-style $range-slider-bar-border-color; + margin: rem-calc(20 0); + -ms-touch-action: none; + touch-action: none; + @if $vertical == true { + display: inline-block; + width: $range-slider-vertical-bar-width; + height: $range-slider-vertical-bar-height; + } +} +@mixin range-slider-bar-style( + $bg: true, + $radius: false, + $round: false, + $disabled: false) { + @if $bg == true { background: $range-slider-bar-bg-color; } + @if $radius == true { @include radius($range-slider-radius); } + @if $round == true { @include radius($range-slider-round); } + @if $disabled == true { + cursor: $cursor-default-value; + opacity: $range-slider-disabled-opacity; + } +} + +@mixin range-slider-bar( + $bg: $range-slider-bar-bg-color, + $radius:false) { + @include range-slider-bar-base; + @include range-slider-bar-style; +} + +@mixin range-slider-handle-base() { + display: inline-block; + position: absolute; + z-index: 1; + top: $range-slider-handle-position-top; + width: $range-slider-handle-width; + height: $range-slider-handle-height; + border: $range-slider-handle-border-width $range-slider-handle-border-style $range-slider-handle-border-color; + cursor: $range-slider-handle-cursor; + + // This removes the 300ms touch delay on Windows 8 + -ms-touch-action: manipulation; + touch-action: manipulation; +} +@mixin range-slider-handle-style( + $bg: true, + $radius: false, + $round: false, + $disabled: false) { + @if $bg == true { background: $range-slider-handle-bg-color; } + @if $radius == true { @include radius($range-slider-radius); } + @if $round == true { @include radius($range-slider-round); } + @if $disabled == true { + cursor: $cursor-default-value; + opacity: $range-slider-disabled-opacity; + } + &:hover { + background: $range-slider-handle-bg-hover-color; + } +} +@mixin range-slider-handle() { + @include range-slider-handle-base; + @include range-slider-handle-style; +} + +// CSS Generation +@include exports("range-slider-bar") { + @if $include-html-range-slider-classes { + .range-slider { + @include range-slider-bar-base; + @include range-slider-bar-style($bg:true, $radius:false); + &.vertical-range { + @include range-slider-bar-base($vertical: true); + .range-slider-handle { + margin-top: 0; + margin-#{$default-float}: -($range-slider-handle-width / 4); + position: absolute; + bottom: -($range-slider-vertical-bar-height - $range-slider-handle-width); + } + .range-slider-active-segment { + width: $range-slider-bar-height - rem-calc((strip-unit($range-slider-bar-border-width) * 2)); + height: auto; + bottom: 0; + } + } + &.radius { + @include range-slider-bar-style($radius:true); + .range-slider-handle { @include range-slider-handle-style($radius: true); } + } + &.round { + @include range-slider-bar-style($round:true); + .range-slider-handle { @include range-slider-handle-style($round: true); } + } + &.disabled, &[disabled] { + @include range-slider-bar-style($disabled:true); + .range-slider-handle { @include range-slider-handle-style($disabled: true); } + } + } + .range-slider-active-segment { + display: inline-block; + position: absolute; + height: $range-slider-bar-height - rem-calc((strip-unit($range-slider-bar-border-width) * 2)); + background: $range-slider-active-segment-bg-color; + } + .range-slider-handle { + @include range-slider-handle-base; + @include range-slider-handle-style($bg:true, $radius: false); + } + } +} diff --git a/_sass/foundation-components/_reveal.scss b/_sass/foundation-components/_reveal.scss new file mode 100644 index 0000000000..140173fe93 --- /dev/null +++ b/_sass/foundation-components/_reveal.scss @@ -0,0 +1,223 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "grid"; + +// +// @name _reveal.scss +// @dependencies _global.scss +// + +$include-html-reveal-classes: $include-html-classes !default; + +// We use these to control the style of the reveal overlay. +$reveal-overlay-bg: rgba($black, .45) !default; +$reveal-overlay-bg-old: $black !default; + +// We use these to control the style of the modal itself. +$reveal-modal-bg: $white !default; +$reveal-position-top: rem-calc(100) !default; +$reveal-default-width: 80% !default; +$reveal-max-width: $row-width !default; +$reveal-modal-padding: rem-calc(20) !default; +$reveal-box-shadow: 0 0 10px rgba($black,.4) !default; + +// We use these to style the reveal close button +$reveal-close-font-size: rem-calc(40) !default; +$reveal-close-top: rem-calc(10) !default; +$reveal-close-side: rem-calc(22) !default; +$reveal-close-color: $base !default; +$reveal-close-weight: $font-weight-bold !default; + +// We use this to set the default radius used throughout the core. +$reveal-radius: $global-radius !default; +$reveal-round: $global-rounded !default; + +// We use these to control the modal border +$reveal-border-style: solid !default; +$reveal-border-width: 1px !default; +$reveal-border-color: $steel !default; + +$reveal-modal-class: "reveal-modal" !default; +$close-reveal-modal-class: "close-reveal-modal" !default; + +// +// @mixins +// + +// We use this to create the reveal background overlay styles +@mixin reveal-bg( $include-z-index-value: true ) { + //position: fixed; + position: absolute; // allows modal background to extend beyond window position + top: 0; + bottom: 0; + left: 0; + right: 0; + background: $reveal-overlay-bg-old; // Autoprefixer should be used to avoid such variables needed when Foundation for Sites can do so in the near future. + background: $reveal-overlay-bg; + z-index: if( $include-z-index-value, 1004, auto ); + display: none; + #{$default-float}: 0; +} + +// We use this mixin to create the structure of a reveal modal +// +// $base-style - Provides reveal base styles, can be set to false to override. Default: true, Options: false +// $width - Sets reveal width Default: $reveal-default-width || 80% +// +@mixin reveal-modal-base( $base-style: true, $width:$reveal-default-width, $max-width:$reveal-max-width, $border-radius: $reveal-radius) { + @if $base-style { + visibility: hidden; + display: none; + position: absolute; + z-index: 1005; + width: 100vw; + top:0; + border-radius: $border-radius; + #{$default-float}: 0; + + @media #{$small-only} { + min-height:100vh; + } + + // Make sure rows don't have a min-width on them + .column, .columns { min-width: 0; } + + // Get rid of margin from first and last element inside modal + & > :first-child { margin-top: 0; } + + & > :last-child { margin-bottom: 0; } + } + + @if $width { + @media #{$medium-up} { + width: $width; + max-width: $max-width; + left: 0; + right: 0; + margin: 0 auto; + } + } +} + +// We use this to style the reveal modal defaults +// +// $bg - Sets background color of reveal modal. Default: $reveal-modal-bg || $white +// $padding - Padding to apply to reveal modal. Default: $reveal-modal-padding. +// $border - Choose whether reveal uses a border. Default: true, Options: false +// $border-style - Set reveal border style. Default: $reveal-border-style || solid +// $border-width - Width of border (i.e. 1px). Default: $reveal-border-width. +// $border-color - Color of border. Default: $reveal-border-color. +// $box-shadow - Choose whether or not to include the default box-shadow. Default: true, Options: false +// $radius - If true, set to modal radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default: false +// $top-offset - Default: $reveal-position-top || 50px +@mixin reveal-modal-style( + $bg:false, + $padding:false, + $border:false, + $border-style:$reveal-border-style, + $border-width:$reveal-border-width, + $border-color:$reveal-border-color, + $box-shadow:false, + $radius:false, + $top-offset:false) { + + @if $bg { background-color: $bg; } + @if $padding != false { padding: $padding; } + + @if $border { border: $border-style $border-width $border-color; } + + // We can choose whether or not to include the default box-shadow. + @if $box-shadow { + box-shadow: $reveal-box-shadow; + } + + // We can control how much radius is used on the modal + @if $radius == true { @include radius($reveal-radius); } + @else if $radius { @include radius($radius); } + + @if $top-offset { + @media #{$medium-up} { + top: $top-offset; + } + } +} + +// We use this to create a close button for the reveal modal +// +// $color - Default: $reveal-close-color || $base +@mixin reveal-close($color:$reveal-close-color) { + font-size: $reveal-close-font-size; + line-height: 1; + position: absolute; + top: $reveal-close-top; + #{$opposite-direction}: $reveal-close-side; + color: $color; + font-weight: $reveal-close-weight; + cursor: $cursor-pointer-value; +} + +@include exports("reveal") { + @if $include-html-reveal-classes { + + // Reveal Modals + .reveal-modal-bg { @include reveal-bg; } + + .#{$reveal-modal-class} { + @include reveal-modal-base; + @include reveal-modal-style( + $bg:$reveal-modal-bg, + $padding:$reveal-modal-padding, + $border:true, + $box-shadow:true, + $radius:false, + $top-offset:$reveal-position-top + ); + @include reveal-modal-style($padding:$reveal-modal-padding * 1.5); + + &.radius { @include reveal-modal-style($radius:true); } + &.round { @include reveal-modal-style($radius:$reveal-round); } + &.collapse { @include reveal-modal-style($padding:0); } + &.tiny { @include reveal-modal-base(false, 30%); } + &.small { @include reveal-modal-base(false, 40%); } + &.medium { @include reveal-modal-base(false, 60%); } + &.large { @include reveal-modal-base(false, 70%); } + &.xlarge { @include reveal-modal-base(false, 95%); } + &.full { + @include reveal-modal-base(false, 100vw); + top:0; + left:0; + height:100%; + height: 100vh; + min-height:100vh; + max-width: none !important; + margin-left: 0 !important; + } + + .#{$close-reveal-modal-class} { @include reveal-close; } + } + + dialog { + @extend .#{$reveal-modal-class}; + display: none; + + &::backdrop, & + .backdrop { + @include reveal-bg(false); + } + + &[open]{ + display: block; + } + } + + // Reveal Print Styles: It should be invisible, adds no value being printed. + @media print { + dialog, .#{$reveal-modal-class} { + display: none; + background: $white !important; + } + } + } +} diff --git a/_sass/foundation-components/_side-nav.scss b/_sass/foundation-components/_side-nav.scss new file mode 100644 index 0000000000..d16be15713 --- /dev/null +++ b/_sass/foundation-components/_side-nav.scss @@ -0,0 +1,116 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// + +$include-html-nav-classes: $include-html-classes !default; + +// We use this to control padding. +$side-nav-padding: rem-calc(14 0) !default; + +// We use these to control list styles. +$side-nav-list-type: none !default; +$side-nav-list-position: outside !default; +$side-nav-list-margin: rem-calc(0 0 7 0) !default; + +// We use these to control link styles. +$side-nav-link-color: $primary-color !default; +$side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%) !default; +$side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%) !default; +$side-nav-link-bg-hover: hsla(0, 0, 0, 0.025) !default; +$side-nav-link-margin: 0 !default; +$side-nav-link-padding: rem-calc(7 14) !default; +$side-nav-font-size: rem-calc(14) !default; +$side-nav-font-weight: $font-weight-normal !default; +$side-nav-font-weight-active: $side-nav-font-weight !default; +$side-nav-font-family: $body-font-family !default; +$side-nav-font-family-active: $side-nav-font-family !default; + +// We use these to control heading styles. +$side-nav-heading-color: $side-nav-link-color !default; +$side-nav-heading-font-size: $side-nav-font-size !default; +$side-nav-heading-font-weight: bold !default; +$side-nav-heading-text-transform: uppercase !default; + +// We use these to control border styles +$side-nav-divider-size: 1px !default; +$side-nav-divider-style: solid !default; +$side-nav-divider-color: scale-color($white, $lightness: 10%) !default; + + +// +// @mixins +// + + +// We use this to style the side-nav +// +// $divider-color - Border color of divider. Default: $side-nav-divider-color. +// $font-size - Font size of nav items. Default: $side-nav-font-size. +// $link-color - Color of navigation links. Default: $side-nav-link-color. +// $link-color-hover - Color of navigation links when hovered. Default: $side-nav-link-color-hover. +@mixin side-nav( + $divider-color:$side-nav-divider-color, + $font-size:$side-nav-font-size, + $link-color:$side-nav-link-color, + $link-color-hover:$side-nav-link-color-hover, + $link-bg-hover:$side-nav-link-bg-hover) { + display: block; + margin: 0; + padding: $side-nav-padding; + list-style-type: $side-nav-list-type; + list-style-position: $side-nav-list-position; + font-family: $side-nav-font-family; + + li { + margin: $side-nav-list-margin; + font-size: $font-size; + font-weight: $side-nav-font-weight; + + a:not(.button) { + display: block; + color: $link-color; + margin: $side-nav-link-margin; + padding: $side-nav-link-padding; + &:hover, + &:focus { + background: $link-bg-hover; + color: $link-color-hover; + } + } + + &.active > a:first-child:not(.button) { + color: $side-nav-link-color-active; + font-weight: $side-nav-font-weight-active; + font-family: $side-nav-font-family-active; + } + + &.divider { + border-top: $side-nav-divider-size $side-nav-divider-style; + height: 0; + padding: 0; + list-style: none; + border-top-color: $divider-color; + } + + &.heading { + color: $side-nav-heading-color; + font: { + size: $side-nav-heading-font-size; + weight: $side-nav-heading-font-weight; + } + text-transform: $side-nav-heading-text-transform; + } + } +} + +@include exports("side-nav") { + @if $include-html-nav-classes { + .side-nav { @include side-nav; } + } +} diff --git a/_sass/foundation-components/_split-buttons.scss b/_sass/foundation-components/_split-buttons.scss new file mode 100644 index 0000000000..00b9f7ac2e --- /dev/null +++ b/_sass/foundation-components/_split-buttons.scss @@ -0,0 +1,191 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "buttons"; +@import "dropdown-buttons"; + +// +// @name _split-buttons.scss +// @dependencies _buttons.scss, _global.scss +// + +// +// @variables +// + +$include-html-button-classes: $include-html-classes !default; + +// We use these to control different shared styles for Split Buttons +$split-button-function-factor: 10% !default; +$split-button-pip-color: $white !default; +$split-button-pip-color-alt: $oil !default; +$split-button-active-bg-tint: rgba(0,0,0,0.1) !default; + +// We use these to control tiny split buttons +$split-button-padding-tny: $button-pip-tny * 10 !default; +$split-button-span-width-tny: $button-pip-tny * 6 !default; +$split-button-pip-size-tny: $button-pip-tny !default; +$split-button-pip-top-tny: $button-pip-tny * 2 !default; +$split-button-pip-default-float-tny: rem-calc(-6) !default; + +// We use these to control small split buttons +$split-button-padding-sml: $button-pip-sml * 10 !default; +$split-button-span-width-sml: $button-pip-sml * 6 !default; +$split-button-pip-size-sml: $button-pip-sml !default; +$split-button-pip-top-sml: $button-pip-sml * 1.5 !default; +$split-button-pip-default-float-sml: rem-calc(-6) !default; + +// We use these to control medium split buttons +$split-button-padding-med: $button-pip-med * 9 !default; +$split-button-span-width-med: $button-pip-med * 5.5 !default; +$split-button-pip-size-med: $button-pip-med - rem-calc(3) !default; +$split-button-pip-top-med: $button-pip-med * 1.5 !default; +$split-button-pip-default-float-med: rem-calc(-6) !default; + +// We use these to control large split buttons +$split-button-padding-lrg: $button-pip-lrg * 8 !default; +$split-button-span-width-lrg: $button-pip-lrg * 5 !default; +$split-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default; +$split-button-pip-top-lrg: $button-pip-lrg + rem-calc(5) !default; +$split-button-pip-default-float-lrg: rem-calc(-6) !default; + + +// +// @mixins +// + +// We use this mixin to create split buttons that build upon the button mixins +// +// $padding - Type of padding to apply. Default: medium. Options: tiny, small, medium, large. +// $pip-color - Color of the triangle. Default: $split-button-pip-color. +// $span-border - Border color of button divider. Default: $primary-color. +// $base-style - Apply base style to split button. Default: true. +@mixin split-button( + $padding:medium, + $pip-color:$split-button-pip-color, + $span-border:$primary-color, + $base-style:true) { + + // With this, we can control whether or not the base styles come through. + @if $base-style { + position: relative; + + // Styling for the split arrow clickable area + span { + display: block; + height: 100%; + position: absolute; + #{$opposite-direction}: 0; + top: 0; + border-#{$default-float}: solid 1px; + + // Building the triangle pip indicator + &:after { + position: absolute; + content: ""; + width: 0; + height: 0; + display: block; + border-style: inset; + top: 50%; + + #{$default-float}: 50%; + } + + &:active { background-color: $split-button-active-bg-tint; } + } + } + + // Control the border color for the span area of the split button + @if $span-border { + span { + border-#{$default-float}-color: rgba(255,255,255,0.5); + } + } + + // Style of the button and clickable area for tiny sizes + @if $padding == tiny { + padding-#{$opposite-direction}: $split-button-padding-tny; + + span { width: $split-button-span-width-tny; + &:after { + border-top-style: solid; + border-width: $split-button-pip-size-tny; + top: 48%; + margin-#{$default-float}: $split-button-pip-default-float-tny; + } + } + } + + // Style of the button and clickable area for small sizes + @else if $padding == small { + padding-#{$opposite-direction}: $split-button-padding-sml; + + span { width: $split-button-span-width-sml; + &:after { + border-top-style: solid; + border-width: $split-button-pip-size-sml; + top: 48%; + margin-#{$default-float}: $split-button-pip-default-float-sml; + } + } + } + + // Style of the button and clickable area for default (medium) sizes + @else if $padding == medium { + padding-#{$opposite-direction}: $split-button-padding-med; + + span { width: $split-button-span-width-med; + &:after { + border-top-style: solid; + border-width: $split-button-pip-size-med; + top: 48%; + margin-#{$default-float}: $split-button-pip-default-float-med; + } + } + } + + // Style of the button and clickable area for large sizes + @else if $padding == large { + padding-#{$opposite-direction}: $split-button-padding-lrg; + + span { width: $split-button-span-width-lrg; + &:after { + border-top-style: solid; + border-width: $split-button-pip-size-lrg; + top: 48%; + margin-#{$default-float}: $split-button-pip-default-float-lrg; + } + } + } + + // Control the color of the triangle pip + @if $pip-color { + span:after { border-color: $pip-color transparent transparent transparent; } + } +} + +@include exports("split-button") { + @if $include-html-button-classes { + + .split.button { @include split-button; + + &.secondary { @include split-button(false, $split-button-pip-color, $secondary-color, false); } + &.alert { @include split-button(false, false, $alert-color, false); } + &.success { @include split-button(false, false, $success-color, false); } + + &.tiny { @include split-button(tiny, false, false, false); } + &.small { @include split-button(small, false, false, false); } + &.large { @include split-button(large, false, false, false); } + &.expand { padding-left: 2rem; } + + &.secondary { @include split-button(false, $split-button-pip-color-alt, false, false); } + + &.radius span { @include side-radius($opposite-direction, $global-radius); } + &.round span { @include side-radius($opposite-direction, 1000px); } + } + + } +} diff --git a/_sass/foundation-components/_sub-nav.scss b/_sass/foundation-components/_sub-nav.scss new file mode 100644 index 0000000000..53644991c9 --- /dev/null +++ b/_sass/foundation-components/_sub-nav.scss @@ -0,0 +1,123 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @name _sub-nav.scss +// @dependencies _global.scss +// + +// +// @variables +// + +$include-html-nav-classes: $include-html-classes !default; + +// We use these to control margin and padding +$sub-nav-list-margin: rem-calc(-4 0 18) !default; +$sub-nav-list-padding-top: rem-calc(4) !default; + +// We use this to control the definition +$sub-nav-font-family: $body-font-family !default; +$sub-nav-font-size: rem-calc(14) !default; +$sub-nav-font-color: $aluminum !default; +$sub-nav-font-weight: $font-weight-normal !default; +$sub-nav-text-decoration: none !default; +$sub-nav-padding: rem-calc(3 16) !default; +$sub-nav-border-radius: 3px !default; +$sub-nav-font-color-hover: scale-color($sub-nav-font-color, $lightness: -25%) !default; + + +// We use these to control the active item styles + +$sub-nav-active-font-weight: $font-weight-normal !default; +$sub-nav-active-bg: $primary-color !default; +$sub-nav-active-bg-hover: scale-color($sub-nav-active-bg, $lightness: -14%) !default; +$sub-nav-active-color: $white !default; +$sub-nav-active-padding: $sub-nav-padding !default; +$sub-nav-active-cursor: default !default; + +$sub-nav-item-divider: "" !default; +$sub-nav-item-divider-margin: rem-calc(12) !default; + +// +// @mixins +// + + +// Create a sub-nav item +// +// $font-color - Font color. Default: $sub-nav-font-color. +// $font-size - Font size. Default: $sub-nav-font-size. +// $active-bg - Background of active nav item. Default: $sub-nav-active-bg. +// $active-bg-hover - Background of active nav item, when hovered. Default: $sub-nav-active-bg-hover. +@mixin sub-nav( + $font-color: $sub-nav-font-color, + $font-size: $sub-nav-font-size, + $active-bg: $sub-nav-active-bg, + $active-bg-hover: $sub-nav-active-bg-hover) { + display: block; + width: auto; + overflow: hidden; + margin: $sub-nav-list-margin; + padding-top: $sub-nav-list-padding-top; + + dt { + text-transform: uppercase; + } + + dt, + dd, + li { + float: $default-float; + display: inline; + margin-#{$default-float}: rem-calc(16); + margin-bottom: 0; + font-family: $sub-nav-font-family; + font-weight: $sub-nav-font-weight; + font-size: $font-size; + color: $font-color; + + a { + text-decoration: $sub-nav-text-decoration; + color: $sub-nav-font-color; + padding: $sub-nav-padding; + &:hover { + color: $sub-nav-font-color-hover; + } + } + + &.active a { + @include radius($sub-nav-border-radius); + font-weight: $sub-nav-active-font-weight; + background: $active-bg; + padding: $sub-nav-active-padding; + cursor: $sub-nav-active-cursor; + color: $sub-nav-active-color; + &:hover { + background: $active-bg-hover; + } + } + @if $sub-nav-item-divider != "" { + margin-#{$default-float}: 0; + + &:before { + content: "#{$sub-nav-item-divider}"; + margin: 0 $sub-nav-item-divider-margin; + } + + &:first-child:before { + content: ""; + margin: 0; + } + } + } +} + +@include exports("sub-nav") { + @if $include-html-nav-classes { + .sub-nav { @include sub-nav; } + } +} diff --git a/_sass/foundation-components/_switches.scss b/_sass/foundation-components/_switches.scss new file mode 100644 index 0000000000..33f428464e --- /dev/null +++ b/_sass/foundation-components/_switches.scss @@ -0,0 +1,238 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @name +// @dependencies _global.scss +// + +// +// @variables +// + +$include-html-form-classes: $include-html-classes !default; + +// Controlling background color for the switch container +$switch-bg: $gainsboro !default; + +// We use these to control the switch heights for our default classes +$switch-height-tny: 1.5rem !default; +$switch-height-sml: 1.75rem !default; +$switch-height-med: 2rem !default; +$switch-height-lrg: 2.5rem !default; +$switch-bottom-margin: 1.5rem !default; + +// We use these to style the switch-paddle +$switch-paddle-bg: $white !default; +$switch-paddle-transition-speed: .15s !default; +$switch-paddle-transition-ease: ease-out !default; +$switch-active-color: $primary-color !default; + + +// +// @mixins +// + +// We use this mixin to create the base styles for our switch element. +// +// $transition-speed - Time in ms for switch to toggle. Default: $switch-paddle-transition-speed. +// $transition-ease - Easing function to use for animation (i.e. ease-out). Default: $switch-paddle-transition-ease. +@mixin switch-base( + $transition-speed:$switch-paddle-transition-speed, + $transition-ease:$switch-paddle-transition-ease) { + + padding: 0; + border: none; + position: relative; + outline: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + // Default label styles for type and transition + label { + display: block; + margin-bottom: ($switch-height-med / 2); + position: relative; + color: transparent; + background: $switch-bg; + text-indent: 100%; + width: $switch-height-med * 2; height: $switch-height-med; + cursor: pointer; + + // Transition for the switch label to follow paddle + @include single-transition(left, $transition-speed, $transition-ease); + } + + // So that we don't need to recreate the form with any JS, we use the + // existing checkbox or radio button, but we cleverly position and hide it. + input { + opacity: 0; + position: absolute; + top: 9px; + left: 10px; + padding:0; + + & + label { margin-left: 0; margin-right: 0; } + } + + // The paddle for the switch is created from an after psuedoclass + // content element. This is sized and positioned, and reacts to + // the state of the input. + + label:after { + content: ""; + display: block; + background: $switch-paddle-bg; + position: absolute; + top: .25rem; + left: .25rem; + width: $switch-height-med - 0.5rem; + height: $switch-height-med - 0.5rem; + + -webkit-transition: left $transition-speed $transition-ease; + -moz-transition: left $transition-speed $transition-ease; + -o-transition: translate3d(0,0,0); + transition: left $transition-speed $transition-ease; + + -webkit-transform: translate3d(0,0,0); + -moz-transform: translate3d(0,0,0); + -o-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + input:checked + label { + background: $switch-active-color; + } + + input:checked + label:after { + left: $switch-height-med + 0.25rem; + } +} + +// We use this mixin to create the size styles for switches. +// +// $height - Height (in px) of the switch. Default: $switch-height-med. +// $font-size - Font size of text in switch. Default: $switch-font-size-med. +// $line-height - Line height of switch. Default: 2.3rem. +@mixin switch-size($height: $switch-height-med) { + + label { + width: $height * 2; + height: $height; + } + + label:after { + width: $height - 0.5rem; + height: $height - 0.5rem; + } + + input:checked + label:after { + left: $height + 0.25rem; + } + +} + +// We use this mixin to add color and other fanciness to the switches. +// +// $paddle-bg - Background of switch paddle. Default: $switch-paddle-bg. +// $active-color - Background color of positive side of switch. Default: $switch-positive-color. +// $negative-color - Background color of negative side of switch. Default: $switch-negative-color. +// $radius - Radius to apply to switch. Default: false. +// $base-style - Apply base styles? Default: true. +@mixin switch-style( + $paddle-bg:$switch-paddle-bg, + $active-color:$switch-active-color, + $radius:false, + $base-style:true) { + + @if $base-style { + + label { + color: transparent; + background: $switch-bg; + } + + label:after { + background: $paddle-bg; + } + + input:checked + label { + background: $active-color; + } + } + + // Setting up the radius for switches + @if $radius == true { + label { + border-radius: 2rem; + } + label:after { + border-radius: 2rem; + } + } + @else if $radius { + label { + border-radius: $radius; + } + label:after { + border-radius: $radius; + } + } + +} + +// We use this to quickly create switches with a single mixin +// +// $transition-speed - Time in ms for switch to toggle. Default: $switch-paddle-transition-speed. +// $transition-ease - Easing function to use for animation (i.e. ease-out). Default: $switch-paddle-transition-ease. +// $height - Height (in px) of the switch. Default: $switch-height-med. +// $paddle-bg - Background of switch paddle. Default: $switch-paddle-bg. +// $active-color - Background color of an active switch. Default: $switch-active-color. +// $radius - Radius to apply to switch. Default: false. +// $base-style - Apply base styles? Default: true. +@mixin switch( + $transition-speed: $switch-paddle-transition-speed, + $transition-ease: $switch-paddle-transition-ease, + $height: $switch-height-med, + $paddle-bg: $switch-paddle-bg, + $active-color: $switch-active-color, + $radius:false, + $base-style:true) { + @include switch-base($transition-speed, $transition-ease); + @include switch-size($height); + @include switch-style($paddle-bg, $active-color, $radius, $base-style); +} + +@include exports("switch") { + @if $include-html-form-classes { + .switch { + @include switch; + + // Large radio switches + &.large { @include switch-size($switch-height-lrg); } + + // Small radio switches + &.small { @include switch-size($switch-height-sml); } + + // Tiny radio switches + &.tiny { @include switch-size($switch-height-tny); } + + // Add a radius to the switch + &.radius { + label { @include radius(4px); } + label:after { @include radius(3px); } + } + + // Make the switch completely round, like a pill + &.round { @include radius(1000px); + label { @include radius(2rem); } + label:after { @include radius(2rem); } + } + + } + } +} diff --git a/_sass/foundation-components/_tables.scss b/_sass/foundation-components/_tables.scss new file mode 100644 index 0000000000..ba3e42e62f --- /dev/null +++ b/_sass/foundation-components/_tables.scss @@ -0,0 +1,135 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @name _tables.scss +// @dependencies _global.scss +// + +// +// @variables +// + +$include-html-table-classes: $include-html-classes !default; + +// These control the background color for the table and even rows +$table-bg: $white !default; +$table-even-row-bg: $snow !default; + +// These control the table cell border style +$table-border-style: solid !default; +$table-border-size: 1px !default; +$table-border-color: $gainsboro !default; + +// These control the table head styles +$table-head-bg: $white-smoke !default; +$table-head-font-size: rem-calc(14) !default; +$table-head-font-color: $jet !default; +$table-head-font-weight: $font-weight-bold !default; +$table-head-padding: rem-calc(8 10 10) !default; + +// These control the table foot styles +$table-foot-bg: $table-head-bg !default; +$table-foot-font-size: $table-head-font-size !default; +$table-foot-font-color: $table-head-font-color !default; +$table-foot-font-weight: $table-head-font-weight !default; +$table-foot-padding: $table-head-padding !default; + +// These control the caption +$table-caption-bg: transparent !default; +$table-caption-font-color: $table-head-font-color !default; +$table-caption-font-size: rem-calc(16) !default; +$table-caption-font-weight: bold !default; + +// These control the row padding and font styles +$table-row-padding: rem-calc(9 10) !default; +$table-row-font-size: rem-calc(14) !default; +$table-row-font-color: $jet !default; +$table-line-height: rem-calc(18) !default; + +// These are for controlling the layout, display and margin of tables +$table-layout: auto !default; +$table-display: table-cell !default; +$table-margin-bottom: rem-calc(20) !default; + + +// +// @mixins +// + +@mixin table { + background: $table-bg; + margin-bottom: $table-margin-bottom; + border: $table-border-style $table-border-size $table-border-color; + table-layout: $table-layout; + + caption { + background: $table-caption-bg; + color: $table-caption-font-color; + font: { + size: $table-caption-font-size; + weight: $table-caption-font-weight; + } + } + + thead { + background: $table-head-bg; + + tr { + th, + td { + padding: $table-head-padding; + font-size: $table-head-font-size; + font-weight: $table-head-font-weight; + color: $table-head-font-color; + } + } + } + + tfoot { + background: $table-foot-bg; + + tr { + th, + td { + padding: $table-foot-padding; + font-size: $table-foot-font-size; + font-weight: $table-foot-font-weight; + color: $table-foot-font-color; + } + } + } + + tr { + th, + td { + padding: $table-row-padding; + font-size: $table-row-font-size; + color: $table-row-font-color; + text-align: $default-float; + } + + &.even, + &.alt, + &:nth-of-type(even) { background: $table-even-row-bg; } + } + + thead tr th, + tfoot tr th, + tfoot tr td, + tbody tr th, + tbody tr td, + tr td { display: $table-display; line-height: $table-line-height; } +} + + +@include exports("table") { + @if $include-html-table-classes { + table { + @include table; + } + } +} diff --git a/_sass/foundation-components/_tabs.scss b/_sass/foundation-components/_tabs.scss new file mode 100644 index 0000000000..404937842a --- /dev/null +++ b/_sass/foundation-components/_tabs.scss @@ -0,0 +1,123 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "grid"; + +// +// @variables +// + +$include-html-tabs-classes: $include-html-classes !default; + +$tabs-navigation-padding: rem-calc(16) !default; +$tabs-navigation-bg-color: $silver !default; +$tabs-navigation-active-bg-color: $white !default; +$tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%) !default; +$tabs-navigation-font-color: $jet !default; +$tabs-navigation-active-font-color: $tabs-navigation-font-color !default; +$tabs-navigation-font-size: rem-calc(16) !default; +$tabs-navigation-font-family: $body-font-family !default; + +$tabs-content-margin-bottom: rem-calc(24) !default; +$tabs-content-padding: ($column-gutter/2) !default; + +$tabs-vertical-navigation-margin-bottom: 1.25rem !default; + +@include exports("tab") { + @if $include-html-tabs-classes { + .tabs { + @include clearfix; + margin-bottom: 0 !important; + margin-left: 0; + dd, .tab-title { + position: relative; + margin-bottom: 0 !important; + list-style: none; + float: $default-float; + > a { + outline: none; + display: block; + background: { + color: $tabs-navigation-bg-color; + } + color: $tabs-navigation-font-color; + padding: $tabs-navigation-padding $tabs-navigation-padding * 2; + font-family: $tabs-navigation-font-family; + font-size: $tabs-navigation-font-size; + &:hover { + background: { + color: $tabs-navigation-hover-bg-color; + } + } + } + &.active a { + background: { + color: $tabs-navigation-active-bg-color; + } + color:$tabs-navigation-active-font-color; + } + } + &.radius { + dd:first-child, .tab:first-child { + a { @include side-radius($default-float, $global-radius); } + } + dd:last-child, .tab:last-child { + a { @include side-radius($opposite-direction, $global-radius); } + } + } + &.vertical { + dd, .tab-title { + position: inherit; + float: none; + display: block; + top: auto; + } + } + } + + .tabs-content { + @include clearfix; + margin-bottom: $tabs-content-margin-bottom; + width: 100%; + > .content { + display: none; + float: $default-float; + padding: $tabs-content-padding 0; + width: 100%; + &.active { display: block; float: none; } + &.contained { padding: $tabs-content-padding; } + } + &.vertical { + display: block; + > .content { padding: 0 $tabs-content-padding; } + } + } + @media #{$medium-up} { + .tabs { + &.vertical { + width: 20%; + max-width: 20%; + float: $default-float; + margin: 0 0 $tabs-vertical-navigation-margin-bottom; + } + } + .tabs-content { + &.vertical { + width: 80%; + max-width: 80%; + float: $default-float; + margin-#{$default-float}: -1px; + padding-#{$default-float}: 1rem; + } + } + } + .no-js { + .tabs-content > .content { + display: block; + float: none; + } + } + } +} diff --git a/_sass/foundation-components/_thumbs.scss b/_sass/foundation-components/_thumbs.scss new file mode 100644 index 0000000000..4a0596e60b --- /dev/null +++ b/_sass/foundation-components/_thumbs.scss @@ -0,0 +1,66 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @name _thumbs.scss +// @dependencies _globals.scss +// + +// +// @variables +// + +$include-html-media-classes: $include-html-classes !default; + +// We use these to control border styles +$thumb-border-style: solid !default; +$thumb-border-width: 4px !default; +$thumb-border-color: $white !default; +$thumb-box-shadow: 0 0 0 1px rgba($black,.2) !default; +$thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5) !default; + +// Radius and transition speed for thumbs +$thumb-radius: $global-radius !default; +$thumb-transition-speed: 200ms !default; + +// +// @mixins +// + +// We use this to create image thumbnail styles. +// +// $border-width - Width of border around thumbnail. Default: $thumb-border-width. +// $box-shadow - Box shadow to apply to thumbnail. Default: $thumb-box-shadow. +// $box-shadow-hover - Box shadow to apply on hover. Default: $thumb-box-shadow-hover. +@mixin thumb( + $border-width:$thumb-border-width, + $box-shadow:$thumb-box-shadow, + $box-shadow-hover:$thumb-box-shadow-hover) { + line-height: 0; + display: inline-block; + border: $thumb-border-style $border-width $thumb-border-color; + max-width: 100%; + box-shadow: $box-shadow; + + &:hover, + &:focus { + box-shadow: $box-shadow-hover; + } +} + + +@include exports("thumb") { + @if $include-html-media-classes { + + /* Image Thumbnails */ + .th { + @include thumb; + @include single-transition(all,$thumb-transition-speed,ease-out); + + &.radius { @include radius($thumb-radius); } + } + } +} \ No newline at end of file diff --git a/_sass/foundation-components/_toolbar.scss b/_sass/foundation-components/_toolbar.scss new file mode 100644 index 0000000000..e39934dc21 --- /dev/null +++ b/_sass/foundation-components/_toolbar.scss @@ -0,0 +1,70 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source +// toolbar styles + +.toolbar { + background: $oil; + width: 100%; + font-size: 0; + display: inline-block; + + &.label-bottom .tab .tab-content { + i, img { margin-bottom: 10px; } + } + + &.label-right .tab .tab-content { + i, img { margin-right: 10px; display: inline-block;} + label { display: inline-block; } + } + + &.vertical.label-right .tab .tab-content { + text-align: left; + } + + &.vertical { + height: 100%; + width: auto; + + .tab { + width: auto; + margin: auto; + float: none; + } + } + + .tab { + text-align: center; + width: 25%; + margin: 0 auto; + display: block; + padding: 20px; + float: left; + + &:hover { + background: rgba($white, 0.1); + } + } +} + +.toolbar .tab-content { + font-size: 16px; + text-align: center; + + label { color: $iron; } + + i { + font-size: 30px; + display: block; + margin: 0 auto; + color: $iron; + vertical-align: middle; + } + + img { + width: 30px; + height: 30px; + display: block; + margin: 0 auto; + } +} \ No newline at end of file diff --git a/_sass/foundation-components/_tooltips.scss b/_sass/foundation-components/_tooltips.scss new file mode 100644 index 0000000000..f94ff3498c --- /dev/null +++ b/_sass/foundation-components/_tooltips.scss @@ -0,0 +1,142 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// Tooltip Variables +// +$include-html-tooltip-classes: $include-html-classes !default; + +$has-tip-border-bottom: dotted 1px $iron !default; +$has-tip-font-weight: $font-weight-bold !default; +$has-tip-font-color: $oil !default; +$has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%) !default; +$has-tip-font-color-hover: $primary-color !default; +$has-tip-cursor-type: help !default; + +$tooltip-padding: rem-calc(12) !default; +$tooltip-bg: $oil !default; +$tooltip-font-size: rem-calc(14) !default; +$tooltip-font-weight: $font-weight-normal !default; +$tooltip-font-color: $white !default; +$tooltip-line-height: 1.3 !default; +$tooltip-close-font-size: rem-calc(10) !default; +$tooltip-close-font-weight: $font-weight-normal !default; +$tooltip-close-font-color: $monsoon !default; +$tooltip-font-size-sml: rem-calc(14) !default; +$tooltip-radius: $global-radius !default; +$tooltip-rounded: $global-rounded !default; +$tooltip-pip-size: 5px !default; +$tooltip-max-width: 300px !default; + +@include exports("tooltip") { + @if $include-html-tooltip-classes { + + /* Tooltips */ + .has-tip { + border-bottom: $has-tip-border-bottom; + cursor: $has-tip-cursor-type; + font-weight: $has-tip-font-weight; + color: $has-tip-font-color; + + &:hover, + &:focus { + border-bottom: $has-tip-border-bottom-hover; + color: $has-tip-font-color-hover; + } + + &.tip-left, + &.tip-right { float: none !important; } + } + + .tooltip { + display: none; + position: absolute; + z-index: 1006; + font-weight: $tooltip-font-weight; + font-size: $tooltip-font-size; + line-height: $tooltip-line-height; + padding: $tooltip-padding; + max-width: $tooltip-max-width; + #{$default-float}: 50%; + width: 100%; + color: $tooltip-font-color; + background: $tooltip-bg; + + &>.nub { + display: block; + #{$default-float}: $tooltip-pip-size; + position: absolute; + width: 0; + height: 0; + border: solid $tooltip-pip-size; + border-color: transparent transparent $tooltip-bg transparent; + top: -($tooltip-pip-size * 2); + pointer-events: none; + + &.rtl { + left: auto; + #{$opposite-direction}: $tooltip-pip-size; + } + } + + &.radius { + @include radius($tooltip-radius); + } + &.round { + @include radius($tooltip-rounded); + &>.nub { + left: 2rem; + } + } + + &.opened { + color: $has-tip-font-color-hover !important; + border-bottom: $has-tip-border-bottom-hover !important; + } + } + + .tap-to-close { + display: block; + font-size: $tooltip-close-font-size; + color: $tooltip-close-font-color; + font-weight: $tooltip-close-font-weight; + } + + @media #{$small} { + .tooltip { + &>.nub { + border-color: transparent transparent $tooltip-bg transparent; + top: -($tooltip-pip-size * 2); + } + &.tip-top>.nub { + border-color: $tooltip-bg transparent transparent transparent; + top: auto; + bottom: -($tooltip-pip-size * 2); + } + + &.tip-left, + &.tip-right { float: none !important; } + + &.tip-left>.nub { + border-color: transparent transparent transparent $tooltip-bg; + right: -($tooltip-pip-size * 2); + left: auto; + top: 50%; + margin-top: -$tooltip-pip-size; + } + &.tip-right>.nub { + border-color: transparent $tooltip-bg transparent transparent; + right: auto; + left: -($tooltip-pip-size * 2); + top: 50%; + margin-top: -$tooltip-pip-size; + } + + } + } + + } +} diff --git a/_sass/foundation-components/_top-bar.scss b/_sass/foundation-components/_top-bar.scss new file mode 100644 index 0000000000..ce59a47d59 --- /dev/null +++ b/_sass/foundation-components/_top-bar.scss @@ -0,0 +1,689 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; +@import "grid"; +@import "buttons"; +@import "forms"; + +// +// Top Bar Variables +// +$include-html-top-bar-classes: $include-html-classes !default; + +// Background color for the top bar +$topbar-bg-color: $oil !default; +$topbar-bg: $topbar-bg-color !default; + +// Height and margin +$topbar-height: rem-calc(45) !default; +$topbar-margin-bottom: 0 !default; + +// Controlling the styles for the title in the top bar +$topbar-title-weight: $font-weight-normal !default; +$topbar-title-font-size: rem-calc(17) !default; + +// Set the link colors and styles for top-level nav +$topbar-link-color: $white !default; +$topbar-link-color-hover: $white !default; +$topbar-link-color-active: $white !default; +$topbar-link-color-active-hover: $white !default; +$topbar-link-weight: $font-weight-normal !default; +$topbar-link-font-size: rem-calc(13) !default; +$topbar-link-hover-lightness: -10% !default; // Darken by 10% +$topbar-link-bg: $topbar-bg !default; +$topbar-link-bg-hover: $oil !default; +$topbar-link-bg-color-hover: $charcoal !default; +$topbar-link-bg-active: $primary-color !default; +$topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%) !default; +$topbar-link-font-family: $body-font-family !default; +$topbar-link-text-transform: none !default; +$topbar-link-padding: ($topbar-height / 3) !default; +$topbar-back-link-size: rem-calc(18) !default; +$topbar-link-dropdown-padding: rem-calc(20) !default; +$topbar-button-font-size: 0.75rem !default; +$topbar-button-top: 7px !default; + +// Style the top bar dropdown elements +$topbar-dropdown-bg: $oil !default; +$topbar-dropdown-link-color: $white !default; +$topbar-dropdown-link-color-hover: $topbar-link-color-hover !default; +$topbar-dropdown-link-bg: $oil !default; +$topbar-dropdown-link-bg-hover: $oil !default; +$topbar-dropdown-link-weight: $font-weight-normal !default; +$topbar-dropdown-toggle-size: 5px !default; +$topbar-dropdown-toggle-color: $white !default; +$topbar-dropdown-toggle-alpha: 0.4 !default; + +$topbar-dropdown-label-color: $monsoon !default; +$topbar-dropdown-label-text-transform: uppercase !default; +$topbar-dropdown-label-font-weight: $font-weight-bold !default; +$topbar-dropdown-label-font-size: rem-calc(10) !default; +$topbar-dropdown-label-bg: $oil !default; + +// Top menu icon styles +$topbar-menu-link-transform: uppercase !default; +$topbar-menu-link-font-size: rem-calc(13) !default; +$topbar-menu-link-weight: $font-weight-bold !default; +$topbar-menu-link-color: $white !default; +$topbar-menu-icon-color: $white !default; +$topbar-menu-link-color-toggled: $jumbo !default; +$topbar-menu-icon-color-toggled: $jumbo !default; + +// Transitions and breakpoint styles +$topbar-transition-speed: 300ms !default; +// Using rem-calc for the below breakpoint causes issues with top bar +$topbar-breakpoint: #{lower-bound($medium-range)} !default; // Change to 9999px for always mobile layout +$topbar-media-query: $medium-up !default; + +// Top-bar input styles +$topbar-input-height: rem-calc(28) !default; + +// Divider Styles +$topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%) !default; +$topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%) !default; + +// Sticky Class +$topbar-sticky-class: ".sticky" !default; +$topbar-arrows: true !default; //Set false to remove the triangle icon from the menu item +$topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text from dropdown subnavigation li + +// Accessibility mixins for hiding and showing the menu dropdown items +@mixin topbar-hide-dropdown { + // Makes an element visually hidden by default, but visible when focused. + display: block; + @include element-invisible(); +} + +@mixin topbar-show-dropdown { + display: block; + @include element-invisible-off(); + position: absolute !important; // Reset the position from static to absolute +} + +@include exports("top-bar") { + + @if $include-html-top-bar-classes { + + // Used to provide media query values for javascript components. + // This class is generated despite the value of $include-html-top-bar-classes + // to ensure width calculations work correctly. + meta.foundation-mq-topbar { + font-family: "/" + unquote($topbar-media-query) + "/"; + width: $topbar-breakpoint; + } + + /* Wrapped around .top-bar to contain to grid width */ + .contain-to-grid { + width: 100%; + background: $topbar-bg; + + .top-bar { margin-bottom: $topbar-margin-bottom; } + } + + // Wrapped around .top-bar to make it stick to the top + .fixed { + width: 100%; + #{$default-float}: 0; + position: fixed; + top: 0; + z-index: 99; + + &.expanded:not(.top-bar) { + overflow-y: auto; + height: auto; + width: 100%; + max-height: 100%; + + .title-area { + position: fixed; + width: 100%; + z-index: 99; + } + // Ensure you can scroll the menu on small screens + .top-bar-section { + z-index: 98; + margin-top: $topbar-height; + } + } + } + + .top-bar { + overflow: hidden; + height: $topbar-height; + line-height: $topbar-height; + position: relative; + background: $topbar-bg; + margin-bottom: $topbar-margin-bottom; + + // Topbar Global list Styles + ul { + margin-bottom: 0; + list-style: none; + } + + .row { max-width: none; } + + form, + input { margin-bottom: 0; } + + input { + height: $topbar-input-height; + padding-top: .35rem; + padding-bottom: .35rem; + font-size: $topbar-button-font-size; + } + + .button, button { + padding-top: .35rem + rem-calc(1); + padding-bottom: .35rem + rem-calc(1); + margin-bottom: 0; + font-size: $topbar-button-font-size; + // position: relative; + // top: -1px; + + // Corrects a slight misalignment when put next to an input field + @media #{$small-only} { + position: relative; + top: -1px; + } + } + + // Title Area + .title-area { + position: relative; + margin: 0; + } + + .name { + height: $topbar-height; + margin: 0; + font-size: $rem-base; + + h1, h2, h3, h4, p, span { + line-height: $topbar-height; + font-size: $topbar-title-font-size; + margin: 0; + a { + font-weight: $topbar-title-weight; + color: $topbar-link-color; + width: 75%; + display: block; + padding: 0 $topbar-link-padding; + } + } + } + + // Menu toggle button on small devices + .toggle-topbar { + position: absolute; + #{$opposite-direction}: 0; + top: 0; + + a { + color: $topbar-link-color; + text-transform: $topbar-menu-link-transform; + font-size: $topbar-menu-link-font-size; + font-weight: $topbar-menu-link-weight; + position: relative; + display: block; + padding: 0 $topbar-link-padding; + height: $topbar-height; + line-height: $topbar-height; + } + + // Adding the class "menu-icon" will add the 3-line icon people love and adore. + &.menu-icon { + top: 50%; + margin-top: -16px; + + a { + @if $text-direction == rtl { + text-indent: -58px; + } + height: 34px; + line-height: 33px; + padding: 0 $topbar-link-padding+rem-calc(25) 0 $topbar-link-padding; + color: $topbar-menu-link-color; + position: relative; + + & { + // @include hamburger icon + // + // We use this to create the icon with three lines aka the hamburger icon, the menu-icon or the navicon + // $width - Width of hamburger icon + // $left - If false, icon will be centered horizontally || explicitly set value in rem + // $top - If false, icon will be centered vertically || explicitly set value in rem + // $thickness - thickness of lines in hamburger icon, set value in px + // $gap - spacing between the lines in hamburger icon, set value in px + // $color - icon color + // $hover-color - icon color during hover, here it isn't set b/c it would override $topbar-menu-icon-color-toggled + // $offcanvas - Set to false of @include in topbar + @include hamburger(16px, false, 0, 1px, 6px, $topbar-menu-icon-color, "", false); + } + } + } + } + + // Change things up when the top-bar is expanded + &.expanded { + height: auto; + background: transparent; + + .title-area { background: $topbar-bg; } + + .toggle-topbar { + a { color: $topbar-menu-link-color-toggled; + span::after { + // Shh, don't tell, but box-shadows create the menu icon :) + // Change the color of the bars when the menu is expanded, using given thickness from hamburger() above + box-shadow: 0 0 0 1px $topbar-menu-icon-color-toggled, + 0 7px 0 1px $topbar-menu-icon-color-toggled, + 0 14px 0 1px $topbar-menu-icon-color-toggled; + } + } + } + } + } + + // Right and Left Navigation that stacked by default + .top-bar-section { + #{$default-float}: 0; + position: relative; + width: auto; + @include single-transition($default-float, $topbar-transition-speed); + + ul { + padding: 0; + width: 100%; + height: auto; + display: block; + font-size: $rem-base; + margin: 0; + } + + .divider, + [role="separator"] { + border-top: $topbar-divider-border-top; + clear: both; + height: 1px; + width: 100%; + } + + ul li { + background: $topbar-dropdown-bg; + & > a { + display: block; + width: 100%; + color: $topbar-link-color; + padding: 12px 0 12px 0; + padding-#{$default-float}: $topbar-link-padding; + font-family: $topbar-link-font-family; + font-size: $topbar-link-font-size; + font-weight: $topbar-link-weight; + text-transform: $topbar-link-text-transform; + + &.button { + font-size: $topbar-link-font-size; + padding-#{$opposite-direction}: $topbar-link-padding; + padding-#{$default-float}: $topbar-link-padding; + @include button-style($bg:$primary-color); + } + &.button.secondary { @include button-style($bg:$secondary-color); } + &.button.success { @include button-style($bg:$success-color); } + &.button.alert { @include button-style($bg:$alert-color); } + &.button.warning { @include button-style($bg:$warning-color); } + } + + > button { + font-size: $topbar-link-font-size; + padding-#{$opposite-direction}: $topbar-link-padding; + padding-#{$default-float}: $topbar-link-padding; + @include button-style($bg:$primary-color); + + &.secondary { @include button-style($bg:$secondary-color); } + &.success { @include button-style($bg:$success-color); } + &.alert { @include button-style($bg:$alert-color); } + &.warning { @include button-style($bg:$warning-color); } + } + + // Apply the hover link color when it has that class + &:hover:not(.has-form) > a { + background-color: $topbar-link-bg-color-hover; + @if ($topbar-link-bg-hover) { + background: $topbar-link-bg-hover; + } + color: $topbar-link-color-hover; + } + + // Apply the active link color when it has that class + &.active > a { + background: $topbar-link-bg-active; + color: $topbar-link-color-active; + &:hover { + background: $topbar-link-bg-active-hover; + color: $topbar-link-color-active-hover; + } + } + } + + // Add some extra padding for list items contains buttons + .has-form { padding: $topbar-link-padding; } + + // Styling for list items that have a dropdown within them. + .has-dropdown { + position: relative; + + & > a { + &:after { + @if ($topbar-arrows){ + @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), $default-float); + } + margin-#{$opposite-direction}: $topbar-link-padding; + margin-top: -($topbar-dropdown-toggle-size / 2) - 2; + position: absolute; + top: 50%; + #{$opposite-direction}: 0; + } + } + + &.moved { position: static; + & > .dropdown { + @include topbar-show-dropdown(); + width: 100%; + } + & > a:after { + display: none; + } + } + } + + // Styling elements inside of dropdowns + .dropdown { + padding: 0; + position: absolute; + #{$default-float}: 100%; + top: 0; + z-index: 99; + @include topbar-hide-dropdown(); + + li { + width: 100%; + height: auto; + + a { + font-weight: $topbar-dropdown-link-weight; + padding: 8px $topbar-link-padding; + &.parent-link { + font-weight: $topbar-link-weight; + } + } + + &.title h5, &.parent-link { + // Back Button + margin-bottom: 0; + margin-top: 0; + font-size: $topbar-back-link-size; + a { + color: $topbar-link-color; + // line-height: ($topbar-height / 2); + display: block; + &:hover { background:none; } + } + } + &.has-form { padding: 8px $topbar-link-padding; } + .button, button { top: auto; } + } + + label { + padding: 8px $topbar-link-padding 2px; + margin-bottom: 0; + text-transform: $topbar-dropdown-label-text-transform; + color: $topbar-dropdown-label-color; + font-weight: $topbar-dropdown-label-font-weight; + font-size: $topbar-dropdown-label-font-size; + } + } + } + + .js-generated { display: block; } + + + // Top Bar styles intended for screen sizes above the breakpoint. + @media #{$topbar-media-query} { + .top-bar { + background: $topbar-bg; + @include clearfix; + overflow: visible; + + .toggle-topbar { display: none; } + + .title-area { float: $default-float; } + .name h1 a { width: auto; } + + input, + .button, + button { + font-size: rem-calc(14); + position: relative; + height: $topbar-input-height; + top: (($topbar-height - $topbar-input-height) / 2); + } + + &.expanded { background: $topbar-bg; } + } + + .contain-to-grid .top-bar { + max-width: $row-width; + margin: 0 auto; + margin-bottom: $topbar-margin-bottom; + } + + .top-bar-section { + @include single-transition(none,0,0); + #{$default-float}: 0 !important; + + ul { + width: auto; + height: auto !important; + display: inline; + + li { + float: $default-float; + .js-generated { display: none; } + } + } + + li { + &.hover { + > a:not(.button) { + background-color: $topbar-link-bg-color-hover; + @if ($topbar-link-bg-hover) { + background: $topbar-link-bg-hover; + } + color: $topbar-link-color-hover; + } + } + &:not(.has-form) { + a:not(.button) { + padding: 0 $topbar-link-padding; + line-height: $topbar-height; + background: $topbar-link-bg; + &:hover { + background-color: $topbar-link-bg-color-hover; + @if ($topbar-link-bg-hover) { + background: $topbar-link-bg-hover; + } + } + } + } + &.active:not(.has-form) { + a:not(.button) { + padding: 0 $topbar-link-padding; + line-height: $topbar-height; + color: $topbar-link-color-active; + background: $topbar-link-bg-active; + &:hover { + background: $topbar-link-bg-active-hover; + color: $topbar-link-color-active-hover; + } + } + } + } + + .has-dropdown { + @if($topbar-arrows){ + & > a { + padding-#{$opposite-direction}: $topbar-link-padding + $topbar-link-dropdown-padding !important; + &:after { + @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top); + margin-top: -($topbar-dropdown-toggle-size / 2); + top: ($topbar-height / 2); + } + } + } + + &.moved { position: relative; + & > .dropdown { + @include topbar-hide-dropdown(); + } + } + + &.hover, &.not-click:hover { + & > .dropdown { + @include topbar-show-dropdown(); + } + } + > a:focus + .dropdown { + @include topbar-show-dropdown(); + } + + .dropdown li.has-dropdown { + & > a { + @if ($topbar-dropdown-arrows){ + &:after { + border: none; + content: "\00bb"; + top: 1rem; + margin-top: -1px; + #{$opposite-direction}: 5px; + line-height: 1.2; + } + } + } + } + } + + .dropdown { + #{$default-float}: 0; + top: auto; + background: transparent; + min-width: 100%; + + li { + a { + color: $topbar-dropdown-link-color; + line-height: $topbar-height; + white-space: nowrap; + padding: 12px $topbar-link-padding; + background: $topbar-dropdown-link-bg; + } + + &:not(.has-form):not(.active) { + & > a:not(.button) { + color: $topbar-dropdown-link-color; + background: $topbar-dropdown-link-bg; + } + + &:hover > a:not(.button) { + color: $topbar-dropdown-link-color-hover; + background-color: $topbar-link-bg-color-hover; + @if ($topbar-dropdown-link-bg-hover) { + background: $topbar-dropdown-link-bg-hover; + } + } + } + + label { + white-space: nowrap; + background: $topbar-dropdown-label-bg; + } + + // Second Level Dropdowns + .dropdown { + #{$default-float}: 100%; + top: 0; + } + } + } + + & > ul > .divider, + & > ul > [role="separator"] { + border-bottom: none; + border-top: none; + border-#{$opposite-direction}: $topbar-divider-border-bottom; + clear: none; + height: $topbar-height; + width: 0; + } + + .has-form { + background: $topbar-link-bg; + padding: 0 ($topbar-height / 3); + height: $topbar-height; + } + + // Position overrides for ul.right and ul.left + .#{$opposite-direction} { + li .dropdown { + #{$default-float}: auto; + #{$opposite-direction}: 0; + + li .dropdown { #{$opposite-direction}: 100%; } + } + } + .#{$default-float} { + li .dropdown { + #{$opposite-direction}: auto; + #{$default-float}: 0; + + li .dropdown { #{$default-float}: 100%; } + } + } + } + + // Degrade gracefully when Javascript is disabled. Displays dropdown and changes + // background & text color on hover. + .no-js .top-bar-section { + ul li { + // Apply the hover link color when it has that class + &:hover > a { + background-color: $topbar-link-bg-color-hover; + @if ($topbar-link-bg-hover) { + background: $topbar-link-bg-hover; + } + color: $topbar-link-color-hover; + } + + // Apply the active link color when it has that class + &:active > a { + background: $topbar-link-bg-active; + color: $topbar-link-color-active; + } + } + + .has-dropdown { + &:hover { + & > .dropdown { + @include topbar-show-dropdown(); + } + } + > a:focus + .dropdown { + @include topbar-show-dropdown(); + } + } + } + } + } +} diff --git a/_sass/foundation-components/_type.scss b/_sass/foundation-components/_type.scss new file mode 100644 index 0000000000..ff19996318 --- /dev/null +++ b/_sass/foundation-components/_type.scss @@ -0,0 +1,525 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +$include-html-type-classes: $include-html-classes !default; + +// We use these to control header font styles +$header-font-family: $body-font-family !default; +$header-font-weight: $font-weight-normal !default; +$header-font-style: $font-weight-normal !default; +$header-font-color: $jet !default; +$header-line-height: 1.4 !default; +$header-top-margin: .2rem !default; +$header-bottom-margin: .5rem !default; +$header-text-rendering: optimizeLegibility !default; + +// We use these to control header font sizes +$h1-font-size: rem-calc(44) !default; +$h2-font-size: rem-calc(37) !default; +$h3-font-size: rem-calc(27) !default; +$h4-font-size: rem-calc(23) !default; +$h5-font-size: rem-calc(18) !default; +$h6-font-size: 1rem !default; + +// We use these to control header size reduction on small screens +$h1-font-reduction: rem-calc(10) !default; +$h2-font-reduction: rem-calc(10) !default; +$h3-font-reduction: rem-calc(5) !default; +$h4-font-reduction: rem-calc(5) !default; +$h5-font-reduction: 0 !default; +$h6-font-reduction: 0 !default; + +// These control how subheaders are styled. +$subheader-line-height: 1.4 !default; +$subheader-font-color: scale-color($header-font-color, $lightness: 35%) !default; +$subheader-font-weight: $font-weight-normal !default; +$subheader-top-margin: .2rem !default; +$subheader-bottom-margin: .5rem !default; + +// A general styling +$small-font-size: 60% !default; +$small-font-color: scale-color($header-font-color, $lightness: 35%) !default; + +// We use these to style paragraphs +$paragraph-font-family: inherit !default; +$paragraph-font-weight: $font-weight-normal !default; +$paragraph-font-size: 1rem !default; +$paragraph-line-height: 1.6 !default; +$paragraph-margin-bottom: rem-calc(20) !default; +$paragraph-aside-font-size: rem-calc(14) !default; +$paragraph-aside-line-height: 1.35 !default; +$paragraph-aside-font-style: italic !default; +$paragraph-text-rendering: optimizeLegibility !default; + +// We use these to style tags +$code-color: $oil !default; +$code-font-family: $font-family-monospace !default; +$code-font-weight: $font-weight-normal !default; +$code-background-color: scale-color($secondary-color, $lightness: 70%) !default; +$code-border-size: 1px !default; +$code-border-style: solid !default; +$code-border-color: scale-color($code-background-color, $lightness: -10%) !default; +$code-padding: rem-calc(2) rem-calc(5) rem-calc(1) !default; + +// We use these to style anchors +$anchor-text-decoration: none !default; +$anchor-text-decoration-hover: none !default; +$anchor-font-color: $primary-color !default; +$anchor-font-color-hover: scale-color($anchor-font-color, $lightness: -14%) !default; + +// We use these to style the
element +$hr-border-width: 1px !default; +$hr-border-style: solid !default; +$hr-border-color: $gainsboro !default; +$hr-margin: rem-calc(20) !default; + +// We use these to style lists +$list-font-family: $paragraph-font-family !default; +$list-font-size: $paragraph-font-size !default; +$list-line-height: $paragraph-line-height !default; +$list-margin-bottom: $paragraph-margin-bottom !default; +$list-style-position: outside !default; +$list-side-margin: 1.1rem !default; +$list-ordered-side-margin: 1.4rem !default; +$list-side-margin-no-bullet: 0 !default; +$list-nested-margin: rem-calc(20) !default; +$definition-list-header-weight: $font-weight-bold !default; +$definition-list-header-margin-bottom: .3rem !default; +$definition-list-margin-bottom: rem-calc(12) !default; + +// We use these to style blockquotes +$blockquote-font-color: scale-color($header-font-color, $lightness: 35%) !default; +$blockquote-padding: rem-calc(9 20 0 19) !default; +$blockquote-border: 1px solid $gainsboro !default; +$blockquote-cite-font-size: rem-calc(13) !default; +$blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%) !default; +$blockquote-cite-link-color: $blockquote-cite-font-color !default; + +// Acronym styles +$acronym-underline: 1px dotted $gainsboro !default; + +// We use these to control padding and margin +$microformat-padding: rem-calc(10 12) !default; +$microformat-margin: rem-calc(0 0 20 0) !default; + +// We use these to control the border styles +$microformat-border-width: 1px !default; +$microformat-border-style: solid !default; +$microformat-border-color: $gainsboro !default; + +// We use these to control full name font styles +$microformat-fullname-font-weight: $font-weight-bold !default; +$microformat-fullname-font-size: rem-calc(15) !default; + +// We use this to control the summary font styles +$microformat-summary-font-weight: $font-weight-bold !default; + +// We use this to control abbr padding +$microformat-abbr-padding: rem-calc(0 1) !default; + +// We use this to control abbr font styles +$microformat-abbr-font-weight: $font-weight-bold !default; +$microformat-abbr-font-decoration: none !default; + +// Text alignment class names +$align-class-names: + small-only, + small, + medium-only, + medium, + large-only, + large, + xlarge-only, + xlarge, + xxlarge-only, + xxlarge; + +// Text alignment breakpoints +$align-class-breakpoints: + $small-only, + $small-up, + $medium-only, + $medium-up, + $large-only, + $large-up, + $xlarge-only, + $xlarge-up, + $xxlarge-only, + $xxlarge-up; + +// Generates text align and justify classes +@mixin align-classes{ + .text-left { text-align: left !important; } + .text-right { text-align: right !important; } + .text-center { text-align: center !important; } + .text-justify { text-align: justify !important; } + + @for $i from 1 through length($align-class-names) { + @media #{(nth($align-class-breakpoints, $i))} { + .#{(nth($align-class-names, $i))}-text-left { text-align: left !important; } + .#{(nth($align-class-names, $i))}-text-right { text-align: right !important; } + .#{(nth($align-class-names, $i))}-text-center { text-align: center !important; } + .#{(nth($align-class-names, $i))}-text-justify { text-align: justify !important; } + } + } +} + +// +// Typography Placeholders +// + +// These will throw a deprecation warning if used within a media query. +@mixin lead { + font-size: $paragraph-font-size + rem-calc(3.5); + line-height: 1.6; +} + +@mixin subheader { + line-height: $subheader-line-height; + color: $subheader-font-color; + font-weight: $subheader-font-weight; + margin-top: $subheader-top-margin; + margin-bottom: $subheader-bottom-margin; +} +@include exports("type") { + @if $include-html-type-classes { + // Responsive Text alignment + @include align-classes; + + /* Typography resets */ + div, + dl, + dt, + dd, + ul, + ol, + li, + h1, + h2, + h3, + h4, + h5, + h6, + pre, + form, + p, + blockquote, + th, + td { + margin:0; + padding:0; + } + + /* Default Link Styles */ + a { + color: $anchor-font-color; + text-decoration: $anchor-text-decoration; + line-height: inherit; + + &:hover, + &:focus { + color: $anchor-font-color-hover; + @if $anchor-text-decoration-hover != $anchor-text-decoration { + text-decoration: $anchor-text-decoration-hover; + } + } + + img { border:none; } + } + + /* Default paragraph styles */ + p { + font-family: $paragraph-font-family; + font-weight: $paragraph-font-weight; + font-size: $paragraph-font-size; + line-height: $paragraph-line-height; + margin-bottom: $paragraph-margin-bottom; + text-rendering: $paragraph-text-rendering; + + &.lead { @include lead; } + + & aside { + font-size: $paragraph-aside-font-size; + line-height: $paragraph-aside-line-height; + font-style: $paragraph-aside-font-style; + } + } + + /* Default header styles */ + h1, h2, h3, h4, h5, h6 { + font-family: $header-font-family; + font-weight: $header-font-weight; + font-style: $header-font-style; + color: $header-font-color; + text-rendering: $header-text-rendering; + margin-top: $header-top-margin; + margin-bottom: $header-bottom-margin; + line-height: $header-line-height; + + small { + font-size: $small-font-size; + color: $small-font-color; + line-height: 0; + } + } + + h1 { font-size: $h1-font-size - $h1-font-reduction; } + h2 { font-size: $h2-font-size - $h2-font-reduction; } + h3 { font-size: $h3-font-size - $h3-font-reduction; } + h4 { font-size: $h4-font-size - $h4-font-reduction; } + h5 { font-size: $h5-font-size - $h5-font-reduction; } + h6 { font-size: $h6-font-size - $h6-font-reduction; } + + .subheader { @include subheader; } + + hr { + border: $hr-border-style $hr-border-color; + border-width: $hr-border-width 0 0; + clear: both; + margin: $hr-margin 0 ($hr-margin - rem-calc($hr-border-width)); + height: 0; + } + + /* Helpful Typography Defaults */ + em, + i { + font-style: italic; + line-height: inherit; + } + + strong, + b { + font-weight: $font-weight-bold; + line-height: inherit; + } + + small { + font-size: $small-font-size; + line-height: inherit; + } + + code { + font-family: $code-font-family; + font-weight: $code-font-weight; + color: $code-color; + background-color: $code-background-color; + border-width: $code-border-size; + border-style: $code-border-style; + border-color: $code-border-color; + padding: $code-padding; + } + + /* Lists */ + ul, + ol, + dl { + font-size: $list-font-size; + line-height: $list-line-height; + margin-bottom: $list-margin-bottom; + list-style-position: $list-style-position; + font-family: $list-font-family; + } + + ul { + margin-#{$default-float}: $list-side-margin; + &.no-bullet { + margin-#{$default-float}: $list-side-margin-no-bullet; + li { + ul, + ol { + margin-#{$default-float}: $list-nested-margin; + margin-bottom: 0; + list-style: none; + } + } + } + } + + /* Unordered Lists */ + ul { + li { + ul, + ol { + margin-#{$default-float}: $list-nested-margin; + margin-bottom: 0; + } + } + &.square, + &.circle, + &.disc { + li ul { list-style: inherit; } + } + + &.square { list-style-type: square; margin-#{$default-float}: $list-side-margin;} + &.circle { list-style-type: circle; margin-#{$default-float}: $list-side-margin;} + &.disc { list-style-type: disc; margin-#{$default-float}: $list-side-margin;} + &.no-bullet { list-style: none; } + } + + /* Ordered Lists */ + ol { + margin-#{$default-float}: $list-ordered-side-margin; + li { + ul, + ol { + margin-#{$default-float}: $list-nested-margin; + margin-bottom: 0; + } + } + } + + /* Definition Lists */ + dl { + dt { + margin-bottom: $definition-list-header-margin-bottom; + font-weight: $definition-list-header-weight; + } + dd { margin-bottom: $definition-list-margin-bottom; } + } + + /* Abbreviations */ + abbr, + acronym { + text-transform: uppercase; + font-size: 90%; + color: $body-font-color; + cursor: $cursor-help-value; + } + abbr { + text-transform: none; + &[title] { + border-bottom: $acronym-underline; + } + } + + /* Blockquotes */ + blockquote { + margin: 0 0 $paragraph-margin-bottom; + padding: $blockquote-padding; + border-#{$default-float}: $blockquote-border; + + cite { + display: block; + font-size: $blockquote-cite-font-size; + color: $blockquote-cite-font-color; + &:before { + content: "\2014 \0020"; + } + + a, + a:visited { + color: $blockquote-cite-link-color; + } + } + } + blockquote, + blockquote p { + line-height: $paragraph-line-height; + color: $blockquote-font-color; + } + + /* Microformats */ + .vcard { + display: inline-block; + margin: $microformat-margin; + border: $microformat-border-width $microformat-border-style $microformat-border-color; + padding: $microformat-padding; + + li { + margin: 0; + display: block; + } + .fn { + font-weight: $microformat-fullname-font-weight; + font-size: $microformat-fullname-font-size; + } + } + + .vevent { + .summary { font-weight: $microformat-summary-font-weight; } + + abbr { + cursor: $cursor-default-value; + text-decoration: $microformat-abbr-font-decoration; + font-weight: $microformat-abbr-font-weight; + border: none; + padding: $microformat-abbr-padding; + } + } + + + @media #{$medium-up} { + h1,h2,h3,h4,h5,h6 { line-height: $header-line-height; } + h1 { font-size: $h1-font-size; } + h2 { font-size: $h2-font-size; } + h3 { font-size: $h3-font-size; } + h4 { font-size: $h4-font-size; } + h5 { font-size: $h5-font-size; } + h6 { font-size: $h6-font-size; } + } + + // Only include these styles if you want them. + @if $include-print-styles { + /* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) + */ + .print-only { display: none !important; } + @media print { + * { + background: transparent !important; + color: $black !important; /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { text-decoration: underline;} + a[href]:after { content: " (" attr(href) ")"; } + + abbr[title]:after { content: " (" attr(title) ")"; } + + // Don't show links for images, or javascript/internal links + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { content: ""; } + + pre, + blockquote { + border: 1px solid $aluminum; + page-break-inside: avoid; + } + + thead { display: table-header-group; /* h5bp.com/t */ } + + tr, + img { page-break-inside: avoid; } + + img { max-width: 100% !important; } + + @page { margin: 0.5cm; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { page-break-after: avoid; } + + .hide-on-print { display: none !important; } + .print-only { display: block !important; } + .hide-for-print { display: none !important; } + .show-for-print { display: inherit !important; } + } + } + + } +} diff --git a/_sass/foundation-components/_visibility.scss b/_sass/foundation-components/_visibility.scss new file mode 100644 index 0000000000..d8c4affb4e --- /dev/null +++ b/_sass/foundation-components/_visibility.scss @@ -0,0 +1,408 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// Foundation Visibility Classes +// +$include-html-visibility-classes: $include-html-classes !default; +$include-accessibility-classes: true !default; +$include-table-visibility-classes: true !default; +$include-legacy-visibility-classes: true !default; + +// +// Media Class Names +// +// Visibility Breakpoints +$visibility-breakpoint-sizes: + small, + medium, + large, + xlarge, + xxlarge; + +$visibility-breakpoint-queries: + unquote($small-up), + unquote($medium-up), + unquote($large-up), + unquote($xlarge-up), + unquote($xxlarge-up); + +@mixin visibility-loop { + @each $current-visibility-breakpoint in $visibility-breakpoint-sizes { + $visibility-inherit-list: (); + $visibility-none-list: (); + + $visibility-visible-list: (); + $visibility-hidden-list: (); + + $visibility-table-list: (); + $visibility-table-header-group-list: (); + $visibility-table-row-group-list: (); + $visibility-table-row-list: (); + $visibility-table-cell-list: (); + + @each $visibility-comparison-breakpoint in $visibility-breakpoint-sizes { + @if index($visibility-breakpoint-sizes, $visibility-comparison-breakpoint) < index($visibility-breakpoint-sizes, $current-visibility-breakpoint) { + // Smaller than current breakpoint + + $visibility-inherit-list: append($visibility-inherit-list, unquote( + '.hide-for-#{$visibility-comparison-breakpoint}-only, .show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-none-list: append($visibility-none-list, unquote( + '.show-for-#{$visibility-comparison-breakpoint}-only, .hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-visible-list: append($visibility-visible-list, unquote( + '.hidden-for-#{$visibility-comparison-breakpoint}-only, .visible-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-hidden-list: append($visibility-hidden-list, unquote( + '.visible-for-#{$visibility-comparison-breakpoint}-only, .hidden-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-list: append($visibility-table-list, unquote( + 'table.hide-for-#{$visibility-comparison-breakpoint}-only, table.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote( + 'thead.hide-for-#{$visibility-comparison-breakpoint}-only, thead.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote( + 'tbody.hide-for-#{$visibility-comparison-breakpoint}-only, tbody.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-row-list: append($visibility-table-row-list, unquote( + 'tr.hide-for-#{$visibility-comparison-breakpoint}-only, tr.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-cell-list: append($visibility-table-cell-list, unquote( + 'th.hide-for-#{$visibility-comparison-breakpoint}-only, td.hide-for-#{$visibility-comparison-breakpoint}-only, th.show-for-#{$visibility-comparison-breakpoint}-up, td.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + + // Foundation 4 compatibility: + // Include .show/hide-for-[size] and .show/hide-for-[size]-down classes + // for small, medium, and large breakpoints only + @if $include-legacy-visibility-classes and index((small, medium, large), $visibility-comparison-breakpoint) != false { + $visibility-inherit-list: append($visibility-inherit-list, unquote( + '.hide-for-#{$visibility-comparison-breakpoint}, .hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-none-list: append($visibility-none-list, unquote( + '.show-for-#{$visibility-comparison-breakpoint}, .show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-visible-list: append($visibility-visible-list, unquote( + '.hidden-for-#{$visibility-comparison-breakpoint}, .hidden-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-hidden-list: append($visibility-hidden-list, unquote( + '.visible-for-#{$visibility-comparison-breakpoint}, .visible-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-list: append($visibility-table-list, unquote( + 'table.hide-for-#{$visibility-comparison-breakpoint}, table.hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote( + 'thead.hide-for-#{$visibility-comparison-breakpoint}, thead.hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote( + 'tbody.hide-for-#{$visibility-comparison-breakpoint}, tbody.hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-row-list: append($visibility-table-row-list, unquote( + 'tr.hide-for-#{$visibility-comparison-breakpoint}, tr.hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-cell-list: append($visibility-table-cell-list, unquote( + 'th.hide-for-#{$visibility-comparison-breakpoint}, td.hide-for-#{$visibility-comparison-breakpoint}, th.hide-for-#{$visibility-comparison-breakpoint}-down, td.hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + } + + } @else if index($visibility-breakpoint-sizes, $visibility-comparison-breakpoint) > index($visibility-breakpoint-sizes, $current-visibility-breakpoint) { + // Larger than current breakpoint + + $visibility-inherit-list: append($visibility-inherit-list, unquote( + '.hide-for-#{$visibility-comparison-breakpoint}-only, .hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-none-list: append($visibility-none-list, unquote( + '.show-for-#{$visibility-comparison-breakpoint}-only, .show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-visible-list: append($visibility-visible-list, unquote( + '.hidden-for-#{$visibility-comparison-breakpoint}-only, .hidden-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-hidden-list: append($visibility-hidden-list, unquote( + '.visible-for-#{$visibility-comparison-breakpoint}-only, .visible-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-list: append($visibility-table-list, unquote( + 'table.hide-for-#{$visibility-comparison-breakpoint}-only, table.hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote( + 'thead.hide-for-#{$visibility-comparison-breakpoint}-only, thead.hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote( + 'tbody.hide-for-#{$visibility-comparison-breakpoint}-only, tbody.hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-row-list: append($visibility-table-row-list, unquote( + 'tr.hide-for-#{$visibility-comparison-breakpoint}-only, tr.hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-cell-list: append($visibility-table-cell-list, unquote( + 'th.hide-for-#{$visibility-comparison-breakpoint}-only, td.hide-for-#{$visibility-comparison-breakpoint}-only, th.hide-for-#{$visibility-comparison-breakpoint}-up, td.hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + + // Foundation 4 compatibility: + // Include .show/hide-for-[size] and .show/hide-for-[size]-down classes + // for small, medium, and large breakpoints only + @if $include-legacy-visibility-classes and index((small, medium, large), $visibility-comparison-breakpoint) != false { + $visibility-inherit-list: append($visibility-inherit-list, unquote( + '.hide-for-#{$visibility-comparison-breakpoint}, .show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-none-list: append($visibility-none-list, unquote( + '.show-for-#{$visibility-comparison-breakpoint}, .hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-visible-list: append($visibility-visible-list, unquote( + '.hidden-for-#{$visibility-comparison-breakpoint}, .visible-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-hidden-list: append($visibility-hidden-list, unquote( + '.visible-for-#{$visibility-comparison-breakpoint}, .hidden-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-list: append($visibility-table-list, unquote( + 'table.hide-for-#{$visibility-comparison-breakpoint}, table.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote( + 'thead.hide-for-#{$visibility-comparison-breakpoint}, thead.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote( + 'tbody.hide-for-#{$visibility-comparison-breakpoint}, tbody.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-row-list: append($visibility-table-row-list, unquote( + 'tr.hide-for-#{$visibility-comparison-breakpoint}, tr.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-cell-list: append($visibility-table-cell-list, unquote( + 'th.hide-for-#{$visibility-comparison-breakpoint}, td.hide-for-#{$visibility-comparison-breakpoint}, th.show-for-#{$visibility-comparison-breakpoint}-down, td.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + } + + } @else { + // Current breakpoint + + $visibility-inherit-list: append($visibility-inherit-list, unquote( + '.show-for-#{$visibility-comparison-breakpoint}-only, .show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-none-list: append($visibility-none-list, unquote( + '.hide-for-#{$visibility-comparison-breakpoint}-only, .hide-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-visible-list: append($visibility-visible-list, unquote( + '.visible-for-#{$visibility-comparison-breakpoint}-only, .visible-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-hidden-list: append($visibility-hidden-list, unquote( + '.hidden-for-#{$visibility-comparison-breakpoint}-only, .hidden-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-list: append($visibility-table-list, unquote( + 'table.show-for-#{$visibility-comparison-breakpoint}-only, table.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote( + 'thead.show-for-#{$visibility-comparison-breakpoint}-only, thead.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote( + 'tbody.show-for-#{$visibility-comparison-breakpoint}-only, tbody.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-row-list: append($visibility-table-row-list, unquote( + 'tr.show-for-#{$visibility-comparison-breakpoint}-only, tr.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + $visibility-table-cell-list: append($visibility-table-cell-list, unquote( + 'th.show-for-#{$visibility-comparison-breakpoint}-only, td.show-for-#{$visibility-comparison-breakpoint}-only, th.show-for-#{$visibility-comparison-breakpoint}-up, td.show-for-#{$visibility-comparison-breakpoint}-up' + ), comma); + + // Foundation 4 compatibility: + // Include .show/hide-for-[size] and .show/hide-for-[size]-down classes + // for small, medium, and large breakpoints only + @if $include-legacy-visibility-classes and index((small, medium, large), $visibility-comparison-breakpoint) != false { + $visibility-inherit-list: append($visibility-inherit-list, unquote( + '.show-for-#{$visibility-comparison-breakpoint}, .show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-none-list: append($visibility-none-list, unquote( + '.hide-for-#{$visibility-comparison-breakpoint}, .hide-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-visible-list: append($visibility-visible-list, unquote( + '.visible-for-#{$visibility-comparison-breakpoint}, .visible-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-hidden-list: append($visibility-hidden-list, unquote( + '.hidden-for-#{$visibility-comparison-breakpoint}, .hidden-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-list: append($visibility-table-list, unquote( + 'table.show-for-#{$visibility-comparison-breakpoint}, table.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote( + 'thead.show-for-#{$visibility-comparison-breakpoint}, thead.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote( + 'tbody.show-for-#{$visibility-comparison-breakpoint}, tbody.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-row-list: append($visibility-table-row-list, unquote( + 'tr.show-for-#{$visibility-comparison-breakpoint}, tr.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + $visibility-table-cell-list: append($visibility-table-cell-list, unquote( + 'th.show-for-#{$visibility-comparison-breakpoint}, td.show-for-#{$visibility-comparison-breakpoint}, th.show-for-#{$visibility-comparison-breakpoint}-down, td.show-for-#{$visibility-comparison-breakpoint}-down' + ), comma); + } + } + } + + /* #{$current-visibility-breakpoint} displays */ + @media #{nth($visibility-breakpoint-queries, index($visibility-breakpoint-sizes, $current-visibility-breakpoint))} { + #{$visibility-inherit-list} { + display: inherit !important; + } + #{$visibility-none-list} { + display: none !important; + } + @if $include-accessibility-classes != false { + #{$visibility-visible-list} { + @include element-invisible-off; + } + #{$visibility-hidden-list} { + @include element-invisible; + } + } + @if $include-table-visibility-classes != false { + #{$visibility-table-list} { + display: table !important; + } + #{$visibility-table-header-group-list} { + display: table-header-group !important; + } + #{$visibility-table-row-group-list} { + display: table-row-group !important; + } + #{$visibility-table-row-list} { + display: table-row !important; + } + #{$visibility-table-cell-list} { + display: table-cell !important; + } + } + } + } +} + + +@if $include-html-visibility-classes != false { + + @include visibility-loop; + + /* Orientation targeting */ + .show-for-landscape, + .hide-for-portrait { display: inherit !important; } + .hide-for-landscape, + .show-for-portrait { display: none !important; } + + /* Specific visibility for tables */ + table { + &.hide-for-landscape, + &.show-for-portrait { display: table !important; } + } + thead { + &.hide-for-landscape, + &.show-for-portrait { display: table-header-group !important; } + } + tbody { + &.hide-for-landscape, + &.show-for-portrait { display: table-row-group !important; } + } + tr { + &.hide-for-landscape, + &.show-for-portrait { display: table-row !important; } + } + td, + th { + &.hide-for-landscape, + &.show-for-portrait { display: table-cell !important; } + } + + @media #{$landscape} { + .show-for-landscape, + .hide-for-portrait { display: inherit !important; } + .hide-for-landscape, + .show-for-portrait { display: none !important; } + + /* Specific visibility for tables */ + table { + &.show-for-landscape, + &.hide-for-portrait { display: table !important; } + } + thead { + &.show-for-landscape, + &.hide-for-portrait { display: table-header-group !important; } + } + tbody { + &.show-for-landscape, + &.hide-for-portrait { display: table-row-group !important; } + } + tr { + &.show-for-landscape, + &.hide-for-portrait { display: table-row !important; } + } + td, + th { + &.show-for-landscape, + &.hide-for-portrait { display: table-cell !important; } + } + } + + @media #{$portrait} { + .show-for-portrait, + .hide-for-landscape { display: inherit !important; } + .hide-for-portrait, + .show-for-landscape { display: none !important; } + + /* Specific visibility for tables */ + table { + &.show-for-portrait, + &.hide-for-landscape { display: table !important; } + } + thead { + &.show-for-portrait, + &.hide-for-landscape { display: table-header-group !important; } + } + tbody { + &.show-for-portrait, + &.hide-for-landscape { display: table-row-group !important; } + } + tr { + &.show-for-portrait, + &.hide-for-landscape { display: table-row !important; } + } + td, + th { + &.show-for-portrait, + &.hide-for-landscape { display: table-cell !important; } + } + } + + /* Touch-enabled device targeting */ + .show-for-touch { display: none !important; } + .hide-for-touch { display: inherit !important; } + .touch .show-for-touch { display: inherit !important; } + .touch .hide-for-touch { display: none !important; } + + /* Specific visibility for tables */ + table.hide-for-touch { display: table !important; } + .touch table.show-for-touch { display: table !important; } + thead.hide-for-touch { display: table-header-group !important; } + .touch thead.show-for-touch { display: table-header-group !important; } + tbody.hide-for-touch { display: table-row-group !important; } + .touch tbody.show-for-touch { display: table-row-group !important; } + tr.hide-for-touch { display: table-row !important; } + .touch tr.show-for-touch { display: table-row !important; } + td.hide-for-touch { display: table-cell !important; } + .touch td.show-for-touch { display: table-cell !important; } + th.hide-for-touch { display: table-cell !important; } + .touch th.show-for-touch { display: table-cell !important; } + + + /* Print visibility */ + @media print { + .show-for-print { display: block; } + .hide-for-print { display: none; } + + table.show-for-print { display: table !important; } + thead.show-for-print { display: table-header-group !important; } + tbody.show-for-print { display: table-row-group !important; } + tr.show-for-print { display: table-row !important; } + td.show-for-print { display: table-cell !important; } + th.show-for-print { display: table-cell !important; } + + } + +} diff --git a/assets/css/atom.scss b/assets/css/atom.scss new file mode 100644 index 0000000000..363cea869d --- /dev/null +++ b/assets/css/atom.scss @@ -0,0 +1,94 @@ +--- +sitemap: + exclude: true +--- +@charset "utf-8"; + +@import "functions.scss"; + +$include-html-classes: false; +@import "01_settings_colors.scss"; +@import "02_settings_typography.scss"; +@import "03_settings_mixins_media_queries.scss"; +@import "04_settings_global.scss"; + +* { + display: block; +} + +:root { + margin: 3em; + background: $body-bg; + color: $body-font-color; + font-family: $body-font-family; +} + +feed { + > title { + text-align: center; + color: lighten($primary-color, 25%); + font-family: $header-font-family; + font-size: $font-size-h1 * 1.5; + font-weight: bolder; + &::before { + content: 'Atom Feed for '; + font-weight: initial; + } + &::after { + content: "This Atom feed is meant to be used by RSS reader applications and websites."; + display: block; + padding: 1em; + background-color: $alert-color; + color: #fff; + font-family: initial; + font-size: initial; + letter-spacing: initial; + } + } + + > id, + > updated, + > subtitle, + > author, + > link, + > generator { + display: none; + } +} + +entry { + padding: 1em 0; + border-bottom: 1px solid invert($body-bg); + &:last-child { + border-bottom: none; + } + + > title { + color: $secondary-color; + font-family: $header-font-family; + font-size: $font-size-h1; + margin-bottom: 0.5em; + } + + > link::after { + content: attr(href); + color: $primary-color; + } + + > updated { + color: $grey-5; + font-size: small; + } + + > summary { + margin-top: 1em; + } + + > id, + > author, + > category, + > published, + > content { + display: none; + } +} diff --git a/assets/css/rss.scss b/assets/css/rss.scss new file mode 100644 index 0000000000..c06de6a99a --- /dev/null +++ b/assets/css/rss.scss @@ -0,0 +1,89 @@ +--- +sitemap: + exclude: true +--- +@charset "utf-8"; + +@import "functions.scss"; + +$include-html-classes: false; +@import "01_settings_colors.scss"; +@import "02_settings_typography.scss"; +@import "03_settings_mixins_media_queries.scss"; +@import "04_settings_global.scss"; + +* { + display: block; +} + +:root { + margin: 3em; + background: $body-bg; + color: $body-font-color; + font-family: $body-font-family; +} + +channel { + > title { + text-align: center; + color: lighten($primary-color, 25%); + font-family: $header-font-family; + font-size: $font-size-h1 * 1.5; + font-weight: bolder; + &::before { + content: 'RSS Feed for '; + font-weight: initial; + } + &::after { + content: "This RSS feed is meant to be used by RSS reader applications and websites."; + display: block; + padding: 1em; + background-color: $alert-color; + color: #fff; + font-family: initial; + font-size: initial; + letter-spacing: initial; + } + } + + > description, + > link { + display: none; + } +} + +item { + padding: 1em 0; + border-bottom: 1px solid invert($body-bg); + &:last-child { + border-bottom: none; + } + + > title { + color: $secondary-color; + font-family: $header-font-family; + font-size: $font-size-h1; + margin-bottom: 0.5em; + } + + > link { + color: $primary-color; + } + + > pubDate { + color: $grey-5; + font-size: small; + } + + > description { + margin-top: 1em; + overflow: hidden; + white-space: nowrap; + text-overflow:ellipsis; + } + + > guid, + > category { + display: none; + } +} diff --git a/assets/css/styles_feeling_responsive.scss b/assets/css/styles_feeling_responsive.scss new file mode 100755 index 0000000000..860ab2213d --- /dev/null +++ b/assets/css/styles_feeling_responsive.scss @@ -0,0 +1,45 @@ +--- +# Only the main Sass file needs front matter, rest is included from site.sass.sass_dir +sitemap: + exclude: true +--- +@charset "utf-8"; + +@import "functions.scss"; +@import "01_settings_colors.scss"; +@import "02_settings_typography.scss"; +@import "03_settings_mixins_media_queries.scss"; +@import "04_settings_global.scss"; +@import "05_normalize.scss"; // normalize.css v3.0.2 + +@import "foundation-components/top-bar"; +@import "foundation-components/accordion"; +@import "foundation-components/alert-boxes"; +@import "foundation-components/breadcrumbs"; +@import "foundation-components/block-grid"; +@import "foundation-components/button-groups"; +@import "foundation-components/buttons"; +@import "foundation-components/clearing"; +@import "foundation-components/dropdown"; +@import "foundation-components/dropdown-buttons"; +@import "foundation-components/flex-video"; +@import "foundation-components/forms"; +@import "foundation-components/grid"; +@import "foundation-components/inline-lists"; +@import "foundation-components/keystrokes"; +@import "foundation-components/panels"; +@import "foundation-components/reveal"; +@import "foundation-components/side-nav"; +@import "foundation-components/sub-nav"; +@import "foundation-components/tables"; +@import "foundation-components/thumbs"; +@import "foundation-components/top-bar"; +@import "foundation-components/type"; +@import "foundation-components/visibility"; + +@import "06_typography.scss"; +@import "07_layout.scss"; +@import "foundation-components/grid"; +@import "09_elements.scss"; + +@import "11_syntax-highlighting.scss"; diff --git a/assets/files/AntiSilo-OSCON-US-2015.pdf b/assets/files/AntiSilo-OSCON-US-2015.pdf new file mode 100644 index 0000000000..be8a8e287b Binary files /dev/null and b/assets/files/AntiSilo-OSCON-US-2015.pdf differ diff --git a/assets/fonts/.fontcustom-manifest.json b/assets/fonts/.fontcustom-manifest.json new file mode 100644 index 0000000000..ae43822ac5 --- /dev/null +++ b/assets/fonts/.fontcustom-manifest.json @@ -0,0 +1,266 @@ +{ + "checksum": { + "previous": "03f5dd2a3a893dc3637cdfbb6da25d276f597ea03db701e7220b5dfcde6ef9bf", + "current": "03f5dd2a3a893dc3637cdfbb6da25d276f597ea03db701e7220b5dfcde6ef9bf" + }, + "fonts": [ + "./iconfont.ttf", + "./iconfont.svg", + "./iconfont.woff", + "./iconfont.eot" + ], + "glyphs": { + "archive": { + "codepoint": 61696, + "source": "svg-files-for-custom-font/archive.svg" + }, + "browser": { + "codepoint": 61697, + "source": "svg-files-for-custom-font/browser.svg" + }, + "calendar": { + "codepoint": 61747, + "source": "svg-files-for-custom-font/calendar.svg" + }, + "camera": { + "codepoint": 61698, + "source": "svg-files-for-custom-font/camera.svg" + }, + "chat": { + "codepoint": 61699, + "source": "svg-files-for-custom-font/chat.svg" + }, + "check": { + "codepoint": 61700, + "source": "svg-files-for-custom-font/check.svg" + }, + "chevron-down": { + "codepoint": 61701, + "source": "svg-files-for-custom-font/chevron-down.svg" + }, + "chevron-left": { + "codepoint": 61702, + "source": "svg-files-for-custom-font/chevron-left.svg" + }, + "chevron-right": { + "codepoint": 61703, + "source": "svg-files-for-custom-font/chevron-right.svg" + }, + "chevron-up": { + "codepoint": 61704, + "source": "svg-files-for-custom-font/chevron-up.svg" + }, + "circle-with-cross": { + "codepoint": 61705, + "source": "svg-files-for-custom-font/circle-with-cross.svg" + }, + "circle-with-minus": { + "codepoint": 61706, + "source": "svg-files-for-custom-font/circle-with-minus.svg" + }, + "circle-with-plus": { + "codepoint": 61707, + "source": "svg-files-for-custom-font/circle-with-plus.svg" + }, + "cloud": { + "codepoint": 61708, + "source": "svg-files-for-custom-font/cloud.svg" + }, + "code": { + "codepoint": 61709, + "source": "svg-files-for-custom-font/code.svg" + }, + "cog": { + "codepoint": 61710, + "source": "svg-files-for-custom-font/cog.svg" + }, + "dropbox": { + "codepoint": 61711, + "source": "svg-files-for-custom-font/dropbox.svg" + }, + "edit": { + "codepoint": 61712, + "source": "svg-files-for-custom-font/edit.svg" + }, + "export": { + "codepoint": 61713, + "source": "svg-files-for-custom-font/export.svg" + }, + "eye": { + "codepoint": 61714, + "source": "svg-files-for-custom-font/eye.svg" + }, + "facebook": { + "codepoint": 61715, + "source": "svg-files-for-custom-font/facebook.svg" + }, + "feather": { + "codepoint": 61716, + "source": "svg-files-for-custom-font/feather.svg" + }, + "github": { + "codepoint": 61717, + "source": "svg-files-for-custom-font/github.svg" + }, + "globe": { + "codepoint": 61718, + "source": "svg-files-for-custom-font/globe.svg" + }, + "googleplus": { + "codepoint": 61750, + "source": "svg-files-for-custom-font/googleplus.svg" + }, + "heart": { + "codepoint": 61719, + "source": "svg-files-for-custom-font/heart.svg" + }, + "heart-outlined": { + "codepoint": 61720, + "source": "svg-files-for-custom-font/heart-outlined.svg" + }, + "home": { + "codepoint": 61721, + "source": "svg-files-for-custom-font/home.svg" + }, + "instagram": { + "codepoint": 61722, + "source": "svg-files-for-custom-font/instagram.svg" + }, + "lab-flask": { + "codepoint": 61723, + "source": "svg-files-for-custom-font/lab-flask.svg" + }, + "leaf": { + "codepoint": 61724, + "source": "svg-files-for-custom-font/leaf.svg" + }, + "linkedin": { + "codepoint": 61725, + "source": "svg-files-for-custom-font/linkedin.svg" + }, + "mail": { + "codepoint": 61726, + "source": "svg-files-for-custom-font/mail.svg" + }, + "message": { + "codepoint": 61727, + "source": "svg-files-for-custom-font/message.svg" + }, + "mic": { + "codepoint": 61728, + "source": "svg-files-for-custom-font/mic.svg" + }, + "network": { + "codepoint": 61729, + "source": "svg-files-for-custom-font/network.svg" + }, + "paper-plane": { + "codepoint": 61730, + "source": "svg-files-for-custom-font/paper-plane.svg" + }, + "pinterest": { + "codepoint": 61731, + "source": "svg-files-for-custom-font/pinterest.svg" + }, + "price-tag": { + "codepoint": 61732, + "source": "svg-files-for-custom-font/price-tag.svg" + }, + "rocket": { + "codepoint": 61733, + "source": "svg-files-for-custom-font/rocket.svg" + }, + "rss": { + "codepoint": 61734, + "source": "svg-files-for-custom-font/rss.svg" + }, + "soundcloud": { + "codepoint": 61735, + "source": "svg-files-for-custom-font/soundcloud.svg" + }, + "star": { + "codepoint": 61736, + "source": "svg-files-for-custom-font/star.svg" + }, + "star-outlined": { + "codepoint": 61737, + "source": "svg-files-for-custom-font/star-outlined.svg" + }, + "thumbs-down": { + "codepoint": 61738, + "source": "svg-files-for-custom-font/thumbs-down.svg" + }, + "thumbs-up": { + "codepoint": 61739, + "source": "svg-files-for-custom-font/thumbs-up.svg" + }, + "tree": { + "codepoint": 61748, + "source": "svg-files-for-custom-font/tree.svg" + }, + "tumblr": { + "codepoint": 61740, + "source": "svg-files-for-custom-font/tumblr.svg" + }, + "twitter": { + "codepoint": 61741, + "source": "svg-files-for-custom-font/twitter.svg" + }, + "upload-to-cloud": { + "codepoint": 61742, + "source": "svg-files-for-custom-font/upload-to-cloud.svg" + }, + "video": { + "codepoint": 61743, + "source": "svg-files-for-custom-font/video.svg" + }, + "vimeo": { + "codepoint": 61744, + "source": "svg-files-for-custom-font/vimeo.svg" + }, + "warning": { + "codepoint": 61745, + "source": "svg-files-for-custom-font/warning.svg" + }, + "xing": { + "codepoint": 61749, + "source": "svg-files-for-custom-font/xing.svg" + }, + "youtube": { + "codepoint": 61746, + "source": "svg-files-for-custom-font/youtube.svg" + } + }, + "options": { + "autowidth": false, + "config": "fontcustom.yml", + "css_selector": ".icon-{{glyph}}", + "debug": false, + "font_ascent": 448, + "font_descent": 64, + "font_design_size": 20, + "font_em": 512, + "font_name": "iconfont", + "force": false, + "input": { + "templates": "svg-files-for-custom-font/", + "vectors": "svg-files-for-custom-font/" + }, + "no_hash": true, + "output": { + "css": ".", + "fonts": ".", + "preview": "." + }, + "preprocessor_path": null, + "quiet": false, + "templates": [ + "css", + "preview" + ] + }, + "templates": [ + "./iconfont.css", + "./iconfont-preview.html" + ] +} \ No newline at end of file diff --git a/assets/fonts/fontcustom.yml b/assets/fonts/fontcustom.yml new file mode 100644 index 0000000000..ccc911c232 --- /dev/null +++ b/assets/fonts/fontcustom.yml @@ -0,0 +1,96 @@ +# ============================================================================= +# Font Custom Configuration +# This file should live in the directory where you run `fontcustom compile`. +# For more info, visit . +# ============================================================================= + + +# ----------------------------------------------------------------------------- +# Project Info +# ----------------------------------------------------------------------------- + +# The font's name. Also determines the file names of generated templates. +font_name: iconfont + +# Format of CSS selectors. {{glyph}} is substituted for the glyph name. +css_selector: .icon-{{glyph}} + +# Generate fonts without asset-busting hashes. +no_hash: true + +# Encode WOFF fonts into the generated CSS. +#base64: true + +# Forces compilation, even if inputs have not changed +#force: true + +# Display (possibly useful) debugging messages. +#debug: true + +# Hide status messages. +#quiet: true + + +# ----------------------------------------------------------------------------- +# Input / Output Locations +# You can save generated fonts, CSS, and other files to different locations +# here. Font Custom can also read input vectors and templates from different +# places. +# +# NOTE: +# - Be sure to preserve the whitespace in these YAML hashes. +# - INPUT[:vectors] and OUTPUT[:fonts] are required. Everything else is +# optional. +# - Specify output locations for custom templates by including their file +# names as the key. +# ----------------------------------------------------------------------------- + +input: + vectors: svg-files-for-custom-font +# templates: my/templates + +output: + fonts: . + css: . +# preview: app/views/styleguide +# my-custom-template.yml: path/to/template/output + + +# ----------------------------------------------------------------------------- +# Templates +# A YAML array of templates and files to generate alongside fonts. Custom +# templates should be saved in the INPUT[:templates] directory and referenced +# by their base file name. +# +# For Rails and Compass templates, set `preprocessor_path` as the relative +# path from OUTPUT[:css] to OUTPUT[:fonts]. By default, these are the same +# directory. +# +# Included in Font Custom: preview, css, scss, scss-rails +# Default: css, preview +# ----------------------------------------------------------------------------- + +#templates: +#- scss-rails +#- preview +#- my-custom-template.yml + +#preprocessor_path: ../fonts/ + + +# ----------------------------------------------------------------------------- +# Font Settings (defaults shown) +# ----------------------------------------------------------------------------- + +# Size (in pica points) for which your font is designed. +font_design_size: 20 + +# The em size. Setting this will scale the entire font to the given size. +#font_em: 512 + +# The font's ascent and descent. Used to calculate the baseline. +#font_ascent: 448 +#font_descent: 64 + +# Horizontally fit glyphs to their individual vector widths. +#autowidth: false diff --git a/assets/fonts/iconfont-preview.html b/assets/fonts/iconfont-preview.html new file mode 100644 index 0000000000..ecb1902223 --- /dev/null +++ b/assets/fonts/iconfont-preview.html @@ -0,0 +1,1028 @@ + + + + iconfont glyphs preview + + + + + + + + + +
+
+

iconfont contains 55 glyphs:

+
Toggle Preview Characters +
+ + +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ +
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+ + + +
+ + diff --git a/assets/fonts/iconfont.css b/assets/fonts/iconfont.css new file mode 100644 index 0000000000..a748578f8b --- /dev/null +++ b/assets/fonts/iconfont.css @@ -0,0 +1,149 @@ +/* + Icon Font: iconfont +*/ + +@font-face { + font-family: "iconfont"; + src: url("./iconfont.eot"); + src: url("./iconfont.eot?#iefix") format("embedded-opentype"), + url("./iconfont.woff") format("woff"), + url("./iconfont.ttf") format("truetype"), + url("./iconfont.svg#iconfont") format("svg"); + font-weight: normal; + font-style: normal; +} + +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: "iconfont"; + src: url("./iconfont.svg#iconfont") format("svg"); + } +} + +[data-icon]:before { content: attr(data-icon); } + +[data-icon]:before, +.icon-archive:before, +.icon-browser:before, +.icon-calendar:before, +.icon-camera:before, +.icon-chat:before, +.icon-check:before, +.icon-chevron-down:before, +.icon-chevron-left:before, +.icon-chevron-right:before, +.icon-chevron-up:before, +.icon-circle-with-cross:before, +.icon-circle-with-minus:before, +.icon-circle-with-plus:before, +.icon-cloud:before, +.icon-code:before, +.icon-cog:before, +.icon-dropbox:before, +.icon-edit:before, +.icon-export:before, +.icon-eye:before, +.icon-facebook:before, +.icon-feather:before, +.icon-github:before, +.icon-globe:before, +.icon-googleplus:before, +.icon-heart:before, +.icon-heart-outlined:before, +.icon-home:before, +.icon-instagram:before, +.icon-lab-flask:before, +.icon-leaf:before, +.icon-linkedin:before, +.icon-mail:before, +.icon-message:before, +.icon-mic:before, +.icon-network:before, +.icon-paper-plane:before, +.icon-pinterest:before, +.icon-price-tag:before, +.icon-rocket:before, +.icon-rss:before, +.icon-soundcloud:before, +.icon-star:before, +.icon-star-outlined:before, +.icon-thumbs-down:before, +.icon-thumbs-up:before, +.icon-tree:before, +.icon-tumblr:before, +.icon-twitter:before, +.icon-upload-to-cloud:before, +.icon-video:before, +.icon-vimeo:before, +.icon-warning:before, +.icon-xing:before, +.icon-youtube:before { + display: inline-block; + font-family: "iconfont"; + font-style: normal; + font-weight: normal; + font-variant: normal; + line-height: 1; + text-decoration: inherit; + text-rendering: optimizeLegibility; + text-transform: none; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; +} + +.icon-archive:before { content: "\f100"; } +.icon-browser:before { content: "\f101"; } +.icon-calendar:before { content: "\f133"; } +.icon-camera:before { content: "\f102"; } +.icon-chat:before { content: "\f103"; } +.icon-check:before { content: "\f104"; } +.icon-chevron-down:before { content: "\f105"; } +.icon-chevron-left:before { content: "\f106"; } +.icon-chevron-right:before { content: "\f107"; } +.icon-chevron-up:before { content: "\f108"; } +.icon-circle-with-cross:before { content: "\f109"; } +.icon-circle-with-minus:before { content: "\f10a"; } +.icon-circle-with-plus:before { content: "\f10b"; } +.icon-cloud:before { content: "\f10c"; } +.icon-code:before { content: "\f10d"; } +.icon-cog:before { content: "\f10e"; } +.icon-dropbox:before { content: "\f10f"; } +.icon-edit:before { content: "\f110"; } +.icon-export:before { content: "\f111"; } +.icon-eye:before { content: "\f112"; } +.icon-facebook:before { content: "\f113"; } +.icon-feather:before { content: "\f114"; } +.icon-github:before { content: "\f115"; } +.icon-globe:before { content: "\f116"; } +.icon-googleplus:before { content: "\f136"; } +.icon-heart:before { content: "\f117"; } +.icon-heart-outlined:before { content: "\f118"; } +.icon-home:before { content: "\f119"; } +.icon-instagram:before { content: "\f11a"; } +.icon-lab-flask:before { content: "\f11b"; } +.icon-leaf:before { content: "\f11c"; } +.icon-linkedin:before { content: "\f11d"; } +.icon-mail:before { content: "\f11e"; } +.icon-message:before { content: "\f11f"; } +.icon-mic:before { content: "\f120"; } +.icon-network:before { content: "\f121"; } +.icon-paper-plane:before { content: "\f122"; } +.icon-pinterest:before { content: "\f123"; } +.icon-price-tag:before { content: "\f124"; } +.icon-rocket:before { content: "\f125"; } +.icon-rss:before { content: "\f126"; } +.icon-soundcloud:before { content: "\f127"; } +.icon-star:before { content: "\f128"; } +.icon-star-outlined:before { content: "\f129"; } +.icon-thumbs-down:before { content: "\f12a"; } +.icon-thumbs-up:before { content: "\f12b"; } +.icon-tree:before { content: "\f134"; } +.icon-tumblr:before { content: "\f12c"; } +.icon-twitter:before { content: "\f12d"; } +.icon-upload-to-cloud:before { content: "\f12e"; } +.icon-video:before { content: "\f12f"; } +.icon-vimeo:before { content: "\f130"; } +.icon-warning:before { content: "\f131"; } +.icon-xing:before { content: "\f135"; } +.icon-youtube:before { content: "\f132"; } diff --git a/assets/fonts/iconfont.eot b/assets/fonts/iconfont.eot new file mode 100644 index 0000000000..af95ebd3c0 Binary files /dev/null and b/assets/fonts/iconfont.eot differ diff --git a/assets/fonts/iconfont.svg b/assets/fonts/iconfont.svg new file mode 100644 index 0000000000..b9e507c292 --- /dev/null +++ b/assets/fonts/iconfont.svg @@ -0,0 +1,273 @@ + + + + + +Created by FontForge 20120731 at Wed Jan 20 15:09:53 2016 + By Andrey Fedorov,,, +Created by Andrey Fedorov,,, with FontForge 2.0 (http://fontforge.sf.net) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fonts/iconfont.ttf b/assets/fonts/iconfont.ttf new file mode 100644 index 0000000000..2dab176b6d Binary files /dev/null and b/assets/fonts/iconfont.ttf differ diff --git a/assets/fonts/iconfont.woff b/assets/fonts/iconfont.woff new file mode 100644 index 0000000000..965649eafb Binary files /dev/null and b/assets/fonts/iconfont.woff differ diff --git a/assets/fonts/svg-files-for-custom-font/.fontcustom-manifest.json b/assets/fonts/svg-files-for-custom-font/.fontcustom-manifest.json new file mode 100644 index 0000000000..77cc52b361 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/.fontcustom-manifest.json @@ -0,0 +1,253 @@ +{ + "checksum": { + "previous": "0eb06cd53c7fe783055fd11030c39772bfa6df061f0e164097dc672c3a31c36d", + "current": "0eb06cd53c7fe783055fd11030c39772bfa6df061f0e164097dc672c3a31c36d" + }, + "fonts": [ + "entypo-custom/entypo-custom.ttf", + "entypo-custom/entypo-custom.svg", + "entypo-custom/entypo-custom.woff", + "entypo-custom/entypo-custom.eot" + ], + "glyphs": { + "archive": { + "codepoint": 61707, + "source": "./archive.svg" + }, + "browser": { + "codepoint": 61708, + "source": "./browser.svg" + }, + "camera": { + "codepoint": 61709, + "source": "./camera.svg" + }, + "chat": { + "codepoint": 61710, + "source": "./chat.svg" + }, + "check": { + "codepoint": 61711, + "source": "./check.svg" + }, + "chevron-down": { + "codepoint": 61745, + "source": "./chevron-down.svg" + }, + "chevron-left": { + "codepoint": 61746, + "source": "./chevron-left.svg" + }, + "chevron-right": { + "codepoint": 61712, + "source": "./chevron-right.svg" + }, + "chevron-up": { + "codepoint": 61713, + "source": "./chevron-up.svg" + }, + "circle-with-cross": { + "codepoint": 61742, + "source": "./circle-with-cross.svg" + }, + "circle-with-minus": { + "codepoint": 61743, + "source": "./circle-with-minus.svg" + }, + "circle-with-plus": { + "codepoint": 61744, + "source": "./circle-with-plus.svg" + }, + "cloud": { + "codepoint": 61741, + "source": "./cloud.svg" + }, + "code": { + "codepoint": 61714, + "source": "./code.svg" + }, + "cog": { + "codepoint": 61715, + "source": "./cog.svg" + }, + "dropbox": { + "codepoint": 61696, + "source": "./dropbox.svg" + }, + "edit": { + "codepoint": 61740, + "source": "./edit.svg" + }, + "export": { + "codepoint": 61739, + "source": "./export.svg" + }, + "eye": { + "codepoint": 61716, + "source": "./eye.svg" + }, + "facebook": { + "codepoint": 61697, + "source": "./facebook.svg" + }, + "feather": { + "codepoint": 61717, + "source": "./feather.svg" + }, + "github": { + "codepoint": 61698, + "source": "./github.svg" + }, + "globe": { + "codepoint": 61718, + "source": "./globe.svg" + }, + "heart": { + "codepoint": 61719, + "source": "./heart.svg" + }, + "heart-outlined": { + "codepoint": 61720, + "source": "./heart-outlined.svg" + }, + "home": { + "codepoint": 61738, + "source": "./home.svg" + }, + "instagram": { + "codepoint": 61699, + "source": "./instagram.svg" + }, + "lab-flask": { + "codepoint": 61737, + "source": "./lab-flask.svg" + }, + "leaf": { + "codepoint": 61736, + "source": "./leaf.svg" + }, + "linkedin": { + "codepoint": 61700, + "source": "./linkedin.svg" + }, + "mail": { + "codepoint": 61735, + "source": "./mail.svg" + }, + "message": { + "codepoint": 61721, + "source": "./message.svg" + }, + "mic": { + "codepoint": 61722, + "source": "./mic.svg" + }, + "network": { + "codepoint": 61723, + "source": "./network.svg" + }, + "paper-plane": { + "codepoint": 61724, + "source": "./paper-plane.svg" + }, + "pinterest": { + "codepoint": 61701, + "source": "./pinterest.svg" + }, + "price-tag": { + "codepoint": 61734, + "source": "./price-tag.svg" + }, + "rocket": { + "codepoint": 61725, + "source": "./rocket.svg" + }, + "rss": { + "codepoint": 61733, + "source": "./rss.svg" + }, + "soundcloud": { + "codepoint": 61702, + "source": "./soundcloud.svg" + }, + "star": { + "codepoint": 61726, + "source": "./star.svg" + }, + "star-outlined": { + "codepoint": 61727, + "source": "./star-outlined.svg" + }, + "thumbs-down": { + "codepoint": 61728, + "source": "./thumbs-down.svg" + }, + "thumbs-up": { + "codepoint": 61732, + "source": "./thumbs-up.svg" + }, + "tumblr": { + "codepoint": 61703, + "source": "./tumblr.svg" + }, + "twitter": { + "codepoint": 61704, + "source": "./twitter.svg" + }, + "upload-to-cloud": { + "codepoint": 61731, + "source": "./upload-to-cloud.svg" + }, + "video": { + "codepoint": 61729, + "source": "./video.svg" + }, + "vimeo": { + "codepoint": 61705, + "source": "./vimeo.svg" + }, + "warning": { + "codepoint": 61730, + "source": "./warning.svg" + }, + "youtube": { + "codepoint": 61706, + "source": "./youtube.svg" + } + }, + "options": { + "autowidth": false, + "config": "fontcustom.yml", + "css_selector": ".icon-{{glyph}}", + "debug": false, + "font_ascent": 448, + "font_descent": 64, + "font_design_size": 20, + "font_em": 512, + "font_name": "entypo-custom", + "fonts": "fonts", + "force": false, + "input": { + "templates": ".", + "vectors": "." + }, + "no_hash": true, + "output": { + "css": "entypo-custom", + "fonts": "entypo-custom", + "preview": "entypo-custom" + }, + "preprocessor_path": null, + "preview": "entypo-custom", + "quiet": false, + "skip_first": false, + "templates": [ + "css", + "preview" + ] + }, + "templates": [ + "entypo-custom/entypo-custom.css", + "entypo-custom/entypo-custom-preview.html" + ] +} \ No newline at end of file diff --git a/assets/fonts/svg-files-for-custom-font/archive.svg b/assets/fonts/svg-files-for-custom-font/archive.svg new file mode 100644 index 0000000000..00f9e8c902 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/archive.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/browser.svg b/assets/fonts/svg-files-for-custom-font/browser.svg new file mode 100644 index 0000000000..ca8c89d56f --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/browser.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/calendar.svg b/assets/fonts/svg-files-for-custom-font/calendar.svg new file mode 100644 index 0000000000..f654214b36 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/calendar.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/camera.svg b/assets/fonts/svg-files-for-custom-font/camera.svg new file mode 100644 index 0000000000..0f11476cbe --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/camera.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/chat.svg b/assets/fonts/svg-files-for-custom-font/chat.svg new file mode 100644 index 0000000000..65b5612467 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/chat.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/check.svg b/assets/fonts/svg-files-for-custom-font/check.svg new file mode 100644 index 0000000000..08ee56d87d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/check.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/chevron-down.svg b/assets/fonts/svg-files-for-custom-font/chevron-down.svg new file mode 100644 index 0000000000..7604d8905f --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/chevron-down.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/chevron-left.svg b/assets/fonts/svg-files-for-custom-font/chevron-left.svg new file mode 100644 index 0000000000..7fda040264 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/chevron-left.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/chevron-right.svg b/assets/fonts/svg-files-for-custom-font/chevron-right.svg new file mode 100644 index 0000000000..0b2251cbb1 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/chevron-right.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/chevron-up.svg b/assets/fonts/svg-files-for-custom-font/chevron-up.svg new file mode 100644 index 0000000000..eb3c9c52ef --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/chevron-up.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/circle-with-cross.svg b/assets/fonts/svg-files-for-custom-font/circle-with-cross.svg new file mode 100644 index 0000000000..cf71b4024f --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/circle-with-cross.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/circle-with-minus.svg b/assets/fonts/svg-files-for-custom-font/circle-with-minus.svg new file mode 100644 index 0000000000..065344d6f0 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/circle-with-minus.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/circle-with-plus.svg b/assets/fonts/svg-files-for-custom-font/circle-with-plus.svg new file mode 100644 index 0000000000..f4f815c88b --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/circle-with-plus.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/cloud.svg b/assets/fonts/svg-files-for-custom-font/cloud.svg new file mode 100644 index 0000000000..a009fe53eb --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/cloud.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/code.svg b/assets/fonts/svg-files-for-custom-font/code.svg new file mode 100644 index 0000000000..33a99fd5d7 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/code.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/cog.svg b/assets/fonts/svg-files-for-custom-font/cog.svg new file mode 100644 index 0000000000..bc6fcfa1ea --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/cog.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/dropbox.svg b/assets/fonts/svg-files-for-custom-font/dropbox.svg new file mode 100644 index 0000000000..61f72c2fdc --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/dropbox.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/edit.svg b/assets/fonts/svg-files-for-custom-font/edit.svg new file mode 100644 index 0000000000..bda9f0e37d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/edit.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/export.svg b/assets/fonts/svg-files-for-custom-font/export.svg new file mode 100644 index 0000000000..ebcfc1fad0 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/export.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/eye.svg b/assets/fonts/svg-files-for-custom-font/eye.svg new file mode 100644 index 0000000000..a735aa941d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/eye.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/facebook.svg b/assets/fonts/svg-files-for-custom-font/facebook.svg new file mode 100644 index 0000000000..dd14318749 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/facebook.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/feather.svg b/assets/fonts/svg-files-for-custom-font/feather.svg new file mode 100644 index 0000000000..fcff3c19bd --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/feather.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/github.svg b/assets/fonts/svg-files-for-custom-font/github.svg new file mode 100644 index 0000000000..0ed94d327a --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/github.svg @@ -0,0 +1,15 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/globe.svg b/assets/fonts/svg-files-for-custom-font/globe.svg new file mode 100644 index 0000000000..59b1570b5d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/globe.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/heart-outlined.svg b/assets/fonts/svg-files-for-custom-font/heart-outlined.svg new file mode 100644 index 0000000000..b1cec2f4f0 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/heart-outlined.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/heart.svg b/assets/fonts/svg-files-for-custom-font/heart.svg new file mode 100644 index 0000000000..5156b11c3e --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/heart.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/home.svg b/assets/fonts/svg-files-for-custom-font/home.svg new file mode 100644 index 0000000000..63e8a4e200 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/home.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/instagram.svg b/assets/fonts/svg-files-for-custom-font/instagram.svg new file mode 100644 index 0000000000..9f7b527a4b --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/instagram.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/lab-flask.svg b/assets/fonts/svg-files-for-custom-font/lab-flask.svg new file mode 100644 index 0000000000..d40e70ed33 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/lab-flask.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/leaf.svg b/assets/fonts/svg-files-for-custom-font/leaf.svg new file mode 100644 index 0000000000..27be54666e --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/leaf.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/linkedin.svg b/assets/fonts/svg-files-for-custom-font/linkedin.svg new file mode 100644 index 0000000000..4541e3cc9d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/linkedin.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/mail.svg b/assets/fonts/svg-files-for-custom-font/mail.svg new file mode 100644 index 0000000000..5988c16f5c --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/mail.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/message.svg b/assets/fonts/svg-files-for-custom-font/message.svg new file mode 100644 index 0000000000..cae288b56d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/message.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/mic.svg b/assets/fonts/svg-files-for-custom-font/mic.svg new file mode 100644 index 0000000000..81f58e14c0 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/mic.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/network.svg b/assets/fonts/svg-files-for-custom-font/network.svg new file mode 100644 index 0000000000..977de033af --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/network.svg @@ -0,0 +1,24 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/paper-plane.svg b/assets/fonts/svg-files-for-custom-font/paper-plane.svg new file mode 100644 index 0000000000..57919d550a --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/paper-plane.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/pinterest.svg b/assets/fonts/svg-files-for-custom-font/pinterest.svg new file mode 100644 index 0000000000..b5f6f6e232 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/pinterest.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/price-tag.svg b/assets/fonts/svg-files-for-custom-font/price-tag.svg new file mode 100644 index 0000000000..1c7fa4f2c8 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/price-tag.svg @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/rocket.svg b/assets/fonts/svg-files-for-custom-font/rocket.svg new file mode 100644 index 0000000000..3eb7415afc --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/rocket.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/rss.svg b/assets/fonts/svg-files-for-custom-font/rss.svg new file mode 100644 index 0000000000..f8f6033aa9 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/rss.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/soundcloud.svg b/assets/fonts/svg-files-for-custom-font/soundcloud.svg new file mode 100644 index 0000000000..3b38471799 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/soundcloud.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/star-outlined.svg b/assets/fonts/svg-files-for-custom-font/star-outlined.svg new file mode 100644 index 0000000000..4759c4050d --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/star-outlined.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/star.svg b/assets/fonts/svg-files-for-custom-font/star.svg new file mode 100644 index 0000000000..d5d321afa2 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/star.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/thumbs-down.svg b/assets/fonts/svg-files-for-custom-font/thumbs-down.svg new file mode 100644 index 0000000000..171e2aa9ea --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/thumbs-down.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/thumbs-up.svg b/assets/fonts/svg-files-for-custom-font/thumbs-up.svg new file mode 100644 index 0000000000..dee3008ea8 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/thumbs-up.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/tree.svg b/assets/fonts/svg-files-for-custom-font/tree.svg new file mode 100644 index 0000000000..45a25805bc --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/tree.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/tumblr.svg b/assets/fonts/svg-files-for-custom-font/tumblr.svg new file mode 100644 index 0000000000..7bc6350131 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/tumblr.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/twitter.svg b/assets/fonts/svg-files-for-custom-font/twitter.svg new file mode 100644 index 0000000000..136d229635 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/twitter.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/upload-to-cloud.svg b/assets/fonts/svg-files-for-custom-font/upload-to-cloud.svg new file mode 100644 index 0000000000..078684721c --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/upload-to-cloud.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/video.svg b/assets/fonts/svg-files-for-custom-font/video.svg new file mode 100644 index 0000000000..f54ba0081e --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/video.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/vimeo.svg b/assets/fonts/svg-files-for-custom-font/vimeo.svg new file mode 100644 index 0000000000..81ed1c0b86 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/vimeo.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/warning.svg b/assets/fonts/svg-files-for-custom-font/warning.svg new file mode 100644 index 0000000000..a571a25210 --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/warning.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/xing.svg b/assets/fonts/svg-files-for-custom-font/xing.svg new file mode 100644 index 0000000000..ca14ad7bed --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/xing.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/fonts/svg-files-for-custom-font/youtube.svg b/assets/fonts/svg-files-for-custom-font/youtube.svg new file mode 100644 index 0000000000..8dbfef6ecc --- /dev/null +++ b/assets/fonts/svg-files-for-custom-font/youtube.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/img/apple-touch-icon-114x114-precomposed.png b/assets/img/apple-touch-icon-114x114-precomposed.png new file mode 100644 index 0000000000..1297c5f8cc Binary files /dev/null and b/assets/img/apple-touch-icon-114x114-precomposed.png differ diff --git a/assets/img/apple-touch-icon-120x120-precomposed.png b/assets/img/apple-touch-icon-120x120-precomposed.png new file mode 100644 index 0000000000..f5df4de4d3 Binary files /dev/null and b/assets/img/apple-touch-icon-120x120-precomposed.png differ diff --git a/assets/img/apple-touch-icon-144x144-precomposed.png b/assets/img/apple-touch-icon-144x144-precomposed.png new file mode 100644 index 0000000000..09aa93aa68 Binary files /dev/null and b/assets/img/apple-touch-icon-144x144-precomposed.png differ diff --git a/assets/img/apple-touch-icon-152x152-precomposed.png b/assets/img/apple-touch-icon-152x152-precomposed.png new file mode 100644 index 0000000000..1297c5f8cc Binary files /dev/null and b/assets/img/apple-touch-icon-152x152-precomposed.png differ diff --git a/assets/img/apple-touch-icon-180x180-precomposed.png b/assets/img/apple-touch-icon-180x180-precomposed.png new file mode 100644 index 0000000000..3f0e0dadd3 Binary files /dev/null and b/assets/img/apple-touch-icon-180x180-precomposed.png differ diff --git a/assets/img/apple-touch-icon-72x72-precomposed.png b/assets/img/apple-touch-icon-72x72-precomposed.png new file mode 100644 index 0000000000..a022a67127 Binary files /dev/null and b/assets/img/apple-touch-icon-72x72-precomposed.png differ diff --git a/assets/img/apple-touch-icon-76x76-precomposed.png b/assets/img/apple-touch-icon-76x76-precomposed.png new file mode 100644 index 0000000000..ca1f6536bc Binary files /dev/null and b/assets/img/apple-touch-icon-76x76-precomposed.png differ diff --git a/assets/img/apple-touch-icon-precomposed.png b/assets/img/apple-touch-icon-precomposed.png new file mode 100644 index 0000000000..8c7188b03f Binary files /dev/null and b/assets/img/apple-touch-icon-precomposed.png differ diff --git a/assets/img/favicon-32x32.png b/assets/img/favicon-32x32.png new file mode 100644 index 0000000000..2584773dee Binary files /dev/null and b/assets/img/favicon-32x32.png differ diff --git a/assets/img/gettingstarted.gif b/assets/img/gettingstarted.gif new file mode 100644 index 0000000000..a647e0d937 Binary files /dev/null and b/assets/img/gettingstarted.gif differ diff --git a/assets/img/isc-logo-114.png b/assets/img/isc-logo-114.png new file mode 100644 index 0000000000..8161c09fe2 Binary files /dev/null and b/assets/img/isc-logo-114.png differ diff --git a/assets/img/isc-logo-120.png b/assets/img/isc-logo-120.png new file mode 100644 index 0000000000..7537800b38 Binary files /dev/null and b/assets/img/isc-logo-120.png differ diff --git a/assets/img/isc-logo-144.png b/assets/img/isc-logo-144.png new file mode 100644 index 0000000000..c90274265c Binary files /dev/null and b/assets/img/isc-logo-144.png differ diff --git a/assets/img/isc-logo-152.png b/assets/img/isc-logo-152.png new file mode 100644 index 0000000000..94c28aaf41 Binary files /dev/null and b/assets/img/isc-logo-152.png differ diff --git a/assets/img/isc-logo-180.png b/assets/img/isc-logo-180.png new file mode 100644 index 0000000000..65e3f1d8f0 Binary files /dev/null and b/assets/img/isc-logo-180.png differ diff --git a/assets/img/isc-logo-192.png b/assets/img/isc-logo-192.png new file mode 100644 index 0000000000..d27e8bbb45 Binary files /dev/null and b/assets/img/isc-logo-192.png differ diff --git a/assets/img/isc-logo-72.png b/assets/img/isc-logo-72.png new file mode 100644 index 0000000000..a8085783da Binary files /dev/null and b/assets/img/isc-logo-72.png differ diff --git a/assets/img/isc-logo-76.png b/assets/img/isc-logo-76.png new file mode 100644 index 0000000000..2f5b64eb25 Binary files /dev/null and b/assets/img/isc-logo-76.png differ diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100644 index 0000000000..68d59cae97 Binary files /dev/null and b/assets/img/logo.png differ diff --git a/assets/img/msapplication_tileimage.png b/assets/img/msapplication_tileimage.png new file mode 100644 index 0000000000..09aa93aa68 Binary files /dev/null and b/assets/img/msapplication_tileimage.png differ diff --git a/assets/img/oldlogo.png b/assets/img/oldlogo.png new file mode 100644 index 0000000000..998a3c9373 Binary files /dev/null and b/assets/img/oldlogo.png differ diff --git a/assets/img/touch-icon-192x192.png b/assets/img/touch-icon-192x192.png new file mode 100644 index 0000000000..f053d585a3 Binary files /dev/null and b/assets/img/touch-icon-192x192.png differ diff --git a/assets/js/javascript.js b/assets/js/javascript.js new file mode 100755 index 0000000000..9146e35369 --- /dev/null +++ b/assets/js/javascript.js @@ -0,0 +1,3349 @@ +/*! + * jQuery JavaScript Library v2.1.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-05-01T17:11Z + */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(hb.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=ob[a]={};return _.each(a.match(nb)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+Math.random()}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ub,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:tb.test(c)?_.parseJSON(c):c}catch(e){}sb.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Kb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)rb.set(a[c],"globalEval",!b||rb.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(rb.hasData(a)&&(f=rb.access(a),g=rb.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sb.hasData(a)&&(h=sb.access(a),i=_.extend({},h),sb.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&yb.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Ob[a];return c||(c=t(a,b),"none"!==c&&c||(Nb=(Nb||_("'; + if (typeof($f) == 'function') { // froogaloop available + var player = $f(container.childNodes[0]); + + player.addEvent('ready', function() { + + player.playVideo = function() { + player.api( 'play' ); + } + player.stopVideo = function() { + player.api( 'unload' ); + } + player.pauseVideo = function() { + player.api( 'pause' ); + } + player.seekTo = function( seconds ) { + player.api( 'seekTo', seconds ); + } + player.setVolume = function( volume ) { + player.api( 'setVolume', volume ); + } + player.setMuted = function( muted ) { + if( muted ) { + player.lastVolume = player.api( 'getVolume' ); + player.api( 'setVolume', 0 ); + } else { + player.api( 'setVolume', player.lastVolume ); + delete player.lastVolume; + } + } + + function createEvent(player, pluginMediaElement, eventName, e) { + var event = { + type: eventName, + target: pluginMediaElement + }; + if (eventName == 'timeupdate') { + pluginMediaElement.currentTime = event.currentTime = e.seconds; + pluginMediaElement.duration = event.duration = e.duration; + } + pluginMediaElement.dispatchEvent(event); + } + + player.addEvent('play', function() { + createEvent(player, pluginMediaElement, 'play'); + createEvent(player, pluginMediaElement, 'playing'); + }); + + player.addEvent('pause', function() { + createEvent(player, pluginMediaElement, 'pause'); + }); + + player.addEvent('finish', function() { + createEvent(player, pluginMediaElement, 'ended'); + }); + + player.addEvent('playProgress', function(e) { + createEvent(player, pluginMediaElement, 'timeupdate', e); + }); + + pluginMediaElement.pluginElement = container; + pluginMediaElement.pluginApi = player; + + // init mejs + mejs.MediaPluginBridge.initPlugin(pluginid); + }); + } + else { + console.warn("You need to include froogaloop for vimeo to work"); + } + break; + } + // hide original element + htmlMediaElement.style.display = 'none'; + // prevent browser from autoplaying when using a plugin + htmlMediaElement.removeAttribute('autoplay'); + + // FYI: options.success will be fired by the MediaPluginBridge + + return pluginMediaElement; + }, + + updateNative: function(playback, options, autoplay, preload) { + + var htmlMediaElement = playback.htmlMediaElement, + m; + + + // add methods to video object to bring it into parity with Flash Object + for (m in mejs.HtmlMediaElement) { + htmlMediaElement[m] = mejs.HtmlMediaElement[m]; + } + + /* + Chrome now supports preload="none" + if (mejs.MediaFeatures.isChrome) { + + // special case to enforce preload attribute (Chrome doesn't respect this) + if (preload === 'none' && !autoplay) { + + // forces the browser to stop loading (note: fails in IE9) + htmlMediaElement.src = ''; + htmlMediaElement.load(); + htmlMediaElement.canceledPreload = true; + + htmlMediaElement.addEventListener('play',function() { + if (htmlMediaElement.canceledPreload) { + htmlMediaElement.src = playback.url; + htmlMediaElement.load(); + htmlMediaElement.play(); + htmlMediaElement.canceledPreload = false; + } + }, false); + // for some reason Chrome forgets how to autoplay sometimes. + } else if (autoplay) { + htmlMediaElement.load(); + htmlMediaElement.play(); + } + } + */ + + // fire success code + options.success(htmlMediaElement, htmlMediaElement); + + return htmlMediaElement; + } +}; + +/* + - test on IE (object vs. embed) + - determine when to use iframe (Firefox, Safari, Mobile) vs. Flash (Chrome, IE) + - fullscreen? +*/ + +// YouTube Flash and Iframe API +mejs.YouTubeApi = { + isIframeStarted: false, + isIframeLoaded: false, + loadIframeApi: function() { + if (!this.isIframeStarted) { + var tag = document.createElement('script'); + tag.src = "//www.youtube.com/player_api"; + var firstScriptTag = document.getElementsByTagName('script')[0]; + firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); + this.isIframeStarted = true; + } + }, + iframeQueue: [], + enqueueIframe: function(yt) { + + if (this.isLoaded) { + this.createIframe(yt); + } else { + this.loadIframeApi(); + this.iframeQueue.push(yt); + } + }, + createIframe: function(settings) { + + var + pluginMediaElement = settings.pluginMediaElement, + player = new YT.Player(settings.containerId, { + height: settings.height, + width: settings.width, + videoId: settings.videoId, + playerVars: {controls:0}, + events: { + 'onReady': function() { + + // hook up iframe object to MEjs + settings.pluginMediaElement.pluginApi = player; + + // init mejs + mejs.MediaPluginBridge.initPlugin(settings.pluginId); + + // create timer + setInterval(function() { + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate'); + }, 250); + }, + 'onStateChange': function(e) { + + mejs.YouTubeApi.handleStateChange(e.data, player, pluginMediaElement); + + } + } + }); + }, + + createEvent: function (player, pluginMediaElement, eventName) { + var event = { + type: eventName, + target: pluginMediaElement + }; + + if (player && player.getDuration) { + + // time + pluginMediaElement.currentTime = event.currentTime = player.getCurrentTime(); + pluginMediaElement.duration = event.duration = player.getDuration(); + + // state + event.paused = pluginMediaElement.paused; + event.ended = pluginMediaElement.ended; + + // sound + event.muted = player.isMuted(); + event.volume = player.getVolume() / 100; + + // progress + event.bytesTotal = player.getVideoBytesTotal(); + event.bufferedBytes = player.getVideoBytesLoaded(); + + // fake the W3C buffered TimeRange + var bufferedTime = event.bufferedBytes / event.bytesTotal * event.duration; + + event.target.buffered = event.buffered = { + start: function(index) { + return 0; + }, + end: function (index) { + return bufferedTime; + }, + length: 1 + }; + + } + + // send event up the chain + pluginMediaElement.dispatchEvent(event); + }, + + iFrameReady: function() { + + this.isLoaded = true; + this.isIframeLoaded = true; + + while (this.iframeQueue.length > 0) { + var settings = this.iframeQueue.pop(); + this.createIframe(settings); + } + }, + + // FLASH! + flashPlayers: {}, + createFlash: function(settings) { + + this.flashPlayers[settings.pluginId] = settings; + + /* + settings.container.innerHTML = + '' + + '' + + '' + + ''; + */ + + var specialIEContainer, + youtubeUrl = '//www.youtube.com/apiplayer?enablejsapi=1&playerapiid=' + settings.pluginId + '&version=3&autoplay=0&controls=0&modestbranding=1&loop=0'; + + if (mejs.MediaFeatures.isIE) { + + specialIEContainer = document.createElement('div'); + settings.container.appendChild(specialIEContainer); + specialIEContainer.outerHTML = '' + + '' + + '' + + '' + + '' + +''; + } else { + settings.container.innerHTML = + '' + + '' + + '' + + ''; + } + + }, + + flashReady: function(id) { + var + settings = this.flashPlayers[id], + player = document.getElementById(id), + pluginMediaElement = settings.pluginMediaElement; + + // hook up and return to MediaELementPlayer.success + pluginMediaElement.pluginApi = + pluginMediaElement.pluginElement = player; + mejs.MediaPluginBridge.initPlugin(id); + + // load the youtube video + player.cueVideoById(settings.videoId); + + var callbackName = settings.containerId + '_callback'; + + window[callbackName] = function(e) { + mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement); + } + + player.addEventListener('onStateChange', callbackName); + + setInterval(function() { + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate'); + }, 250); + + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'canplay'); + }, + + handleStateChange: function(youTubeState, player, pluginMediaElement) { + switch (youTubeState) { + case -1: // not started + pluginMediaElement.paused = true; + pluginMediaElement.ended = true; + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'loadedmetadata'); + //createYouTubeEvent(player, pluginMediaElement, 'loadeddata'); + break; + case 0: + pluginMediaElement.paused = false; + pluginMediaElement.ended = true; + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'ended'); + break; + case 1: + pluginMediaElement.paused = false; + pluginMediaElement.ended = false; + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'play'); + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'playing'); + break; + case 2: + pluginMediaElement.paused = true; + pluginMediaElement.ended = false; + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'pause'); + break; + case 3: // buffering + mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'progress'); + break; + case 5: + // cued? + break; + + } + + } +} +// IFRAME +window.onYouTubePlayerAPIReady = function() { + mejs.YouTubeApi.iFrameReady(); +}; +// FLASH +window.onYouTubePlayerReady = function(id) { + mejs.YouTubeApi.flashReady(id); +}; + +window.mejs = mejs; +window.MediaElement = mejs.MediaElement; + +/* + * Adds Internationalization and localization to mediaelement. + * + * This file does not contain translations, you have to add them manually. + * The schema is always the same: me-i18n-locale-[IETF-language-tag].js + * + * Examples are provided both for german and chinese translation. + * + * + * What is the concept beyond i18n? + * http://en.wikipedia.org/wiki/Internationalization_and_localization + * + * What langcode should i use? + * http://en.wikipedia.org/wiki/IETF_language_tag + * https://tools.ietf.org/html/rfc5646 + * + * + * License? + * + * The i18n file uses methods from the Drupal project (drupal.js): + * - i18n.methods.t() (modified) + * - i18n.methods.checkPlain() (full copy) + * + * The Drupal project is (like mediaelementjs) licensed under GPLv2. + * - http://drupal.org/licensing/faq/#q1 + * - https://github.com/johndyer/mediaelement + * - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * + * @author + * Tim Latz (latz.tim@gmail.com) + * + * + * @params + * - context - document, iframe .. + * - exports - CommonJS, window .. + * + */ +;(function(context, exports, undefined) { + "use strict"; + + var i18n = { + "locale": { + // Ensure previous values aren't overwritten. + "language" : (exports.i18n && exports.i18n.locale.language) || '', + "strings" : (exports.i18n && exports.i18n.locale.strings) || {} + }, + "ietf_lang_regex" : /^(x\-)?[a-z]{2,}(\-\w{2,})?(\-\w{2,})?$/, + "methods" : {} + }; +// start i18n + + + /** + * Get language, fallback to browser's language if empty + * + * IETF: RFC 5646, https://tools.ietf.org/html/rfc5646 + * Examples: en, zh-CN, cmn-Hans-CN, sr-Latn-RS, es-419, x-private + */ + i18n.getLanguage = function () { + var language = i18n.locale.language || window.navigator.userLanguage || window.navigator.language; + return i18n.ietf_lang_regex.exec(language) ? language : null; + + //(WAS: convert to iso 639-1 (2-letters, lower case)) + //return language.substr(0, 2).toLowerCase(); + }; + + // i18n fixes for compatibility with WordPress + if ( typeof mejsL10n != 'undefined' ) { + i18n.locale.language = mejsL10n.language; + } + + + + /** + * Encode special characters in a plain-text string for display as HTML. + */ + i18n.methods.checkPlain = function (str) { + var character, regex, + replace = { + '&': '&', + '"': '"', + '<': '<', + '>': '>' + }; + str = String(str); + for (character in replace) { + if (replace.hasOwnProperty(character)) { + regex = new RegExp(character, 'g'); + str = str.replace(regex, replace[character]); + } + } + return str; + }; + + /** + * Translate strings to the page language or a given language. + * + * + * @param str + * A string containing the English string to translate. + * + * @param options + * - 'context' (defaults to the default context): The context the source string + * belongs to. + * + * @return + * The translated string, escaped via i18n.methods.checkPlain() + */ + i18n.methods.t = function (str, options) { + + // Fetch the localized version of the string. + if (i18n.locale.strings && i18n.locale.strings[options.context] && i18n.locale.strings[options.context][str]) { + str = i18n.locale.strings[options.context][str]; + } + + return i18n.methods.checkPlain(str); + }; + + + /** + * Wrapper for i18n.methods.t() + * + * @see i18n.methods.t() + * @throws InvalidArgumentException + */ + i18n.t = function(str, options) { + + if (typeof str === 'string' && str.length > 0) { + + // check every time due language can change for + // different reasons (translation, lang switcher ..) + var language = i18n.getLanguage(); + + options = options || { + "context" : language + }; + + return i18n.methods.t(str, options); + } + else { + throw { + "name" : 'InvalidArgumentException', + "message" : 'First argument is either not a string or empty.' + }; + } + }; + +// end i18n + exports.i18n = i18n; +}(document, mejs)); + +// i18n fixes for compatibility with WordPress +;(function(exports, undefined) { + + "use strict"; + + if ( typeof mejsL10n != 'undefined' ) { + exports[mejsL10n.language] = mejsL10n.strings; + } + +}(mejs.i18n.locale.strings)); + +/*! + * + * MediaElementPlayer + * http://mediaelementjs.com/ + * + * Creates a controller bar for HTML5