diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000..d8d80e1e93 Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..616df6d332 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config. +/.bundle + +# Ignore all logfiles and tempfiles. +/log/* +/tmp/* +!/log/.keep +!/tmp/.keep + +/node_modules +/yarn-error.log + +.byebug_history + +.env + +/coverage.data +/coverage/ diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000000..b4d8003eab --- /dev/null +++ b/Gemfile @@ -0,0 +1,73 @@ +source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") + "https://github.com/#{repo_name}.git" +end + + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '~> 5.1.4' +# Use postgresql as the database for Active Record +gem 'pg', '~> 0.18' +# Use Puma as the app server +gem 'puma', '~> 3.7' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'therubyracer', platforms: :ruby + +# Use CoffeeScript for .coffee assets and views +# gem 'coffee-rails', '~> 4.2' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.5' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 3.0' +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development +gem "omniauth" +gem "omniauth-github" +gem 'foundation-rails', '6.4.1.2' + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] + # Adds support for Capybara system testing and selenium driver + gem 'capybara', '~> 2.13' + gem 'selenium-webdriver' + gem 'pry-rails' + +end + +group :development do + # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. + gem 'web-console', '>= 3.3.0' + gem 'listen', '>= 3.0.5', '< 3.2' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' + gem 'dotenv-rails' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] + +gem 'jquery-turbolinks' +group :development do + gem 'better_errors' + gem 'pry-rails' + gem 'binding_of_caller' +end + +group :test do + gem 'minitest-rails' + gem 'minitest-reporters' + gem 'simplecov' +end diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000000..0a3526384f --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,268 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.1.4) + actionpack (= 5.1.4) + nio4r (~> 2.0) + websocket-driver (~> 0.6.1) + actionmailer (5.1.4) + actionpack (= 5.1.4) + actionview (= 5.1.4) + activejob (= 5.1.4) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.1.4) + actionview (= 5.1.4) + activesupport (= 5.1.4) + rack (~> 2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.1.4) + activesupport (= 5.1.4) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.1.4) + activesupport (= 5.1.4) + globalid (>= 0.3.6) + activemodel (5.1.4) + activesupport (= 5.1.4) + activerecord (5.1.4) + activemodel (= 5.1.4) + activesupport (= 5.1.4) + arel (~> 8.0) + activesupport (5.1.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (~> 0.7) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + ansi (1.5.0) + arel (8.0.0) + babel-source (5.8.35) + babel-transpiler (0.7.0) + babel-source (>= 4.0, < 6) + execjs (~> 2.0) + better_errors (2.4.0) + coderay (>= 1.0.0) + erubi (>= 1.0.0) + rack (>= 0.9.0) + bindex (0.5.0) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) + builder (3.2.3) + byebug (9.1.0) + capybara (2.15.4) + addressable + mini_mime (>= 0.1.3) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (~> 2.0) + childprocess (0.8.0) + ffi (~> 1.0, >= 1.0.11) + coderay (1.1.2) + concurrent-ruby (1.0.5) + crass (1.0.2) + debug_inspector (0.0.3) + docile (1.1.5) + dotenv (2.2.1) + dotenv-rails (2.2.1) + dotenv (= 2.2.1) + railties (>= 3.2, < 5.2) + erubi (1.7.0) + execjs (2.7.0) + faraday (0.12.2) + multipart-post (>= 1.2, < 3) + ffi (1.9.18) + foundation-rails (6.4.1.2) + railties (>= 3.1.0) + sass (>= 3.3.0, < 3.5) + sprockets-es6 (>= 0.9.0) + globalid (0.4.0) + activesupport (>= 4.2.0) + hashie (3.5.6) + i18n (0.9.0) + concurrent-ruby (~> 1.0) + jbuilder (2.7.0) + activesupport (>= 4.2.0) + multi_json (>= 1.2) + jquery-turbolinks (2.1.0) + railties (>= 3.1.0) + turbolinks + json (2.1.0) + jwt (1.5.6) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + loofah (2.1.1) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.6.6) + mime-types (>= 1.16, < 4) + method_source (0.9.0) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mini_mime (0.1.4) + mini_portile2 (2.3.0) + minitest (5.10.3) + minitest-rails (3.0.0) + minitest (~> 5.8) + railties (~> 5.0) + minitest-reporters (1.1.18) + ansi + builder + minitest (>= 5.0) + ruby-progressbar + multi_json (1.12.2) + multi_xml (0.6.0) + multipart-post (2.0.0) + nio4r (2.1.0) + nokogiri (1.8.1) + mini_portile2 (~> 2.3.0) + oauth2 (1.4.0) + faraday (>= 0.8, < 0.13) + jwt (~> 1.0) + multi_json (~> 1.3) + multi_xml (~> 0.5) + rack (>= 1.2, < 3) + omniauth (1.7.1) + hashie (>= 3.4.6, < 3.6.0) + rack (>= 1.6.2, < 3) + omniauth-github (1.3.0) + omniauth (~> 1.5) + omniauth-oauth2 (>= 1.4.0, < 2.0) + omniauth-oauth2 (1.4.0) + oauth2 (~> 1.0) + omniauth (~> 1.2) + pg (0.21.0) + pry (0.11.2) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + pry-rails (0.3.6) + pry (>= 0.10.4) + public_suffix (3.0.0) + puma (3.10.0) + rack (2.0.3) + rack-test (0.7.0) + rack (>= 1.0, < 3) + rails (5.1.4) + actioncable (= 5.1.4) + actionmailer (= 5.1.4) + actionpack (= 5.1.4) + actionview (= 5.1.4) + activejob (= 5.1.4) + activemodel (= 5.1.4) + activerecord (= 5.1.4) + activesupport (= 5.1.4) + bundler (>= 1.3.0) + railties (= 5.1.4) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.3) + loofah (~> 2.0) + railties (5.1.4) + actionpack (= 5.1.4) + activesupport (= 5.1.4) + method_source + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (12.1.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + ruby-progressbar (1.9.0) + ruby_dep (1.5.0) + rubyzip (1.2.1) + sass (3.4.25) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + selenium-webdriver (3.6.0) + childprocess (~> 0.5) + rubyzip (~> 1.0) + simplecov (0.15.1) + docile (~> 1.1.0) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.2) + spring (2.0.2) + activesupport (>= 4.2) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-es6 (0.9.2) + babel-source (>= 5.8.11) + babel-transpiler + sprockets (>= 3.0.0) + sprockets-rails (3.2.1) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + thor (0.20.0) + thread_safe (0.3.6) + tilt (2.0.8) + turbolinks (5.0.1) + turbolinks-source (~> 5) + turbolinks-source (5.0.3) + tzinfo (1.2.3) + thread_safe (~> 0.1) + uglifier (3.2.0) + execjs (>= 0.3.0, < 3) + web-console (3.5.1) + actionview (>= 5.0) + activemodel (>= 5.0) + bindex (>= 0.4.0) + railties (>= 5.0) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + xpath (2.1.0) + nokogiri (~> 1.3) + +PLATFORMS + ruby + +DEPENDENCIES + better_errors + binding_of_caller + byebug + capybara (~> 2.13) + dotenv-rails + foundation-rails (= 6.4.1.2) + jbuilder (~> 2.5) + jquery-turbolinks + listen (>= 3.0.5, < 3.2) + minitest-rails + minitest-reporters + omniauth + omniauth-github + pg (~> 0.18) + pry-rails + puma (~> 3.7) + rails (~> 5.1.4) + sass-rails (~> 5.0) + selenium-webdriver + simplecov + spring + spring-watcher-listen (~> 2.0.0) + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (>= 3.3.0) + +BUNDLED WITH + 1.16.0.pre.3 diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000000..e85f913914 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000..d74d729f43 Binary files /dev/null and b/app/.DS_Store differ diff --git a/app/assets/.DS_Store b/app/assets/.DS_Store new file mode 100644 index 0000000000..10f526f8e4 Binary files /dev/null and b/app/assets/.DS_Store differ diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js new file mode 100644 index 0000000000..b16e53d6d5 --- /dev/null +++ b/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/app/assets/font/BungeeInline-Regular.eot b/app/assets/font/BungeeInline-Regular.eot new file mode 100755 index 0000000000..65187a8e57 Binary files /dev/null and b/app/assets/font/BungeeInline-Regular.eot differ diff --git a/app/assets/font/BungeeInline-Regular.otf b/app/assets/font/BungeeInline-Regular.otf new file mode 100755 index 0000000000..404beaeea4 Binary files /dev/null and b/app/assets/font/BungeeInline-Regular.otf differ diff --git a/app/assets/font/BungeeInline-Regular.svg b/app/assets/font/BungeeInline-Regular.svg new file mode 100755 index 0000000000..2d8c9a6306 --- /dev/null +++ b/app/assets/font/BungeeInline-Regular.svg @@ -0,0 +1,9115 @@ + + + + +Created by FontForge 20090914 at Thu Oct 26 23:49:49 2017 + By www-data +Copyright 2008 The Bungee Project Authors (david@djr.com) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/font/BungeeInline-Regular.ttf b/app/assets/font/BungeeInline-Regular.ttf new file mode 100755 index 0000000000..6dbd5e1963 Binary files /dev/null and b/app/assets/font/BungeeInline-Regular.ttf differ diff --git a/app/assets/font/BungeeInline-Regular.woff b/app/assets/font/BungeeInline-Regular.woff new file mode 100755 index 0000000000..0b872dd3f8 Binary files /dev/null and b/app/assets/font/BungeeInline-Regular.woff differ diff --git a/app/assets/font/STARWARS.eot b/app/assets/font/STARWARS.eot new file mode 100755 index 0000000000..a5acc30e28 Binary files /dev/null and b/app/assets/font/STARWARS.eot differ diff --git a/app/assets/font/STARWARS.svg b/app/assets/font/STARWARS.svg new file mode 100755 index 0000000000..d1011700b3 --- /dev/null +++ b/app/assets/font/STARWARS.svg @@ -0,0 +1,499 @@ + + + + +Created by FontForge 20110222 at Mon Mar 7 08:31:10 2011 + By www-data +Star Wars Font +by Jose Gonzalez Pareja - 1998 - FREEWARE +Design Copyright by Lucasfilm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/font/STARWARS.ttf b/app/assets/font/STARWARS.ttf new file mode 100755 index 0000000000..d1d0c7e987 Binary files /dev/null and b/app/assets/font/STARWARS.ttf differ diff --git a/app/assets/font/STARWARS.woff b/app/assets/font/STARWARS.woff new file mode 100755 index 0000000000..867cf399e4 Binary files /dev/null and b/app/assets/font/STARWARS.woff differ diff --git a/app/assets/images/.DS_Store b/app/assets/images/.DS_Store new file mode 100644 index 0000000000..5008ddfcf5 Binary files /dev/null and b/app/assets/images/.DS_Store differ diff --git a/app/assets/images/.keep b/app/assets/images/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/assets/images/admiral-ackbar.png b/app/assets/images/admiral-ackbar.png new file mode 100644 index 0000000000..5781380fef Binary files /dev/null and b/app/assets/images/admiral-ackbar.png differ diff --git a/app/assets/images/boba-fett.png b/app/assets/images/boba-fett.png new file mode 100644 index 0000000000..1b85a7ab47 Binary files /dev/null and b/app/assets/images/boba-fett.png differ diff --git a/app/assets/images/c3p0.png b/app/assets/images/c3p0.png new file mode 100644 index 0000000000..9e2d54b1ba Binary files /dev/null and b/app/assets/images/c3p0.png differ diff --git a/app/assets/images/chewbacca.png b/app/assets/images/chewbacca.png new file mode 100644 index 0000000000..a46e9595d5 Binary files /dev/null and b/app/assets/images/chewbacca.png differ diff --git a/app/assets/images/clone-trooper.png b/app/assets/images/clone-trooper.png new file mode 100644 index 0000000000..e5bca7e466 Binary files /dev/null and b/app/assets/images/clone-trooper.png differ diff --git a/app/assets/images/darth-maul.png b/app/assets/images/darth-maul.png new file mode 100644 index 0000000000..77d0feee0c Binary files /dev/null and b/app/assets/images/darth-maul.png differ diff --git a/app/assets/images/darth-vader-faith.jpg b/app/assets/images/darth-vader-faith.jpg new file mode 100644 index 0000000000..a00b4ba9af Binary files /dev/null and b/app/assets/images/darth-vader-faith.jpg differ diff --git a/app/assets/images/darth-vader.png b/app/assets/images/darth-vader.png new file mode 100644 index 0000000000..0f2c2e749f Binary files /dev/null and b/app/assets/images/darth-vader.png differ diff --git a/app/assets/images/emperor-palpatine.png b/app/assets/images/emperor-palpatine.png new file mode 100644 index 0000000000..641f293ab3 Binary files /dev/null and b/app/assets/images/emperor-palpatine.png differ diff --git a/app/assets/images/ep_naturalblack.png b/app/assets/images/ep_naturalblack.png new file mode 100644 index 0000000000..e600af5848 Binary files /dev/null and b/app/assets/images/ep_naturalblack.png differ diff --git a/app/assets/images/ewok.png b/app/assets/images/ewok.png new file mode 100644 index 0000000000..58af6569d3 Binary files /dev/null and b/app/assets/images/ewok.png differ diff --git a/app/assets/images/favicon_red.png b/app/assets/images/favicon_red.png new file mode 100644 index 0000000000..3c54deffc2 Binary files /dev/null and b/app/assets/images/favicon_red.png differ diff --git a/app/assets/images/greedo.png b/app/assets/images/greedo.png new file mode 100644 index 0000000000..85d8082134 Binary files /dev/null and b/app/assets/images/greedo.png differ diff --git a/app/assets/images/han-solo.png b/app/assets/images/han-solo.png new file mode 100644 index 0000000000..538ae4a34b Binary files /dev/null and b/app/assets/images/han-solo.png differ diff --git a/app/assets/images/hero.jpg b/app/assets/images/hero.jpg new file mode 100644 index 0000000000..d75e717589 Binary files /dev/null and b/app/assets/images/hero.jpg differ diff --git a/app/assets/images/jabba-the-hutt.png b/app/assets/images/jabba-the-hutt.png new file mode 100644 index 0000000000..08a4606ac0 Binary files /dev/null and b/app/assets/images/jabba-the-hutt.png differ diff --git a/app/assets/images/jango-fett.png b/app/assets/images/jango-fett.png new file mode 100644 index 0000000000..30609eacd2 Binary files /dev/null and b/app/assets/images/jango-fett.png differ diff --git a/app/assets/images/jawa.png b/app/assets/images/jawa.png new file mode 100644 index 0000000000..f69f7e1525 Binary files /dev/null and b/app/assets/images/jawa.png differ diff --git a/app/assets/images/lando-calrissian.png b/app/assets/images/lando-calrissian.png new file mode 100644 index 0000000000..23347f0550 Binary files /dev/null and b/app/assets/images/lando-calrissian.png differ diff --git a/app/assets/images/lightsaber-darth-vader.png b/app/assets/images/lightsaber-darth-vader.png new file mode 100644 index 0000000000..9d03b6fdcc Binary files /dev/null and b/app/assets/images/lightsaber-darth-vader.png differ diff --git a/app/assets/images/lightsaber-luke-anh.png b/app/assets/images/lightsaber-luke-anh.png new file mode 100644 index 0000000000..e99d2035ce Binary files /dev/null and b/app/assets/images/lightsaber-luke-anh.png differ diff --git a/app/assets/images/lightsaber-luke-rotj.png b/app/assets/images/lightsaber-luke-rotj.png new file mode 100644 index 0000000000..5cc18eb3a9 Binary files /dev/null and b/app/assets/images/lightsaber-luke-rotj.png differ diff --git a/app/assets/images/lobot.png b/app/assets/images/lobot.png new file mode 100644 index 0000000000..88f25d6ac5 Binary files /dev/null and b/app/assets/images/lobot.png differ diff --git a/app/assets/images/luke-skywalker.png b/app/assets/images/luke-skywalker.png new file mode 100644 index 0000000000..053b2bb6e6 Binary files /dev/null and b/app/assets/images/luke-skywalker.png differ diff --git a/app/assets/images/obiwan-kenobi.png b/app/assets/images/obiwan-kenobi.png new file mode 100644 index 0000000000..ae43f25f97 Binary files /dev/null and b/app/assets/images/obiwan-kenobi.png differ diff --git a/app/assets/images/princess-leia.png b/app/assets/images/princess-leia.png new file mode 100644 index 0000000000..308a5535cd Binary files /dev/null and b/app/assets/images/princess-leia.png differ diff --git a/app/assets/images/qui-gon-jinn.png b/app/assets/images/qui-gon-jinn.png new file mode 100644 index 0000000000..b922f1d166 Binary files /dev/null and b/app/assets/images/qui-gon-jinn.png differ diff --git a/app/assets/images/r2d2.png b/app/assets/images/r2d2.png new file mode 100644 index 0000000000..ce051d3aab Binary files /dev/null and b/app/assets/images/r2d2.png differ diff --git a/app/assets/images/red-five.png b/app/assets/images/red-five.png new file mode 100644 index 0000000000..0e2f2c48ae Binary files /dev/null and b/app/assets/images/red-five.png differ diff --git a/app/assets/images/stardust.png b/app/assets/images/stardust.png new file mode 100644 index 0000000000..288a7d2062 Binary files /dev/null and b/app/assets/images/stardust.png differ diff --git a/app/assets/images/stormtrooper.png b/app/assets/images/stormtrooper.png new file mode 100644 index 0000000000..84006d6ade Binary files /dev/null and b/app/assets/images/stormtrooper.png differ diff --git a/app/assets/images/tusken-raider.png b/app/assets/images/tusken-raider.png new file mode 100644 index 0000000000..121e7e2f47 Binary files /dev/null and b/app/assets/images/tusken-raider.png differ diff --git a/app/assets/images/yoda.png b/app/assets/images/yoda.png new file mode 100644 index 0000000000..1362c5af6b Binary files /dev/null and b/app/assets/images/yoda.png differ diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 0000000000..c805d90718 --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,70 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's +// vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require rails-ujs +//= require foundation +//= require turbolinks +//= require_tree . + +// $(function(){ $(document).foundation(); }); +// +// StarWars = (function() { +// +// /* +// * Constructor +// */ +// function StarWars(args) { +// // Context wrapper +// this.el = $(args.el); +// +// // Audio to play the opening crawl +// this.audio = this.el.find('audio').get(0); +// +// // Start the animation +// this.start = this.el.find('.start'); +// +// // The animation wrapper +// this.animation = this.el.find('.animation'); +// +// // Remove animation and shows the start screen +// this.reset(); +// +// // Start the animation on click +// this.start.bind('click', $.proxy(function() { +// this.start.hide(); +// this.audio.play(); +// this.el.append(this.animation); +// }, this)); +// +// // Reset the animation and shows the start screen +// $(this.audio).bind('ended', $.proxy(function() { +// this.audio.currentTime = 0; +// this.reset(); +// }, this)); +// } +// +// /* +// * Resets the animation and shows the start screen. +// */ +// StarWars.prototype.reset = function() { +// this.start.show(); +// this.cloned = this.animation.clone(true); +// this.animation.remove(); +// this.animation = this.cloned; +// }; +// +// return StarWars; +// })(); +// +// new StarWars({ +// el : '.starwars' +// }); diff --git a/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js new file mode 100644 index 0000000000..739aa5f022 --- /dev/null +++ b/app/assets/javascripts/cable.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the `rails generate channel` command. +// +//= require action_cable +//= require_self +//= require_tree ./channels + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/app/assets/javascripts/carts.js b/app/assets/javascripts/carts.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/carts.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/categories.js b/app/assets/javascripts/categories.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/categories.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/channels/.keep b/app/assets/javascripts/channels/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/main.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/merchants.js b/app/assets/javascripts/merchants.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/merchants.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/order_items.js b/app/assets/javascripts/order_items.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/order_items.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/orders.js b/app/assets/javascripts/orders.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/orders.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/payments.js b/app/assets/javascripts/payments.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/payments.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/products.js b/app/assets/javascripts/products.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/products.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/reviews.js b/app/assets/javascripts/reviews.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/reviews.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/javascripts/sessions.js b/app/assets/javascripts/sessions.js new file mode 100644 index 0000000000..dee720facd --- /dev/null +++ b/app/assets/javascripts/sessions.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/stylesheets/_settings.scss b/app/assets/stylesheets/_settings.scss new file mode 100644 index 0000000000..39ba680c03 --- /dev/null +++ b/app/assets/stylesheets/_settings.scss @@ -0,0 +1,862 @@ +// Foundation for Sites Settings +// ----------------------------- +// +// Table of Contents: +// +// 1. Global +// 2. Breakpoints +// 3. The Grid +// 4. Base Typography +// 5. Typography Helpers +// 6. Abide +// 7. Accordion +// 8. Accordion Menu +// 9. Badge +// 10. Breadcrumbs +// 11. Button +// 12. Button Group +// 13. Callout +// 14. Card +// 15. Close Button +// 16. Drilldown +// 17. Dropdown +// 18. Dropdown Menu +// 19. Flexbox Utilities +// 20. Forms +// 21. Label +// 22. Media Object +// 23. Menu +// 24. Meter +// 25. Off-canvas +// 26. Orbit +// 27. Pagination +// 28. Progress Bar +// 29. Prototype Arrow +// 30. Prototype Border-Box +// 31. Prototype Border-None +// 32. Prototype Bordered +// 33. Prototype Display +// 34. Prototype Font-Styling +// 35. Prototype List-Style-Type +// 36. Prototype Overflow +// 37. Prototype Position +// 38. Prototype Rounded +// 39. Prototype Separator +// 40. Prototype Shadow +// 41. Prototype Sizing +// 42. Prototype Spacing +// 43. Prototype Text-Decoration +// 44. Prototype Text-Transformation +// 45. Prototype Text-Utilities +// 46. Responsive Embed +// 47. Reveal +// 48. Slider +// 49. Switch +// 50. Table +// 51. Tabs +// 52. Thumbnail +// 53. Title Bar +// 54. Tooltip +// 55. Top Bar +// 56. Xy Grid + +@import 'util/util'; + +// 1. Global +// --------- + +$global-font-size: 100%; +$global-width: rem-calc(1200); +$global-lineheight: 1.5; +$foundation-palette: ( + primary: #1779ba, + secondary: #767676, + success: #3adb76, + warning: #ffae00, + alert: #cc4b37, +); +$light-gray: #e6e6e6; +$medium-gray: #cacaca; +$dark-gray: #8a8a8a; +$black: #0a0a0a; +$white: #fefefe; +$body-background: $white; +$body-font-color: $black; +$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; +$body-antialiased: true; +$global-margin: 1rem; +$global-padding: 1rem; +$global-position: 1rem; +$global-weight-normal: normal; +$global-weight-bold: bold; +$global-radius: 0; +$global-menu-padding: 0.7rem 1rem; +$global-menu-nested-margin: 1rem; +$global-text-direction: ltr; +$global-flexbox: true; +$global-prototype-breakpoints: false; +$global-color-pick-contrast-tolerance: 0; +$print-transparent-backgrounds: true; + +@include add-foundation-colors; + +// 2. Breakpoints +// -------------- + +$breakpoints: ( + small: 0, + medium: 640px, + large: 1024px, + xlarge: 1200px, + xxlarge: 1440px, +); +$print-breakpoint: large; +$breakpoint-classes: (small medium large); + +// 3. The Grid +// ----------- + +$grid-row-width: $global-width; +$grid-column-count: 12; +$grid-column-gutter: ( + small: 20px, + medium: 30px, +); +$grid-column-align-edge: true; +$grid-column-alias: 'columns'; +$block-grid-max: 8; + +// 4. Base Typography +// ------------------ + +$header-font-family: $body-font-family; +$header-font-weight: $global-weight-normal; +$header-font-style: normal; +$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace; +$header-color: inherit; +$header-lineheight: 1.4; +$header-margin-bottom: 0.5rem; +$header-styles: ( + small: ( + 'h1': ('font-size': 24), + 'h2': ('font-size': 20), + 'h3': ('font-size': 19), + 'h4': ('font-size': 18), + 'h5': ('font-size': 17), + 'h6': ('font-size': 16), + ), + medium: ( + 'h1': ('font-size': 48), + 'h2': ('font-size': 40), + 'h3': ('font-size': 31), + 'h4': ('font-size': 25), + 'h5': ('font-size': 20), + 'h6': ('font-size': 16), + ), +); +$header-text-rendering: optimizeLegibility; +$small-font-size: 80%; +$header-small-font-color: $medium-gray; +$paragraph-lineheight: 1.6; +$paragraph-margin-bottom: 1rem; +$paragraph-text-rendering: optimizeLegibility; +$code-color: $black; +$code-font-family: $font-family-monospace; +$code-font-weight: $global-weight-normal; +$code-background: $light-gray; +$code-border: 1px solid $medium-gray; +$code-padding: rem-calc(2 5 1); +$anchor-color: $primary-color; +$anchor-color-hover: scale-color($anchor-color, $lightness: -14%); +$anchor-text-decoration: none; +$anchor-text-decoration-hover: none; +$hr-width: $global-width; +$hr-border: 1px solid $medium-gray; +$hr-margin: rem-calc(20) auto; +$list-lineheight: $paragraph-lineheight; +$list-margin-bottom: $paragraph-margin-bottom; +$list-style-type: disc; +$list-style-position: outside; +$list-side-margin: 1.25rem; +$list-nested-side-margin: 1.25rem; +$defnlist-margin-bottom: 1rem; +$defnlist-term-weight: $global-weight-bold; +$defnlist-term-margin-bottom: 0.3rem; +$blockquote-color: $dark-gray; +$blockquote-padding: rem-calc(9 20 0 19); +$blockquote-border: 1px solid $medium-gray; +$cite-font-size: rem-calc(13); +$cite-color: $dark-gray; +$cite-pseudo-content: '\2014 \0020'; +$keystroke-font: $font-family-monospace; +$keystroke-color: $black; +$keystroke-background: $light-gray; +$keystroke-padding: rem-calc(2 4 0); +$keystroke-radius: $global-radius; +$abbr-underline: 1px dotted $black; + +// 5. Typography Helpers +// --------------------- + +$lead-font-size: $global-font-size * 1.25; +$lead-lineheight: 1.6; +$subheader-lineheight: 1.4; +$subheader-color: $dark-gray; +$subheader-font-weight: $global-weight-normal; +$subheader-margin-top: 0.2rem; +$subheader-margin-bottom: 0.5rem; +$stat-font-size: 2.5rem; + +// 6. Abide +// -------- + +$abide-inputs: true; +$abide-labels: true; +$input-background-invalid: get-color(alert); +$form-label-color-invalid: get-color(alert); +$input-error-color: get-color(alert); +$input-error-font-size: rem-calc(12); +$input-error-font-weight: $global-weight-bold; + +// 7. Accordion +// ------------ + +$accordion-background: $white; +$accordion-plusminus: true; +$accordion-title-font-size: rem-calc(12); +$accordion-item-color: $primary-color; +$accordion-item-background-hover: $light-gray; +$accordion-item-padding: 1.25rem 1rem; +$accordion-content-background: $white; +$accordion-content-border: 1px solid $light-gray; +$accordion-content-color: $body-font-color; +$accordion-content-padding: 1rem; + +// 8. Accordion Menu +// ----------------- + +$accordionmenu-padding: $global-menu-padding; +$accordionmenu-nested-margin: $global-menu-nested-margin; +$accordionmenu-submenu-padding: $accordionmenu-padding; +$accordionmenu-arrows: true; +$accordionmenu-arrow-color: $primary-color; +$accordionmenu-item-background: null; +$accordionmenu-border: null; +$accordionmenu-submenu-toggle-background: null; +$accordion-submenu-toggle-border: $accordionmenu-border; +$accordionmenu-submenu-toggle-width: 40px; +$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width; +$accordionmenu-arrow-size: 6px; + +// 9. Badge +// -------- + +$badge-background: $primary-color; +$badge-color: $white; +$badge-color-alt: $black; +$badge-palette: $foundation-palette; +$badge-padding: 0.3em; +$badge-minwidth: 2.1em; +$badge-font-size: 0.6rem; + +// 10. Breadcrumbs +// --------------- + +$breadcrumbs-margin: 0 0 $global-margin 0; +$breadcrumbs-item-font-size: rem-calc(11); +$breadcrumbs-item-color: $primary-color; +$breadcrumbs-item-color-current: $black; +$breadcrumbs-item-color-disabled: $medium-gray; +$breadcrumbs-item-margin: 0.75rem; +$breadcrumbs-item-uppercase: true; +$breadcrumbs-item-separator: true; +$breadcrumbs-item-separator-item: '/'; +$breadcrumbs-item-separator-item-rtl: '\\'; +$breadcrumbs-item-separator-color: $medium-gray; + +// 11. Button +// ---------- + +$button-font-family: inherit; +$button-padding: 0.85em 1em; +$button-margin: 0 0 $global-margin 0; +$button-fill: solid; +$button-background: $primary-color; +$button-background-hover: scale-color($button-background, $lightness: -15%); +$button-color: $white; +$button-color-alt: $black; +$button-radius: $global-radius; +$button-hollow-border-width: 1px; +$button-sizes: ( + tiny: 0.6rem, + small: 0.75rem, + default: 0.9rem, + large: 1.25rem, +); +$button-palette: $foundation-palette; +$button-opacity-disabled: 0.25; +$button-background-hover-lightness: -20%; +$button-hollow-hover-lightness: -50%; +$button-transition: background-color 0.25s ease-out, color 0.25s ease-out; + +// 12. Button Group +// ---------------- + +$buttongroup-margin: 1rem; +$buttongroup-spacing: 1px; +$buttongroup-child-selector: '.button'; +$buttongroup-expand-max: 6; +$buttongroup-radius-on-each: true; + +// 13. Callout +// ----------- + +$callout-background: $white; +$callout-background-fade: 85%; +$callout-border: 1px solid rgba($black, 0.25); +$callout-margin: 0 0 1rem 0; +$callout-padding: 1rem; +$callout-font-color: $body-font-color; +$callout-font-color-alt: $body-background; +$callout-radius: $global-radius; +$callout-link-tint: 30%; + +// 14. Card +// -------- + +$card-background: $white; +$card-font-color: $body-font-color; +$card-divider-background: $light-gray; +$card-border: 1px solid $light-gray; +$card-shadow: none; +$card-border-radius: $global-radius; +$card-padding: $global-padding; +$card-margin-bottom: $global-margin; + +// 15. Close Button +// ---------------- + +$closebutton-position: right top; +$closebutton-offset-horizontal: ( + small: 0.66rem, + medium: 1rem, +); +$closebutton-offset-vertical: ( + small: 0.33em, + medium: 0.5rem, +); +$closebutton-size: ( + small: 1.5em, + medium: 2em, +); +$closebutton-lineheight: 1; +$closebutton-color: $dark-gray; +$closebutton-color-hover: $black; + +// 16. Drilldown +// ------------- + +$drilldown-transition: transform 0.15s linear; +$drilldown-arrows: true; +$drilldown-padding: $global-menu-padding; +$drilldown-nested-margin: 0; +$drilldown-background: $white; +$drilldown-submenu-padding: $drilldown-padding; +$drilldown-submenu-background: $white; +$drilldown-arrow-color: $primary-color; +$drilldown-arrow-size: 6px; + +// 17. Dropdown +// ------------ + +$dropdown-padding: 1rem; +$dropdown-background: $body-background; +$dropdown-border: 1px solid $medium-gray; +$dropdown-font-size: 1rem; +$dropdown-width: 300px; +$dropdown-radius: $global-radius; +$dropdown-sizes: ( + tiny: 100px, + small: 200px, + large: 400px, +); + +// 18. Dropdown Menu +// ----------------- + +$dropdownmenu-arrows: true; +$dropdownmenu-arrow-color: $anchor-color; +$dropdownmenu-arrow-size: 6px; +$dropdownmenu-arrow-padding: 1.5rem; +$dropdownmenu-min-width: 200px; +$dropdownmenu-background: $white; +$dropdownmenu-submenu-background: $dropdownmenu-background; +$dropdownmenu-padding: $global-menu-padding; +$dropdownmenu-nested-margin: 0; +$dropdownmenu-submenu-padding: $dropdownmenu-padding; +$dropdownmenu-border: 1px solid $medium-gray; +$dropdown-menu-item-color-active: get-color(primary); +$dropdown-menu-item-background-active: transparent; + +// 19. Flexbox Utilities +// --------------------- + +$flex-source-ordering-count: 6; +$flexbox-responsive-breakpoints: true; + +// 20. Forms +// --------- + +$fieldset-border: 1px solid $medium-gray; +$fieldset-padding: rem-calc(20); +$fieldset-margin: rem-calc(18 0); +$legend-padding: rem-calc(0 3); +$form-spacing: rem-calc(16); +$helptext-color: $black; +$helptext-font-size: rem-calc(13); +$helptext-font-style: italic; +$input-prefix-color: $black; +$input-prefix-background: $light-gray; +$input-prefix-border: 1px solid $medium-gray; +$input-prefix-padding: 1rem; +$form-label-color: $black; +$form-label-font-size: rem-calc(14); +$form-label-font-weight: $global-weight-normal; +$form-label-line-height: 1.8; +$select-background: $white; +$select-triangle-color: $dark-gray; +$select-radius: $global-radius; +$input-color: $black; +$input-placeholder-color: $medium-gray; +$input-font-family: inherit; +$input-font-size: rem-calc(16); +$input-font-weight: $global-weight-normal; +$input-line-height: $global-lineheight; +$input-background: $white; +$input-background-focus: $white; +$input-background-disabled: $light-gray; +$input-border: 1px solid $medium-gray; +$input-border-focus: 1px solid $dark-gray; +$input-padding: $form-spacing / 2; +$input-shadow: inset 0 1px 2px rgba($black, 0.1); +$input-shadow-focus: 0 0 5px $medium-gray; +$input-cursor-disabled: not-allowed; +$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out; +$input-number-spinners: true; +$input-radius: $global-radius; +$form-button-radius: $global-radius; + +// 21. Label +// --------- + +$label-background: $primary-color; +$label-color: $white; +$label-color-alt: $black; +$label-palette: $foundation-palette; +$label-font-size: 0.8rem; +$label-padding: 0.33333rem 0.5rem; +$label-radius: $global-radius; + +// 22. Media Object +// ---------------- + +$mediaobject-margin-bottom: $global-margin; +$mediaobject-section-padding: $global-padding; +$mediaobject-image-width-stacked: 100%; + +// 23. Menu +// -------- + +$menu-margin: 0; +$menu-nested-margin: $global-menu-nested-margin; +$menu-items-padding: $global-menu-padding; +$menu-simple-margin: 1rem; +$menu-item-color-active: $white; +$menu-item-background-active: get-color(primary); +$menu-icon-spacing: 0.25rem; +$menu-item-background-hover: $light-gray; +$menu-state-back-compat: true; +$menu-centered-back-compat: true; + +// 24. Meter +// --------- + +$meter-height: 1rem; +$meter-radius: $global-radius; +$meter-background: $medium-gray; +$meter-fill-good: $success-color; +$meter-fill-medium: $warning-color; +$meter-fill-bad: $alert-color; + +// 25. Off-canvas +// -------------- + +$offcanvas-size: 250px; +$offcanvas-vertical-size: 250px; +$offcanvas-background: $light-gray; +$offcanvas-shadow: 0 0 10px rgba($black, 0.7); +$offcanvas-inner-shadow-size: 20px; +$offcanvas-inner-shadow-color: rgba($black, 0.25); +$offcanvas-overlay-zindex: 11; +$offcanvas-push-zindex: 12; +$offcanvas-overlap-zindex: 13; +$offcanvas-reveal-zindex: 12; +$offcanvas-transition-length: 0.5s; +$offcanvas-transition-timing: ease; +$offcanvas-fixed-reveal: true; +$offcanvas-exit-background: rgba($white, 0.25); +$maincontent-class: 'off-canvas-content'; + +// 26. Orbit +// --------- + +$orbit-bullet-background: $medium-gray; +$orbit-bullet-background-active: $dark-gray; +$orbit-bullet-diameter: 1.2rem; +$orbit-bullet-margin: 0.1rem; +$orbit-bullet-margin-top: 0.8rem; +$orbit-bullet-margin-bottom: 0.8rem; +$orbit-caption-background: rgba($black, 0.5); +$orbit-caption-padding: 1rem; +$orbit-control-background-hover: rgba($black, 0.5); +$orbit-control-padding: 1rem; +$orbit-control-zindex: 10; + +// 27. Pagination +// -------------- + +$pagination-font-size: rem-calc(14); +$pagination-margin-bottom: $global-margin; +$pagination-item-color: $black; +$pagination-item-padding: rem-calc(3 10); +$pagination-item-spacing: rem-calc(1); +$pagination-radius: $global-radius; +$pagination-item-background-hover: $light-gray; +$pagination-item-background-current: $primary-color; +$pagination-item-color-current: $white; +$pagination-item-color-disabled: $medium-gray; +$pagination-ellipsis-color: $black; +$pagination-mobile-items: false; +$pagination-mobile-current-item: false; +$pagination-arrows: true; + +// 28. Progress Bar +// ---------------- + +$progress-height: 1rem; +$progress-background: $medium-gray; +$progress-margin-bottom: $global-margin; +$progress-meter-background: $primary-color; +$progress-radius: $global-radius; + +// 29. Prototype Arrow +// ------------------- + +$prototype-arrow-directions: ( + down, + up, + right, + left +); +$prototype-arrow-size: 0.4375rem; +$prototype-arrow-color: $black; + +// 30. Prototype Border-Box +// ------------------------ + +$prototype-border-box-breakpoints: $global-prototype-breakpoints; + +// 31. Prototype Border-None +// ------------------------- + +$prototype-border-none-breakpoints: $global-prototype-breakpoints; + +// 32. Prototype Bordered +// ---------------------- + +$prototype-bordered-breakpoints: $global-prototype-breakpoints; +$prototype-border-width: rem-calc(1); +$prototype-border-type: solid; +$prototype-border-color: $medium-gray; + +// 33. Prototype Display +// --------------------- + +$prototype-display-breakpoints: $global-prototype-breakpoints; +$prototype-display: ( + inline, + inline-block, + block, + table, + table-cell +); + +// 34. Prototype Font-Styling +// -------------------------- + +$prototype-font-breakpoints: $global-prototype-breakpoints; +$prototype-wide-letter-spacing: rem-calc(4); +$prototype-font-normal: $global-weight-normal; +$prototype-font-bold: $global-weight-bold; + +// 35. Prototype List-Style-Type +// ----------------------------- + +$prototype-list-breakpoints: $global-prototype-breakpoints; +$prototype-style-type-unordered: ( + disc, + circle, + square +); +$prototype-style-type-ordered: ( + decimal, + lower-alpha, + lower-latin, + lower-roman, + upper-alpha, + upper-latin, + upper-roman +); + +// 36. Prototype Overflow +// ---------------------- + +$prototype-overflow-breakpoints: $global-prototype-breakpoints; +$prototype-overflow: ( + visible, + hidden, + scroll +); + +// 37. Prototype Position +// ---------------------- + +$prototype-position-breakpoints: $global-prototype-breakpoints; +$prototype-position: ( + static, + relative, + absolute, + fixed +); +$prototype-position-z-index: 975; + +// 38. Prototype Rounded +// --------------------- + +$prototype-rounded-breakpoints: $global-prototype-breakpoints; +$prototype-border-radius: rem-calc(3); + +// 39. Prototype Separator +// ----------------------- + +$prototype-separator-breakpoints: $global-prototype-breakpoints; +$prototype-separator-align: center; +$prototype-separator-height: rem-calc(2); +$prototype-separator-width: 3rem; +$prototype-separator-background: $primary-color; +$prototype-separator-margin-top: $global-margin; + +// 40. Prototype Shadow +// -------------------- + +$prototype-shadow-breakpoints: $global-prototype-breakpoints; +$prototype-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), + 0 2px 10px 0 rgba(0,0,0,.12); + +// 41. Prototype Sizing +// -------------------- + +$prototype-sizing-breakpoints: $global-prototype-breakpoints; +$prototype-sizing: ( + width, + height +); +$prototype-sizes: ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100% +); + +// 42. Prototype Spacing +// --------------------- + +$prototype-spacing-breakpoints: $global-prototype-breakpoints; +$prototype-spacers-count: 3; + +// 43. Prototype Text-Decoration +// ----------------------------- + +$prototype-decoration-breakpoints: $global-prototype-breakpoints; +$prototype-text-decoration: ( + overline, + underline, + line-through, +); + +// 44. Prototype Text-Transformation +// --------------------------------- + +$prototype-transformation-breakpoints: $global-prototype-breakpoints; +$prototype-text-transformation: ( + lowercase, + uppercase, + capitalize +); + +// 45. Prototype Text-Utilities +// ---------------------------- + +$prototype-utilities-breakpoints: $global-prototype-breakpoints; +$prototype-text-overflow: ellipsis; + +// 46. Responsive Embed +// -------------------- + +$responsive-embed-margin-bottom: rem-calc(16); +$responsive-embed-ratios: ( + default: 4 by 3, + widescreen: 16 by 9, +); + +// 47. Reveal +// ---------- + +$reveal-background: $white; +$reveal-width: 600px; +$reveal-max-width: $global-width; +$reveal-padding: $global-padding; +$reveal-border: 1px solid $medium-gray; +$reveal-radius: $global-radius; +$reveal-zindex: 1005; +$reveal-overlay-background: rgba($black, 0.45); + +// 48. Slider +// ---------- + +$slider-width-vertical: 0.5rem; +$slider-transition: all 0.2s ease-in-out; +$slider-height: 0.5rem; +$slider-background: $light-gray; +$slider-fill-background: $medium-gray; +$slider-handle-height: 1.4rem; +$slider-handle-width: 1.4rem; +$slider-handle-background: $primary-color; +$slider-opacity-disabled: 0.25; +$slider-radius: $global-radius; + +// 49. Switch +// ---------- + +$switch-background: $medium-gray; +$switch-background-active: $primary-color; +$switch-height: 2rem; +$switch-height-tiny: 1.5rem; +$switch-height-small: 1.75rem; +$switch-height-large: 2.5rem; +$switch-radius: $global-radius; +$switch-margin: $global-margin; +$switch-paddle-background: $white; +$switch-paddle-offset: 0.25rem; +$switch-paddle-radius: $global-radius; +$switch-paddle-transition: all 0.25s ease-out; + +// 50. Table +// --------- + +$table-background: #031530; +$table-color-scale: 5%; +$table-border: 3px solid smart-scale($table-background, $table-color-scale); +$table-padding: rem-calc(8 10 10); +$table-hover-scale: 2%; +$table-row-hover: darken($table-background, $table-hover-scale); +$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale); +$table-is-striped: true; +$table-striped-background: smart-scale($table-background, $table-color-scale); +$table-stripe: even; +$table-head-background: smart-scale($table-background, $table-color-scale / 2); +$table-head-row-hover: darken($table-head-background, $table-hover-scale); +$table-foot-background: smart-scale($table-background, $table-color-scale); +$table-foot-row-hover: darken($table-foot-background, $table-hover-scale); +$table-head-font-color: $white; +$table-foot-font-color: $white; +$show-header-for-stacked: false; +$table-stack-breakpoint: medium; + +// 51. Tabs +// -------- + +$tab-margin: 0; +$tab-background: $white; +$tab-color: $primary-color; +$tab-background-active: $light-gray; +$tab-active-color: $primary-color; +$tab-item-font-size: rem-calc(12); +$tab-item-background-hover: $white; +$tab-item-padding: 1.25rem 1.5rem; +$tab-expand-max: 6; +$tab-content-background: $white; +$tab-content-border: $light-gray; +$tab-content-color: $body-font-color; +$tab-content-padding: 1rem; + +// 52. Thumbnail +// ------------- + +$thumbnail-border: solid 4px $white; +$thumbnail-margin-bottom: $global-margin; +$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2); +$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5); +$thumbnail-transition: box-shadow 200ms ease-out; +$thumbnail-radius: $global-radius; + +// 53. Title Bar +// ------------- + +$titlebar-background: $black; +$titlebar-color: $white; +$titlebar-padding: 0.5rem; +$titlebar-text-font-weight: bold; +$titlebar-icon-color: $white; +$titlebar-icon-color-hover: $medium-gray; +$titlebar-icon-spacing: 0.25rem; + +// 54. Tooltip +// ----------- + +$has-tip-cursor: help; +$has-tip-font-weight: $global-weight-bold; +$has-tip-border-bottom: dotted 1px $dark-gray; +$tooltip-background-color: $black; +$tooltip-color: $white; +$tooltip-padding: 0.75rem; +$tooltip-max-width: 10rem; +$tooltip-font-size: $small-font-size; +$tooltip-pip-width: 0.75rem; +$tooltip-pip-height: $tooltip-pip-width * 0.866; +$tooltip-radius: $global-radius; + +// 55. Top Bar +// ----------- + +$topbar-padding: 0.5rem; +$topbar-background: $light-gray; +$topbar-submenu-background: $topbar-background; +$topbar-title-spacing: 0.5rem 1rem 0.5rem 0; +$topbar-input-width: 200px; +$topbar-unstack-breakpoint: medium; + +// 56. Xy Grid +// ----------- + +$xy-grid: true; +$grid-container: $global-width; +$grid-columns: 12; +$grid-margin-gutters: ( + small: 20px, + medium: 30px +); +$grid-padding-gutters: $grid-margin-gutters; +$grid-container-padding: $grid-padding-gutters; +$grid-container-max: $global-width; +$block-grid-max: 8; diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss new file mode 100644 index 0000000000..a8e9e7106f --- /dev/null +++ b/app/assets/stylesheets/application.scss @@ -0,0 +1,389 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's + * vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + *= require foundation_and_overrides + + */ +// @import url('http://fonts.googleapis.com/css?family=Didact+Gothic'); + +@import url('https://fonts.googleapis.com/css?family=Bungee+Inline'); + +// @import font-url('//fonts.googleapis.com/css?family=Asar|Open+Sans'); + +@font-face {font-family:"STARWARS";src:font-url("STARWARS.eot?") format("eot"),font-url("STARWARS.woff") format("woff"),font-url("STARWARS.ttf") format("truetype"),font-url("STARWARS.svg#STARWARS") format("svg");font-weight:normal;font-style:normal;} + +// @font-face {font-family: 'Bungee Inline';src:font-url("BungeeInline-Regular.eot?") format("eot"), font-url("BungeeInline-Regular.woff") format("woff"), font-url("BungeeInline-Regular.ttf") format("truetype"), font-url("BungeeInline-Regular.svg#BungeeInline-Regular") format("svg");font-weight:normal;font-style:normal;} +/****************************************************** + STYLING ACROSS ALL PAGES +*******************************************************/ + +body, html { + margin: 0; + font-family: 'Open Sans', sans-serif; + font-size: 1em; +} + +body { + background-image: image-url('ep_naturalblack.png'); + color: #F6F6F6; +} + +header a { + color: white; +} + +.more-margin { + margin: 50px; +} + +.padding { + padding: 5px; +} + +.align-center { + text-align: center; +} + +.margin-zero { + margin: 0; +} + +.min-width { + min-width: 100% +} + +a.button { + background-color: #020b56; + color: #ffdf00;; + font-family: 'Bungee Inline', cursive; + +} + +input { + // background-color: #FEDD32; + background-color: #020b56; + // color: black; + // font-family: "STARWARS" + color: #ffdf00; + font-family: 'Bungee Inline', cursive; + padding: 12px; + border: none; +} +input:hover { + background-color: #14679e; + color: #fefefe; +} + + +/* ***************************************************** + NAV +****************************************************** */ + +.top-bar ul, .top-bar { + background-color: black; +} + +.navimg { + max-width: 35px; + max-height: 25px; +} + +header a { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; +} + +div.top-bar-left ul.menu li.padding a.nav-link { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; +} + +/* ***************************************************** + DROP DOWN MISC +****************************************************** */ + + +/* The container
- needed to position the dropdown content */ +.dropdown { + // position: relative; + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #282828; + min-width: 130px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +.inside-dropdown { + color: white; + padding: 12px 16px; + text-decoration: none; + display: block; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover { background-color: #003366 } + +/* Show the dropdown menu on hover */ +.dropdown:hover .dropdown-content { + display: block; +} + +.margin-top { + margin-top: 8px; + margin-right: 10px; +} + +// div.nav-menu { +// width: 60%; +// display: flex; +// justify-content: center; +// align-content: center; +// } +// div.nav-menu ul { +// overflow: hidden; +// display: flex; +// justify-content: center; +// align-content: center; +// width: 60%; +// } +// div.nav-menu ul li { +// margin: 1% 0 0 20%; +// width: 45%; +// text-align: center; +// } +// .jedi-content, +// .driver-content { +// display: none; +// position: absolute; +// min-width: 180px; +// background: #fafafa; +// box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); +// z-index: 1; +// } +// .jedi-dropdown a, +// .driver-dropdown a { +// padding: 14px 20px; +// text-decoration: none; +// display: block; +// text-align: left; +// } +// .drop-title i { margin-left: 2%; color: #666; } +// .jedi-content a i, +// .driver-content a i { margin-right: 10%; } +// .jedi-content a:hover, +// .driver-content a:hover { background: #ccc; } +// .jedi-dropdown:hover .passenger-content { display: block; } +// .driver-dropdown:hover .driver-content { display: block; } + + + +/* ***************************************************** +HERO +****************************************************** */ + +// .hero { +// // TODO: Make this height reactive with media breaks +// background-image: image-url('hero.jpg'); +// background-size: cover; +// height: 300px; +// text-align: center; +// display: flex; +// align-items: center; +// justify-content: center; +// +// .hero-section-text a{ +// color: white; +// text-shadow: 1px 1px 2px black; +// } +// } + +.hero h1 { + padding-top: 125px; + font-family: 'STARWARS'; + font-size: 5em; +} + + +.hero { + // TODO: Make this height reactive with media breaks + background-image: image-url('hero.jpg'); + background-size: cover; + height: 350px; + text-align: center; + background-attachment: fixed; + background-position: center; + background-repeat: no-repeat; + + .hero-section-text a { + color: white; + text-shadow: 1px 1px 2px black; + } +} + + +/****************************************************** + FLASH +*******************************************************/ + + +.row.status.success { + font-family: "arial-black"; + border-radius: 5px; + background-color: #202b82; + padding: 20px 25px; + font-size: 1em; + min-width: 100%; +} + +.row.status.failure { + font-family: "arial-black"; + border-radius: 5px; + background-color: #a80609; + padding: 20px 25px; + font-size: 1em; + min-width: 100%; +} + +.no-bg-color { + background-color: transparent; +} +// TODO: would the below code be the same as above and help clean things up? +// .row.status{ +// .success { +// border-radius: 5px; +// background-color: lightblue; +// padding: 20px 25px; +// font-size: 1em; +// min-width: 100%; +// } +// .failure { +// border-radius: 5px; +// background-color: pink; +// padding: 20px 25px; +// font-size: 1em; +// min-width: 100%; +// } +// } +/****************************************************** + INDEX/ROOT +*******************************************************/ + +h1 { + padding: 50px; +} + +.force-index h2 { + padding: 30px; +} +.force-index { + background: image-url('ep_naturalblack.png'); +} + + +/****************************************************** + MAIN +*******************************************************/ + +////////CART//////////// + +.cart-heading { + margin-top: 20px; + padding-top: 30px; + padding-bottom: 20px; +} + +.cart-name { + font-size: 1.5em; + padding-top: 15px; +} + +.checkout { + padding-bottom: 40px; + padding-top: 20px; +} + +.cart-image img { + width: 60%; + padding-bottom: 20px; + padding-left: 80px; +} + +select { + width: 40%; + // margin-left: 50px; +} + +input { + margin-left: 10px; +} + +.text-block { + padding-top: 40px; +} + +.button-large{ + color: #CA4C3D; +} + +hr { + opacity: .5; +} + +.button { + font-size: 1em; +} +/****************************************************** + OPENING +*******************************************************/ + +/****************************************************** + FOOTER +*******************************************************/ + + +.footer-margin { + margin-top: 100px; + padding: 20px; +} + +// footer p { +// opacity: .6; +// margin-bottom: 0; +// // background-color: #282828; +// padding-top: 20px; +// } + +/****************************************************** + TABLES +*******************************************************/ +table { + width: 80%; +} + +.mini{ + width: 100px; + } + + .orderindex{ + max-width: 90px; + max-height: 70px; + } diff --git a/app/assets/stylesheets/carts.scss b/app/assets/stylesheets/carts.scss new file mode 100644 index 0000000000..4938fd566b --- /dev/null +++ b/app/assets/stylesheets/carts.scss @@ -0,0 +1,7 @@ +// Place all the styles related to the Carts controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ + +.gear { + font-size: 1.5em; +} diff --git a/app/assets/stylesheets/categories.scss b/app/assets/stylesheets/categories.scss new file mode 100644 index 0000000000..42976cbc11 --- /dev/null +++ b/app/assets/stylesheets/categories.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Categories controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/foundation_and_overrides.scss b/app/assets/stylesheets/foundation_and_overrides.scss new file mode 100644 index 0000000000..2e528eb34b --- /dev/null +++ b/app/assets/stylesheets/foundation_and_overrides.scss @@ -0,0 +1,54 @@ +@charset 'utf-8'; + +@import 'settings'; +@import 'foundation'; + +// If you'd like to include motion-ui the foundation-rails gem comes prepackaged with it, uncomment the 3 @imports, if you are not using the gem you need to install the motion-ui sass package. +// + + +// We include everything by default. To slim your CSS, remove components you don't use. + +@include foundation-global-styles; +@include foundation-grid; +@include foundation-typography; +@include foundation-button; +@include foundation-forms; +@include foundation-visibility-classes; +@include foundation-float-classes; +@include foundation-accordion; +@include foundation-accordion-menu; +@include foundation-badge; +@include foundation-breadcrumbs; +@include foundation-button-group; +@include foundation-callout; +@include foundation-card; +@include foundation-close-button; +@include foundation-drilldown-menu; +@include foundation-dropdown; +@include foundation-dropdown-menu; +@include foundation-responsive-embed; +@include foundation-label; +@include foundation-media-object; +@include foundation-menu; +@include foundation-menu-icon; +@include foundation-off-canvas; +@include foundation-orbit; +@include foundation-pagination; +@include foundation-progress-bar; +@include foundation-slider; +@include foundation-sticky; +@include foundation-reveal; +@include foundation-switch; +@include foundation-table; +@include foundation-tabs; +@include foundation-thumbnail; +@include foundation-title-bar; +@include foundation-tooltip; +@include foundation-top-bar; + +// If you'd like to include motion-ui the foundation-rails gem comes prepackaged with it, uncomment the 3 @imports, if you are not using the gem you need to install the motion-ui sass package. +// +@import 'motion-ui/motion-ui'; +@include motion-ui-transitions; +@include motion-ui-animations; diff --git a/app/assets/stylesheets/main.scss b/app/assets/stylesheets/main.scss new file mode 100644 index 0000000000..dd6bc9b7d0 --- /dev/null +++ b/app/assets/stylesheets/main.scss @@ -0,0 +1,28 @@ +// Place all the styles related to the main controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ + +h2, footer.bg { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; +} + +.bg-white { + background-color: white; +} + +.small-thumb { + width: 300px; +} + +.more-padding { + padding: 50px; +} + +main.no-bg { + background-color: transparent; +} + +blockquote { + display: inline; +} diff --git a/app/assets/stylesheets/merchants.scss b/app/assets/stylesheets/merchants.scss new file mode 100644 index 0000000000..50932fc230 --- /dev/null +++ b/app/assets/stylesheets/merchants.scss @@ -0,0 +1,20 @@ +table { + font-family: "Arial black"; + text-align: center; +} + +a { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; +} + +a.button { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; + background-color: #031530; +} + +h3, h4 { + color: white; + font-family: 'Bungee Inline', cursive; +} diff --git a/app/assets/stylesheets/order_items.scss b/app/assets/stylesheets/order_items.scss new file mode 100644 index 0000000000..584862de9b --- /dev/null +++ b/app/assets/stylesheets/order_items.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the OrderItems controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/orders.scss b/app/assets/stylesheets/orders.scss new file mode 100644 index 0000000000..42bfeff0a8 --- /dev/null +++ b/app/assets/stylesheets/orders.scss @@ -0,0 +1,10 @@ +// Place all the styles related to the Orders controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ +#complete { + color: #88a003; +} + +#paid { + color: #a50407; +} diff --git a/app/assets/stylesheets/payments.scss b/app/assets/stylesheets/payments.scss new file mode 100644 index 0000000000..90aa409c7d --- /dev/null +++ b/app/assets/stylesheets/payments.scss @@ -0,0 +1,19 @@ +// Place all the styles related to the BillingInfos controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ + +.payment-form label { + color: white; + text-align: left; +} + + +.button { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; + background-color: #020b56; +} + +label { + font-family: "Arial black"; +} diff --git a/app/assets/stylesheets/products.scss b/app/assets/stylesheets/products.scss new file mode 100644 index 0000000000..7a57e05716 --- /dev/null +++ b/app/assets/stylesheets/products.scss @@ -0,0 +1,102 @@ +// Place all the styles related to the Products controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ + +.show-product img { + height: 400px; + width: 400px; + border: 1px solid; + margin-bottom: 30px; +} + +.show-box { + text-align: center; +} + +.description { + display: block; + font-size: 1.2em; + font-family: sans-serif; +} + +.inventory { + font-size: 1.2em; + padding: 30px; +} + +h1 { + color: white; + font-family: 'Bungee Inline', cursive; +} +/* ***************************************************** + INDEX +****************************************************** */ + +#new_order_item { + display: inline-block; +} + +#quantity { + height: 30px; + width: 100px; +} + +.button-style { + font-family: 'Bungee Inline', cursive; + color: #ffdf00 +} + +header.bottom-margin { + margin-bottom: 80px; +} + +.product-block { + padding-top: 25px; +} + +#products-index { + margin: 5%; +} + +p.product-name { + padding-top: 10px; +} + +#available { + font-family: sans-serif; +} + + +/* ***************************************************** + SHOW +****************************************************** */ + +.review h2 { + padding-top: 60px; +} + +.review-details { + padding-top: 20px; + padding-bottom: 20px; +} + +.review-details img { + height:70px; + padding-top: 20px; + padding-left: 5px; + padding-right: 5px; +} + +/* ***************************************************** + EDIT +****************************************************** */ + +.button { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; + background-color: #031530; +} + +label { + font-family: "Arial black"; +} diff --git a/app/assets/stylesheets/reviews.scss b/app/assets/stylesheets/reviews.scss new file mode 100644 index 0000000000..dc8d6fa19f --- /dev/null +++ b/app/assets/stylesheets/reviews.scss @@ -0,0 +1,24 @@ +// Place all the styles related to the Reviews controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ +#review_body { + padding: 40px; + text-align: center; +} + + +// select { +// width:auto; +// border: 1px solid #cccccc; +// background-color: #ffffff; +// } +#review_rating { + width: 100px; + margin: 0; + +} + + .review-button { + margin-top: 30px; + font-size: 1.5em; +} diff --git a/app/assets/stylesheets/sessions.scss b/app/assets/stylesheets/sessions.scss new file mode 100644 index 0000000000..ccb1ed25b2 --- /dev/null +++ b/app/assets/stylesheets/sessions.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Sessions controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb new file mode 100644 index 0000000000..d672697283 --- /dev/null +++ b/app/channels/application_cable/channel.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb new file mode 100644 index 0000000000..0ff5442f47 --- /dev/null +++ b/app/channels/application_cable/connection.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb new file mode 100644 index 0000000000..73a266a79a --- /dev/null +++ b/app/controllers/application_controller.rb @@ -0,0 +1,63 @@ +class ApplicationController < ActionController::Base + protect_from_forgery with: :exception + + before_action :find_merchant + + helper :all + + helper_method :current_order + helper_method :restrict_merchant + # helper_method :number_to_currency + + protected + + def flash_unathorized + flash[:status] = :failure + flash[:message] = "You must be authorized to do that" + end + + def save_and_flash(model) + result = model.save + if result + flash[:status] = :success + flash[:message] = "Successfully saved #{model.class} #{model.id}" + else + flash.now[:status] = :failure + flash.now[:message] = "Failed to save #{model.class}" + flash.now[:details] = model.errors.messages + end + return result + end + + def current_order + if session[:order_id] + Order.find(session[:order_id]) + else + Order.new + end + end + +private + + def find_merchant + if session[:merchant_id] + @login_merchant = Merchant.find_by(id: session[:merchant_id]) + end + end + + + def restrict_merchant(expected_merchant_id) + @merchant = Merchant.find_by(id: expected_merchant_id) + + if @login_merchant && @login_merchant.id == @merchant.id + unless @merchant + head :not_found + end + else + flash[:status] = :failure + flash[:message] = "You must be authorized to do that" + redirect_back fallback_location: root_path + end + end + +end diff --git a/app/controllers/carts_controller.rb b/app/controllers/carts_controller.rb new file mode 100644 index 0000000000..ebd378e5eb --- /dev/null +++ b/app/controllers/carts_controller.rb @@ -0,0 +1,7 @@ +class CartsController < ApplicationController + + def show + @order_items = current_order.order_items + end + +end diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb new file mode 100644 index 0000000000..743ae280df --- /dev/null +++ b/app/controllers/main_controller.rb @@ -0,0 +1,6 @@ +class MainController < ApplicationController + + def index + end + +end diff --git a/app/controllers/merchants_controller.rb b/app/controllers/merchants_controller.rb new file mode 100644 index 0000000000..ca31e56cf4 --- /dev/null +++ b/app/controllers/merchants_controller.rb @@ -0,0 +1,25 @@ +class MerchantsController < ApplicationController + + before_action only:[:show] do + @try_merchant = Merchant.find_by(id: params[:id]) + restrict_merchant(@try_merchant) + end + + def show + @unfufilled = @merchant.orders_hash_by_status("paid").count + @unfufilled_revenue = @merchant.sum_ord_hash("paid") + @complete = @merchant.orders_hash_by_status("complete").count + @complete_revenue = @merchant.sum_ord_hash("complete") + @total = @unfufilled + @complete + @total_revenue = @unfufilled_revenue + @complete_revenue + end + + def products + @merchant = Merchant.find(params[:merchant_id]) + if @login_merchant && @login_merchant.id == @merchant.id + @access = true + end + @products = @merchant.products + end + +end diff --git a/app/controllers/order_items_controller.rb b/app/controllers/order_items_controller.rb new file mode 100644 index 0000000000..3cf8698ab9 --- /dev/null +++ b/app/controllers/order_items_controller.rb @@ -0,0 +1,61 @@ +class OrderItemsController < ApplicationController + + before_action only:[:ship] do + @order_item = OrderItem.find_by(id: params[:id]) + restrict_merchant(@order_item.merchant.id) + end + + def create + @order = current_order + @item = @order.order_items.new(order_items_params) + @order.save + session[:order_id] = @order.id + redirect_to cart_path + end + + + def update + @order_item = OrderItem.find_by(id: params[:id]) + @order_item.update_attributes(order_items_params) + + # order_item can only update the quantity in the cart_controller show + if @order_item.save + flash[:status] = :success + flash[:message] = "The quantity for #{@order_item.product.name} was updated!" + else + flash[:status] = :failure + flash[:message] = "Unable to change quantity. Please try again." + end + redirect_to cart_path + end + + def destroy + @order = current_order + @item = @order.order_items.find(params[:id]) + if @item + @item.destroy + @order.save + else + flash_unathorized + end + redirect_to cart_path + end + + def ship + @order_item.shipped = true + @order_item.save + @order_item.order.change_to_shipped + @order_item.order.save + flash[:status] = "success" + flash[:message] = "Item Shipped" + redirect_back fallback_location: merchant_orders_path(:merchant_id) # redirect_back is going to go first to request.referrer + + end + + private + + def order_items_params + params.require(:order_item).permit(:product_id, :quantity) + end + +end diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb new file mode 100644 index 0000000000..b0eeaaa931 --- /dev/null +++ b/app/controllers/orders_controller.rb @@ -0,0 +1,35 @@ +class OrdersController < ApplicationController + + # TODO: TAKE ALOOK AT THIS. WHAT IS THE MERCHANT ID COMING FROM? SESSIONS? ALREADY A @LOGIN_MERCHANT + before_action only:[:index] do + restrict_merchant(params[:merchant_id]) + end + + def index + if @login_merchant + # @merchant = Merchant.find_by(id: params[:merchant_id]) + @orders = @merchant.distinct_orders + @paid_orders_hash = @merchant.orders_hash_by_status("paid") + # @paid_total = @merchant.sum_ord_hash("paid") + @complete_orders_hash = @merchant.orders_hash_by_status("complete") + # @complete_total = @merchant.sum_ord_hash("complete") + else + flash_unathorized + redirect_to root_path + end + end + + def show + @order = Order.find_by(id: params[:id]) + + unless @order + head :not_found + end + end + + private + + def order_items_params + params.permit(:quantity, :product_id) + end +end diff --git a/app/controllers/payments_controller.rb b/app/controllers/payments_controller.rb new file mode 100644 index 0000000000..ac07dadd7c --- /dev/null +++ b/app/controllers/payments_controller.rb @@ -0,0 +1,62 @@ +class PaymentsController < ApplicationController + + def new # Show the form for billing info + order = Order.find_by(id: params[:order_id]) + if order + @payment = Payment.new + @payment.order_id = params[:order_id] + else + head :not_found + end + end + + def create + @payment = Payment.new(payment_params) + @payment.order_id = params[:order_id] #TODO: May have to change this to @order instead of using the session + + + if @payment.save + order = Order.find_by(id: params[:order_id]) + + order.products.each do |item| + order.order_items.each do |order_item| + item.inventory -= order_item.quantity + item.save + end + end + order.status = "paid" + order.save + + session[:order_id] = nil + + flash[:status] = :success + flash[:message] = "success payment" + redirect_to order_path(@payment.order_id) + + else + flash[:status] = :failure + flash[:message] = "Whoops! Something was wrong when placing your order!" + flash[:details] = @payment.errors.messages + render :new, status: :bad_request + end + end + + + def show + @payment = Payment.find_by(id: params[:id]) + if @login_merchant && @payment + if @login_merchant.orders.ids.include? @payment.order_id + # flash[:status] = :success + return @payment + end + end + flash_unathorized + redirect_to root_path + end + + private + + def payment_params + params.require(:payment).permit(:name, :email, :mailing_address, :cc_name, :cc_expiration, :cc_number, :cc_ccv, :billing_zip) + end +end diff --git a/app/controllers/products_controller.rb b/app/controllers/products_controller.rb new file mode 100644 index 0000000000..b38b154490 --- /dev/null +++ b/app/controllers/products_controller.rb @@ -0,0 +1,93 @@ +class ProductsController < ApplicationController + + before_action only:[:edit] do + @product = Product.find_by(id: params[:id]) + if @product + restrict_merchant(@product.merchant.id) + end + end + + def index + @category = Category.find_by(id: params[:id]) + + if @category + @order_item = OrderItem.new + @products = @category.products + else + head :not_found + end + end + + def show + @order = current_order + @order_item = OrderItem.new + @product = Product.find_by(id: params[:id]) + unless @product + head :not_found + end + end + + def new + if @login_merchant + @product = Product.new + else + flash_unathorized + redirect_to root_path + end + end + + def create + if @login_merchant + # If category exists make a new product + @product = Product.new(products_params) # This pulls in the params from the form and uses the categories and checks to see if the names are already in the database. + @product.merchant_id = @login_merchant.id + if save_and_flash(@product) + redirect_to product_path(@product) + else + render :new, status: :bad_request + end + else + flash_unathorized + redirect_to root_path + end + end + + def edit + if @login_merchant + @product = Product.find_by(id: params[:id]) + unless @product + head :not_found + end + else + flash_unathorized + redirect_to root_path + end + end + + def update + if @login_merchant + @product = Product.find(params[:id]) + + if @product.update_attributes(products_params) + flash[:status] = :success + flash[:message] = "Successfully updated #{@product.name}!" + redirect_to product_path(@product) + else + flash[:status] = :failure + flash[:message] = "There was an error when updating your product" + flash[:details] = @product.errors.messages + render :edit, status: :bad_request + end + else + flash_unathorized + redirect_to root_path + end + end + + private + + def products_params + params.require(:product).permit(:name, :price, :inventory, :description, :photo_url, categories_attributes: [:name]) + end + +end diff --git a/app/controllers/reviews_controller.rb b/app/controllers/reviews_controller.rb new file mode 100644 index 0000000000..fdc271c2a6 --- /dev/null +++ b/app/controllers/reviews_controller.rb @@ -0,0 +1,35 @@ +class ReviewsController < ApplicationController + + def new + product = Product.find_by(id: params[:product_id]) + if product + @review = Review.new + @review.product_id = params[:product_id] + else + render :new, status: :not_found + end + end + + def create + @review = Review.new(reviews_params) + @review.product_id = params[:product_id] + + if @review.save + flash[:status] = :success + flash[:message] = "Thank you for reviewing this product!" + redirect_to product_path(params[:product_id]) # Back to the product show page + else + flash[:status] = :failure + flash[:message] = "Could not submit review. Please try again!" + flash[:errors] = @review.errors.messages + render :new, status: :bad_request + end + end + + private + + def reviews_params + params.require(:review).permit(:review, :rating) + end + +end diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb new file mode 100644 index 0000000000..25b5658c90 --- /dev/null +++ b/app/controllers/sessions_controller.rb @@ -0,0 +1,38 @@ +class SessionsController < ApplicationController + + def login + auth_hash = request.env['omniauth.auth'] + + if auth_hash['uid'] + merchant = Merchant.find_by(provider: params[:provider], uid: auth_hash['uid']) + if merchant.nil? # If merchant was not previously logged in + merchant = Merchant.from_auth_hash(params[:provider], auth_hash) + save_and_flash(merchant) + else # If merchant previously existed + session[:merchant_id] = merchant.id + flash[:status] = :success + flash[:message] = "Welcome back, #{merchant.username}" + end + session[:merchant_id] = merchant.id + session[:merchant_username] = merchant.username + else + flash[:status] = :failure + flash[:message] = "Failed to create a new user" + #TODO: Not sure if the root_path is the correct reroute if an oath uid is not provided + end + + redirect_to root_path + end + + def logout + if @login_merchant + session[:merchant_id] = nil + flash[:status] = :success + flash[:message] = "Successfully logged out!" + else + flash_unathorized + end + redirect_to root_path + end + +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb new file mode 100644 index 0000000000..de6be7945c --- /dev/null +++ b/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/app/helpers/billing_infos_helper.rb b/app/helpers/billing_infos_helper.rb new file mode 100644 index 0000000000..34d07a42b4 --- /dev/null +++ b/app/helpers/billing_infos_helper.rb @@ -0,0 +1,2 @@ +module BillingInfosHelper +end diff --git a/app/helpers/carts_helper.rb b/app/helpers/carts_helper.rb new file mode 100644 index 0000000000..d99c380cb5 --- /dev/null +++ b/app/helpers/carts_helper.rb @@ -0,0 +1,2 @@ +module CartsHelper +end diff --git a/app/helpers/categories_helper.rb b/app/helpers/categories_helper.rb new file mode 100644 index 0000000000..e06f31554c --- /dev/null +++ b/app/helpers/categories_helper.rb @@ -0,0 +1,2 @@ +module CategoriesHelper +end diff --git a/app/helpers/main_helper.rb b/app/helpers/main_helper.rb new file mode 100644 index 0000000000..826effed96 --- /dev/null +++ b/app/helpers/main_helper.rb @@ -0,0 +1,2 @@ +module MainHelper +end diff --git a/app/helpers/merchants_helper.rb b/app/helpers/merchants_helper.rb new file mode 100644 index 0000000000..5337747b0f --- /dev/null +++ b/app/helpers/merchants_helper.rb @@ -0,0 +1,2 @@ +module MerchantsHelper +end diff --git a/app/helpers/order_items_helper.rb b/app/helpers/order_items_helper.rb new file mode 100644 index 0000000000..e197528ae1 --- /dev/null +++ b/app/helpers/order_items_helper.rb @@ -0,0 +1,2 @@ +module OrderItemsHelper +end diff --git a/app/helpers/orders_helper.rb b/app/helpers/orders_helper.rb new file mode 100644 index 0000000000..443227fd48 --- /dev/null +++ b/app/helpers/orders_helper.rb @@ -0,0 +1,2 @@ +module OrdersHelper +end diff --git a/app/helpers/products_helper.rb b/app/helpers/products_helper.rb new file mode 100644 index 0000000000..ab5c42b325 --- /dev/null +++ b/app/helpers/products_helper.rb @@ -0,0 +1,2 @@ +module ProductsHelper +end diff --git a/app/helpers/reviews_helper.rb b/app/helpers/reviews_helper.rb new file mode 100644 index 0000000000..682b7b1abc --- /dev/null +++ b/app/helpers/reviews_helper.rb @@ -0,0 +1,2 @@ +module ReviewsHelper +end diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb new file mode 100644 index 0000000000..309f8b2eb3 --- /dev/null +++ b/app/helpers/sessions_helper.rb @@ -0,0 +1,2 @@ +module SessionsHelper +end diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb new file mode 100644 index 0000000000..a009ace51c --- /dev/null +++ b/app/jobs/application_job.rb @@ -0,0 +1,2 @@ +class ApplicationJob < ActiveJob::Base +end diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb new file mode 100644 index 0000000000..286b2239d1 --- /dev/null +++ b/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout 'mailer' +end diff --git a/app/models/application_record.rb b/app/models/application_record.rb new file mode 100644 index 0000000000..10a4cba84d --- /dev/null +++ b/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/app/models/category.rb b/app/models/category.rb new file mode 100644 index 0000000000..7584521288 --- /dev/null +++ b/app/models/category.rb @@ -0,0 +1,6 @@ +class Category < ApplicationRecord + has_many :product_categories + has_many :products, through: :product_categories + + validates :name, presence: true, uniqueness: true +end diff --git a/app/models/concerns/.keep b/app/models/concerns/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/models/merchant.rb b/app/models/merchant.rb new file mode 100644 index 0000000000..69f71fe260 --- /dev/null +++ b/app/models/merchant.rb @@ -0,0 +1,41 @@ +class Merchant < ApplicationRecord + # Relationships + has_many :products, dependent: :destroy + has_many :order_items, through: :products + has_many :orders, through: :order_items + + # Make sure to add and validate uid and provider when we get around to Oauth + validates :username, presence: true, uniqueness: true + validates :email, presence: true, uniqueness: true + + def self.from_auth_hash(provider, auth_hash) + merchant = new + merchant.provider = provider + merchant.uid = auth_hash['uid'] + merchant.email = auth_hash['info']['email'] + merchant.username = auth_hash['info']['nickname'] + return merchant + end + + def orders_hash + data = {} + self.distinct_orders.each do |order| + data[order] = order.order_items.select { |oi| oi.merchant == self } + end + return data + end + + def orders_hash_by_status(order_status) + var = self.orders_hash + return var.select{ |k,v| k.status == order_status} + end + + def distinct_orders + return self.orders.distinct + end + + def sum_ord_hash(order_status) + var = self.orders_hash_by_status(order_status) + return var.values.flatten.inject(0) {|sum, oi| sum + oi.line_item_total} + end +end diff --git a/app/models/order.rb b/app/models/order.rb new file mode 100644 index 0000000000..333d2f83a3 --- /dev/null +++ b/app/models/order.rb @@ -0,0 +1,36 @@ +class Order < ApplicationRecord + CATEGORIES = %w(paid complete) + has_many :order_items + has_many :products, through: :order_items + has_one :payment + + validates :status, presence: true + + #TODO Test calculate total + + #TODO Can we use line_item_total here? + + def calculate_total + self.order_items.collect { |item| item.product.price * item.quantity}.sum + end + + def ship_order + all_items = self.order_items + if all_items.empty? + return false + else + all_items.each do |order_item| + if order_item.shipped == false + return false + end + end + end + return true + end + + def change_to_shipped + if self.ship_order + return self.status = "complete" + end + end +end diff --git a/app/models/order_item.rb b/app/models/order_item.rb new file mode 100644 index 0000000000..b4a3d119ee --- /dev/null +++ b/app/models/order_item.rb @@ -0,0 +1,17 @@ +class OrderItem < ApplicationRecord + # Relationships + belongs_to :product + belongs_to :order + has_one :merchant, through: :product + + # Validations + validates_uniqueness_of :order_id, :scope => :product_id + validates :quantity, presence: true, numericality: { greater_than: 0} + + def line_item_total + price = self.product.price + quantity = self.quantity + total = price * quantity + return total + end +end diff --git a/app/models/payment.rb b/app/models/payment.rb new file mode 100644 index 0000000000..5ace6c87fc --- /dev/null +++ b/app/models/payment.rb @@ -0,0 +1,23 @@ +class Payment < ApplicationRecord + has_one :order + + validates :name, presence: { message: "Must include a name" } + validates :email, presence: { message: "Must have an email" } + validates :mailing_address, presence: { message: "Must have a mailing address" } + validates :cc_name, presence: { message: "Must have a credit card name" } + validates :cc_expiration, presence: { message: "Must have an expiration date" } + validate :expiration_date_cannot_be_in_the_past + validates :cc_number, presence: { message: "Must have a credit card number" } + validates :cc_number, format: { with: /\b\d{13,16}\b/, message: "Enter a valid credit card number" } + validates :cc_ccv, presence: { message: "Must include a ccv number" } + validates :cc_ccv, format: { with: /\b\d{3}\b/, message: "Must enter a valid CCV" } + validates :billing_zip, presence: { message: "Must include a billing zip code" } + validates :billing_zip, format: { with: /\b\d{5}\b/, message: "Enter a valid ZIP code" } + + def expiration_date_cannot_be_in_the_past + if cc_expiration.present? && cc_expiration < Date.today + errors.add(:cc_expiration, "Expiration date can't be in the past") + end + end + +end diff --git a/app/models/product.rb b/app/models/product.rb new file mode 100644 index 0000000000..d92231e5af --- /dev/null +++ b/app/models/product.rb @@ -0,0 +1,38 @@ +class Product < ApplicationRecord + belongs_to :merchant + has_many :reviews, dependent: :destroy + has_many :order_items, dependent: :destroy + has_many :orders, through: :order_items + has_many :product_categories, dependent: :destroy + has_many :categories, through: :product_categories + + validates :name, presence: true, uniqueness: true + validates :price, presence: true, numericality: { greater_than: 0} + validates :inventory, presence: true, numericality: { greater_than_or_equal_to: 0} + validates :categories, presence: true + + # TODO: Ask instructors if we need to state this validation b/c the relationship dictates that we need a merchant + validates :merchant, presence: true + accepts_nested_attributes_for :categories + + def categories_attributes=(category_attributes) + category_attributes.values.each do |category_attribute| + category = Category.find_or_create_by(category_attribute) + if !self.categories.include? category + self.categories << category + end + end + end + + def average_rating + if self.reviews.count > 0 + total = 0.0 + self.reviews.each do |r| + total += r.rating + end + total /= self.reviews.count + return total + end + end #def + +end #class diff --git a/app/models/product_category.rb b/app/models/product_category.rb new file mode 100644 index 0000000000..6a4b58aed9 --- /dev/null +++ b/app/models/product_category.rb @@ -0,0 +1,6 @@ +class ProductCategory < ApplicationRecord + belongs_to :product + belongs_to :category + + validates_uniqueness_of :product_id, :scope => :category_id +end diff --git a/app/models/review.rb b/app/models/review.rb new file mode 100644 index 0000000000..e38e79dc87 --- /dev/null +++ b/app/models/review.rb @@ -0,0 +1,5 @@ +class Review < ApplicationRecord + belongs_to :product + + validates :rating, numericality: { only_integer: true, greater_than_or_equal_to: 1, less_than_or_equal_to: 5 } +end diff --git a/app/views/.DS_Store b/app/views/.DS_Store new file mode 100644 index 0000000000..86110446f4 Binary files /dev/null and b/app/views/.DS_Store differ diff --git a/app/views/carts/show.html.erb b/app/views/carts/show.html.erb new file mode 100644 index 0000000000..07198bead6 --- /dev/null +++ b/app/views/carts/show.html.erb @@ -0,0 +1,40 @@ + +
+
+ <% if @order_items.any? %> +

Your Cart

+

Your Total: <%= number_to_currency current_order.calculate_total %>

+

The Gear You are Looking for

+ <%= link_to "Checkout", "/orders/#{current_order.id}/payments/new", class: 'button large' %> + <% else %> +

I find your lack of items disturbing...

+ <%= image_tag'darth-vader-faith.jpg'%> + + <%end %> +
+ +
+ <% if @order_items.any? %> + <% @order_items.each do |item| %> + +
+ /> +
+ +
+

Unit Price: <%= number_to_currency item.product.price %> | Quantity: <%= item.quantity %>

+

Total Price: <%= number_to_currency (item.product.price * item.quantity) %>

+ <%= form_for item do |f| %> + <%= f.select :quantity, 1..item.product.inventory %> + <%= f.submit %> + <% end %> +
+ <%= button_to "Delete", order_item_path(item), method: :delete %>
+
+ +
+ <% end %> + + <% end %> +
+
diff --git a/app/views/categories/index.html.erb b/app/views/categories/index.html.erb new file mode 100644 index 0000000000..c0dfbaeeba --- /dev/null +++ b/app/views/categories/index.html.erb @@ -0,0 +1 @@ +This is the index of all categories page! diff --git a/app/views/categories/show.html.erb b/app/views/categories/show.html.erb new file mode 100644 index 0000000000..1faadec70e --- /dev/null +++ b/app/views/categories/show.html.erb @@ -0,0 +1 @@ +THis is the category show page as a place holder for the categories/id/products diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb new file mode 100644 index 0000000000..24937bd17d --- /dev/null +++ b/app/views/layouts/application.html.erb @@ -0,0 +1,139 @@ + + + + + + + <%= content_for?(:title) ? yield(:title) : "StarMart" %> + + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag "application", 'data-turbolinks-track' => true %> + <%= csrf_meta_tags %> + <%= favicon_link_tag 'favicon_red.png'%> + + + + + <%############### CATEGORIES NAVIGATION #################### %> + + <%# Need to utilize %> +
+
+
+ +
+ + <%############### LOGIN NAVIGATION #################### %> + +
+ +
+ +
+
+ + <%############### HERO HEADER #################### %> + + +
+
+ <%= link_to root_path do %> +

STARMART

+ <% end %> +
+
+ + + <%############### FLASH MESSAGES #################### %> + +
+ + <% if flash[:status] == :failure %> + <%= "A problem occurred: #{flash[:message]}" %> + <% if flash[:details] %> + + <% else %> + <%= flash[:message] %> + <% end %> + + +
+ + <%############### MAIN CONTENT #################### %> + + <%= yield %> + + <%############### STAR WARS OPENING #################### %> + + <%# TODO: ADD THE STAR WARS THEME HERE IF TIME + + + + <%############### FOOTER #################### %> + + + + + + diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb new file mode 100644 index 0000000000..cbd34d2e9d --- /dev/null +++ b/app/views/layouts/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + + + + <%= yield %> + + diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb new file mode 100644 index 0000000000..37f0bddbd7 --- /dev/null +++ b/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb new file mode 100644 index 0000000000..157a82ffc0 --- /dev/null +++ b/app/views/main/index.html.erb @@ -0,0 +1,19 @@ +
+
+
+

The Force's Pick

+
+ + <% if Product.any? %> + <% product = Product.first %> +
+ <%= link_to image_tag(product.photo_url), product_path(product), class:"padding", alt:"#{product.name}" %> +
+

<%= product.name %>

+

<%= number_to_currency product.price %>

+ <% else %> +

Products coming soon!

+ <% end %> + +
+
diff --git a/app/views/merchants/products.html.erb b/app/views/merchants/products.html.erb new file mode 100644 index 0000000000..1b7e0624e4 --- /dev/null +++ b/app/views/merchants/products.html.erb @@ -0,0 +1,39 @@ +
+
+

<%= @merchant.username %>'s Products

+ <% if @access %> + <%= link_to "Add Product", new_product_path, class: "button"%> + <% end %> +
+ + <% unless @products.empty? %> + + + + + + + <% if @access %> + + <% end %> + + + + <% @products.each do |product| %> + + + + + <% if @access %> + + <% end %> + + <% end %> + +
NameInventoryImg 
<%= link_to product.name, product_path(product) %><%= product.inventory %><%= image_tag product.photo_url, class:"thumbnail mini"%><%= link_to "Edit", edit_product_path(product)%>
+ <% else %> +

+ No Products: Merchant has no products. +

+ <% end %> +
diff --git a/app/views/merchants/show.html.erb b/app/views/merchants/show.html.erb new file mode 100644 index 0000000000..c7f607c228 --- /dev/null +++ b/app/views/merchants/show.html.erb @@ -0,0 +1,47 @@ +
+
+

Your Dashboard <%= @login_merchant.username %>

+

Member Since <%= @login_merchant.created_at.strftime("%e %b %Y")%>

+ <%= link_to "Manage Orders", merchant_orders_path(@login_merchant), class: "button" %> + <%= link_to "Manage Products", merchant_products_path(@login_merchant), class: "button"%> + <%# payment_path(payment_id) %> +
+ + <% if @merchant.products.empty? %> +

Please add products!

+ <% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Summary +
 RevenueOrders
Unfulfilled Orders<%= number_to_currency(@unfufilled_revenue)%><%= @unfufilled%>
Completed Orders<%= number_to_currency(@complete_revenue)%><%= @complete%>
Total<%=number_to_currency(@total_revenue)%><%= @total%>
+
diff --git a/app/views/orders/_orderstable.html.erb b/app/views/orders/_orderstable.html.erb new file mode 100644 index 0000000000..be792373d4 --- /dev/null +++ b/app/views/orders/_orderstable.html.erb @@ -0,0 +1,62 @@ +<% if !orders_hash.empty? %> + <% orders_hash.keys.each do |order| %> + + + + + + + + + + + + <% orders_hash[order].each do |oi| %> + + + + + <% if oi.shipped == false %> + + <% else %> + + <% end %> + + <% end %> + + + + + + + + + + + + <% if order.status == "paid" %> + + <%elsif order.status == "complete" %> + + <% end %> + + + +
+ Order ID: <%= order.id %>
+ <% if order.status == 'paid' %> + <%= image_tag 'darth-maul.png', class: "orderindex" %> + <% else %> + <%= image_tag 'qui-gon-jinn.png', class: "orderindex" %> + <% end %> +
PRODUCTSQUANTITYTOTALSHIPPED
<%= link_to oi.product.name, product_path(oi.product)%><%= oi.quantity %><%= number_to_currency(oi.line_item_total) %> + <%= link_to "Ship", ship_order_item_path(oi), method: :patch %> + + Item Sent! +
+ ORDER DETAILS +
Placed: <%= order.payment.created_at.strftime("%e %b %Y") %>Status: Status: <%= order.status.capitalize %>Total: <%= number_to_currency(orders_hash[order].inject(0) {|sum, oi| sum + oi.line_item_total})%><%= link_to "Shipping Info", payment_path(order.payment) %>
+ <% end %> +<% else %> +

NO ORDERS HAVE BEEN PLACED!

+<% end %> diff --git a/app/views/orders/cart.html.erb b/app/views/orders/cart.html.erb new file mode 100644 index 0000000000..6475d6958e --- /dev/null +++ b/app/views/orders/cart.html.erb @@ -0,0 +1,9 @@ +
+
+

Your Cart

+
+ +

Your Subtotal:

+ + <%= link_to "Checkout", order_path(order(:id)), class: "button" %> +
diff --git a/app/views/orders/index.html.erb b/app/views/orders/index.html.erb new file mode 100644 index 0000000000..69d6dc005e --- /dev/null +++ b/app/views/orders/index.html.erb @@ -0,0 +1,18 @@ +
+
+

<%= @merchant.username %> orders

+
+ <% unless @orders.empty? %> + <%= render partial: "orderstable", locals: { + orders_hash: @paid_orders_hash + } %> + + <%= render partial: "orderstable", locals: { + orders_hash: @complete_orders_hash + } %> + <% else %> +

+ No Orders: Merchant hasn't sold any products. +

+ <% end %> +
diff --git a/app/views/orders/show.html.erb b/app/views/orders/show.html.erb new file mode 100644 index 0000000000..d96ecbd604 --- /dev/null +++ b/app/views/orders/show.html.erb @@ -0,0 +1,41 @@ +
+ +
+
+

Your Order

+

Your Total: <%= number_to_currency @order.calculate_total %>

+

Order placed: <%= @order.payment.created_at.strftime("%B %d,%Y") %> +

+ +
+ + <% if @order.products.any? %> + <% @order.products.each do |product| %> + +
+ /> +
+ +
+ <% item = OrderItem.find_by(product_id: product.id, order_id: @order.id) %> +

Unit Price: <%= number_to_currency product.price %>

+

Quantity: <%= item.quantity %>

+

Total Price: <%= number_to_currency (product.price * item.quantity) %>

+ + <% if item.shipped %> +

Item has been shipped

+ <% else %> +

Item not yet shipped

+ <% end %> +
+
+ + <% end %> + + <% else %> + +

Your order is empty.

+ + <% end %> + +
diff --git a/app/views/payments/_form.html.erb b/app/views/payments/_form.html.erb new file mode 100644 index 0000000000..a55463d75a --- /dev/null +++ b/app/views/payments/_form.html.erb @@ -0,0 +1,31 @@ +
+
+ <%= form_for :payment, :url => {:action => "create", :id => @order} do |f| %> + <%= f.label :name %> + <%= f.text_field :name %> + + <%= f.label :email %> + <%= f.email_field :email %> + + <%= f.label :mailing_address %> + <%= f.text_field :mailing_address %> + + <%= f.label :cc_name, "Name on Credit Card" %> + <%= f.text_field :cc_name %> + + <%= f.label :cc_expiration, "Expiration Date" %> + <%= f.date_select :cc_expiration, start_year: Date.today.year, use_month_numbers: true, discard_day: true %> + + <%= f.label :cc_number, "Credit Card Number" %> + <%= f.number_field :cc_number %> + + <%= f.label :cc_ccv, "Credit Card CCV" %> + <%= f.number_field :cc_ccv %> + + <%= f.label :billing_zip %> + <%= f.number_field :billing_zip %> + + <%= f.submit "Complete Payment", class: "button" %> + <% end %> +
+
diff --git a/app/views/payments/new.html.erb b/app/views/payments/new.html.erb new file mode 100644 index 0000000000..8289ef8d17 --- /dev/null +++ b/app/views/payments/new.html.erb @@ -0,0 +1,9 @@ +
+
+

Payment information

+
+ +
+ <%= render partial: "form" %> +
+
diff --git a/app/views/payments/show.html.erb b/app/views/payments/show.html.erb new file mode 100644 index 0000000000..00f9bd8b39 --- /dev/null +++ b/app/views/payments/show.html.erb @@ -0,0 +1,23 @@ +
+

Shipping Information

+
+ + + + + + + + + + + + + + + + +
Name + Email + Mailing AddressLast four of Credit CardCredit Card Expiration
<%= @payment.name %><%= @payment.email %><%= @payment.mailing_address %><%= @payment.cc_number.split(//).last(4).join %><%= @payment.cc_expiration %>
+
diff --git a/app/views/products/_form.html.erb b/app/views/products/_form.html.erb new file mode 100644 index 0000000000..8956d9b972 --- /dev/null +++ b/app/views/products/_form.html.erb @@ -0,0 +1,30 @@ +
+
+
+ <%= form_for @product do |f| %> + <%= f.label :name %> + <%= f.text_field :name %> + + <%= f.label :price %> + <%= f.text_field :price %> + + <%= f.label :description %> + <%= f.text_area :description, cols: 10, rows: 5 %> + <%# f.text_area :description %> + + <%= f.label :inventory %> + <%= f.text_field :inventory %> + + <%= f.label :photo_url %> + <%= f.text_area :photo_url, cols: 10, rows: 5 %> + <%# f.text_area :photo_url %> + + <%= f.label :categories %> + <%= f.fields_for :categories, @product.categories.build do |categories_fields| %> + <%= categories_fields.text_field :name %> + <% end %> + <%= f.submit class: "button" %> + <% end %> +
+
+
diff --git a/app/views/products/edit.html.erb b/app/views/products/edit.html.erb new file mode 100644 index 0000000000..e81b542989 --- /dev/null +++ b/app/views/products/edit.html.erb @@ -0,0 +1,8 @@ +
+
+

<%= @product.name %>

+
+ + <%= render partial: "form" %> + +
diff --git a/app/views/products/index.html.erb b/app/views/products/index.html.erb new file mode 100644 index 0000000000..9869788b44 --- /dev/null +++ b/app/views/products/index.html.erb @@ -0,0 +1,42 @@ +
+
+ +
+

<%= @category.name %>

+
+
+ <% if @products.any? %> + + <% @products.each do |product| %> + +
+ + <%= link_to image_tag(product.photo_url), product_path(product) %> +

<%= product.name %>

+

<%= number_to_currency product.price %>

+ + <% if product.inventory <1 %> + <%= "This product is not available in stock right now" %> + <% else %> + <%= form_for @order_item do |f| %> + <%= f.hidden_field :product_id, value: product.id %> + <%= f.select :quantity, 1..product.inventory %> + + <%= f.submit "Add to cart" %> + <% end %> + <% end %> + + + +
+ + <% end %> + + <% else %> + +

These are not the products you are looking for...

+ + <% end %> + +
+
diff --git a/app/views/products/new.html.erb b/app/views/products/new.html.erb new file mode 100644 index 0000000000..d44c608b6a --- /dev/null +++ b/app/views/products/new.html.erb @@ -0,0 +1 @@ +<%= render partial: "form" %> diff --git a/app/views/products/show.html.erb b/app/views/products/show.html.erb new file mode 100644 index 0000000000..336ea68484 --- /dev/null +++ b/app/views/products/show.html.erb @@ -0,0 +1,80 @@ +
+
+ +
+

<%= "#{@product.name}" %>

+
+ +
+ /> +
+ +
+

<%= number_to_currency(@product.price) %> +
+

Sold by: <%= link_to @product.merchant.username, merchant_products_path(@product.merchant.id) %>

+ + +
+ <% if @product.description %> +

<%= "#{@product.description}" %>

+ <%end %> + + <%= form_for @order_item do |f| %> + <%= f.hidden_field :product_id, value: @product.id %> + <%= f.select :quantity, 1..@product.inventory %> + <%= f.submit "Add to cart" %> + <% end %> + + + +

<%= "#{@product.inventory} in stock!" %>

+ +
+ <%= link_to "Write a Review!!", new_product_review_path(@product.id), class: "button" %> +
+ +
+ <% if @product.reviews.count > 0 %> +

Reviews

+ Average Rating = <%= "#{@product.average_rating.round(2)}" %> +
+
+ + <% @product.reviews.each do |review| %> +
+ <%= "\'#{review.review}\'" %>
+ <% if review.rating == 1 %> + <%= image_tag("darth-vader.png", :alt => "darth vader icon") %> + <% elsif review.rating == 2 %> + <%= image_tag("boba-fett.png", :alt => "boba fett icon") %> + <%= image_tag("jabba-the-hutt.png", :alt => "jabba the hutt icon") %> + <% elsif review.rating == 3 %> + <%= image_tag("chewbacca.png", :alt => "chewbacca icon") %> + <%= image_tag("han-solo.png", :alt => "han solo icon") %> + <%= image_tag("lando-calrissian.png", :alt => "lando calrissian icon") %> + <% elsif review.rating == 4 %> + <%= image_tag("r2d2.png", :alt => "r2d2 icon") %> + <%= image_tag("c3p0.png", :alt => "c3p0 icon") %> + <%= image_tag("admiral-ackbar.png", :alt => "darth vader icon") %> + <%= image_tag("obiwan-kenobi.png", :alt => "darth vader icon") %> + <% else review.rating == 5 %> + <%= image_tag("princess-leia.png", :alt => "darth vader icon") %> + <%= image_tag("obiwan-kenobi.png", :alt => "darth vader icon") %> + <%= image_tag("yoda.png", :alt => "darth vader icon") %> + <%= image_tag("ewok.png", :alt => "darth vader icon") %> + <%= image_tag("luke-skywalker.png", :alt => "darth vader icon") %> + <% end %> +
+
+ <%end%> + <%end%> +
+ +
+
diff --git a/app/views/reviews/new.html.erb b/app/views/reviews/new.html.erb new file mode 100644 index 0000000000..a3ee3e917c --- /dev/null +++ b/app/views/reviews/new.html.erb @@ -0,0 +1,21 @@ +
+
+

Write a review!

+
+
+ + <%= form_for :review, :url => {:action => "create", :id => @product} do |f| %> + + <%= f.label :review %> + <%= f.text_area :review, cols: 10, rows: 8 %> + + <%= f.label :rating %> + <%= f.select :rating, options_for_select(1.. 5) %> + +

<%= f.submit class: "button" %>

+ <% end %> + +
+
+
+
diff --git a/bin/bundle b/bin/bundle new file mode 100755 index 0000000000..66e9889e8b --- /dev/null +++ b/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails new file mode 100755 index 0000000000..5badb2fde0 --- /dev/null +++ b/bin/rails @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/bin/rake b/bin/rake new file mode 100755 index 0000000000..d87d5f5781 --- /dev/null +++ b/bin/rake @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000000..78c4e861dc --- /dev/null +++ b/bin/setup @@ -0,0 +1,38 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # Install JavaScript dependencies if using Yarn + # system('bin/yarn') + + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:setup' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/spring b/bin/spring new file mode 100755 index 0000000000..fb2ec2ebb4 --- /dev/null +++ b/bin/spring @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +# This file loads spring without using Bundler, in order to be fast. +# It gets overwritten when you run the `spring binstub` command. + +unless defined?(Spring) + require 'rubygems' + require 'bundler' + + lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) + spring = lockfile.specs.detect { |spec| spec.name == "spring" } + if spring + Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path + gem 'spring', spring.version + require 'spring/binstub' + end +end diff --git a/bin/update b/bin/update new file mode 100755 index 0000000000..a8e4462f20 --- /dev/null +++ b/bin/update @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a way to update your development environment automatically. + # Add necessary update steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + puts "\n== Updating database ==" + system! 'bin/rails db:migrate' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/yarn b/bin/yarn new file mode 100755 index 0000000000..c2bacef836 --- /dev/null +++ b/bin/yarn @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby +VENDOR_PATH = File.expand_path('..', __dir__) +Dir.chdir(VENDOR_PATH) do + begin + exec "yarnpkg #{ARGV.join(" ")}" + rescue Errno::ENOENT + $stderr.puts "Yarn executable was not detected in the system." + $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install" + exit 1 + end +end diff --git a/config.ru b/config.ru new file mode 100644 index 0000000000..f7ba0b527b --- /dev/null +++ b/config.ru @@ -0,0 +1,5 @@ +# This file is used by Rack-based servers to start the application. + +require_relative 'config/environment' + +run Rails.application diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 0000000000..5f6ca0f9b2 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,25 @@ +require_relative 'boot' + +require 'rails/all' + +# Require the gems listed in Gemfile, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(*Rails.groups) + +module Betsy + class Application < Rails::Application + config.generators do |g| + # Force new test files to be generated in the minitest-spec style + g.test_framework :minitest, spec: true + + # Always use .js files, never .coffee + g.javascript_engine :js + end + # Initialize configuration defaults for originally generated Rails version. + config.load_defaults 5.1 + + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 0000000000..30f5120df6 --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,3 @@ +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/config/cable.yml b/config/cable.yml new file mode 100644 index 0000000000..3cba994bb2 --- /dev/null +++ b/config/cable.yml @@ -0,0 +1,10 @@ +development: + adapter: async + +test: + adapter: async + +production: + adapter: redis + url: redis://localhost:6379/1 + channel_prefix: betsy_production diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 0000000000..6903bb6083 --- /dev/null +++ b/config/database.yml @@ -0,0 +1,85 @@ +# PostgreSQL. Versions 9.1 and up are supported. +# +# Install the pg driver: +# gem install pg +# On OS X with Homebrew: +# gem install pg -- --with-pg-config=/usr/local/bin/pg_config +# On OS X with MacPorts: +# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config +# On Windows: +# gem install pg +# Choose the win32 build. +# Install PostgreSQL and put its /bin directory on your path. +# +# Configure Using Gemfile +# gem 'pg' +# +default: &default + adapter: postgresql + encoding: unicode + # For details on connection pooling, see Rails configuration guide + # http://guides.rubyonrails.org/configuring.html#database-pooling + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + +development: + <<: *default + database: betsy_development + + # The specified database role being used to connect to postgres. + # To create additional roles in postgres see `$ createuser --help`. + # When left blank, postgres will use the default role. This is + # the same name as the operating system user that initialized the database. + #username: betsy + + # The password associated with the postgres role (username). + #password: + + # Connect on a TCP socket. Omitted by default since the client uses a + # domain socket that doesn't need configuration. Windows does not have + # domain sockets, so uncomment these lines. + #host: localhost + + # The TCP port the server listens on. Defaults to 5432. + # If your server runs on a different port number, change accordingly. + #port: 5432 + + # Schema search path. The server defaults to $user,public + #schema_search_path: myapp,sharedapp,public + + # Minimum log levels, in increasing order: + # debug5, debug4, debug3, debug2, debug1, + # log, notice, warning, error, fatal, and panic + # Defaults to warning. + #min_messages: notice + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: betsy_test + +# As with config/secrets.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password as a unix environment variable when you boot +# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full rundown on how to provide these environment variables in a +# production deployment. +# +# On Heroku and other platform providers, you may have a full connection URL +# available as an environment variable. For example: +# +# DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase" +# +# You can use this database configuration with: +# +# production: +# url: <%= ENV['DATABASE_URL'] %> +# +production: + <<: *default + database: betsy_production + username: betsy + password: <%= ENV['BETSY_DATABASE_PASSWORD'] %> diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 0000000000..426333bb46 --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# Load the Rails application. +require_relative 'application' + +# Initialize the Rails application. +Rails.application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 0000000000..5187e22186 --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,54 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + if Rails.root.join('tmp/caching-dev.txt').exist? + config.action_controller.perform_caching = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}" + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + config.action_mailer.perform_caching = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true + + # Suppress logger output for asset requests. + config.assets.quiet = true + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + config.file_watcher = ActiveSupport::EventedFileUpdateChecker +end diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 0000000000..decad95729 --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,91 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Attempt to read encrypted secrets from `config/secrets.yml.enc`. + # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or + # `config/secrets.yml.key`. + config.read_encrypted_secrets = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = true + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Mount Action Cable outside main process or domain + # config.action_cable.mount_path = nil + # config.action_cable.url = 'wss://example.com/cable' + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Use a real queuing backend for Active Job (and separate queues per environment) + # config.active_job.queue_adapter = :resque + # config.active_job.queue_name_prefix = "betsy_#{Rails.env}" + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Use a different logger for distributed setups. + # require 'syslog/logger' + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 0000000000..8e5cbde533 --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,42 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure public file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}" + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true +end diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb new file mode 100644 index 0000000000..89d2efab2b --- /dev/null +++ b/config/initializers/application_controller_renderer.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +# ActiveSupport::Reloader.to_prepare do +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) +# end diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb new file mode 100644 index 0000000000..4b828e80cb --- /dev/null +++ b/config/initializers/assets.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path. +# Rails.application.config.assets.paths << Emoji.images_path +# Add Yarn node_modules folder to the asset load path. +Rails.application.config.assets.paths << Rails.root.join('node_modules') + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in the app/assets +# folder are already added. +# Rails.application.config.assets.precompile += %w( admin.js admin.css ) diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 0000000000..59385cdf37 --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb new file mode 100644 index 0000000000..5a6a32d371 --- /dev/null +++ b/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb new file mode 100644 index 0000000000..4a994e1e7b --- /dev/null +++ b/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 0000000000..ac033bf9dc --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 0000000000..dc1899682b --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb new file mode 100644 index 0000000000..fd4416122a --- /dev/null +++ b/config/initializers/omniauth.rb @@ -0,0 +1,3 @@ +Rails.application.config.middleware.use OmniAuth::Builder do + provider :github, ENV["GITHUB_CLIENT_ID"], ENV["GITHUB_CLIENT_SECRET"], scope: "user:email" +end diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 0000000000..bbfc3961bf --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 0000000000..decc5a8573 --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,33 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# The following keys must be escaped otherwise they will not be retrieved by +# the default I18n backend: +# +# true, false, on, off, yes, no +# +# Instead, surround them with single quotes. +# +# en: +# 'true': 'foo' +# +# To learn more, please read the Rails Internationalization guide +# available at http://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" diff --git a/config/puma.rb b/config/puma.rb new file mode 100644 index 0000000000..1e19380dcb --- /dev/null +++ b/config/puma.rb @@ -0,0 +1,56 @@ +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers: a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum; this matches the default thread size of Active Record. +# +threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } +threads threads_count, threads_count + +# Specifies the `port` that Puma will listen on to receive requests; default is 3000. +# +port ENV.fetch("PORT") { 3000 } + +# Specifies the `environment` that Puma will run in. +# +environment ENV.fetch("RAILS_ENV") { "development" } + +# Specifies the number of `workers` to boot in clustered mode. +# Workers are forked webserver processes. If using threads and workers together +# the concurrency of the application would be max `threads` * `workers`. +# Workers do not work on JRuby or Windows (both of which do not support +# processes). +# +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } + +# Use the `preload_app!` method when specifying a `workers` number. +# This directive tells Puma to first boot the application and load code +# before forking the application. This takes advantage of Copy On Write +# process behavior so workers use less memory. If you use this option +# you need to make sure to reconnect any threads in the `on_worker_boot` +# block. +# +# preload_app! + +# If you are preloading your application and using Active Record, it's +# recommended that you close any connections to the database before workers +# are forked to prevent connection leakage. +# +# before_fork do +# ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord) +# end + +# The code in the `on_worker_boot` will be called if you are using +# clustered mode by specifying a number of `workers`. After each worker +# process is booted, this block will be run. If you are using the `preload_app!` +# option, you will want to use this block to reconnect to any threads +# or connections that may have been created at application boot, as Ruby +# cannot share connections between processes. +# +# on_worker_boot do +# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) +# end +# + +# Allow puma to be restarted by `rails restart` command. +plugin :tmp_restart diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 0000000000..0db31d9b79 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,32 @@ +Rails.application.routes.draw do + # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html + # root 'main#root' + get '/', to: 'main#index', as: 'root' + + resources :merchants, only: [:show] + get '/merchants/:merchant_id/products', to: 'merchants#products', as: 'merchant_products' + + resources :products, except: :destroy do + resources :reviews, only: [:new, :create] + end + + get 'categories/:id/products', to: 'products#index', as: 'products_categories' + + # Add resource not resources because a customer will only have one shopping cart and doesn't create an index route + resource :cart, only: [:show] + + resources :payments, only: [:show] + + resources :orders, only: [:show, :index] do + resources :payments, only: [:index, :new, :create] + end + get '/merchants/:merchant_id/orders', to: 'orders#index', as: 'merchant_orders' + + resources :order_items, only: [:create, :update, :destroy] + patch '/order_items/:id/ship', to: 'order_items#ship', as:'ship_order_item' + + get '/auth/github', as: 'github' + get '/auth/:provider/callback', to: 'sessions#login', as: "auth_callback" + get '/logout', to: 'sessions#logout', as: 'logout' + +end diff --git a/config/secrets.yml b/config/secrets.yml new file mode 100644 index 0000000000..6aa9f5216b --- /dev/null +++ b/config/secrets.yml @@ -0,0 +1,32 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rails secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +# Shared secrets are available across all environments. + +# shared: +# api_key: a1B2c3D4e5F6 + +# Environmental secrets are only available for that specific environment. + +development: + secret_key_base: 2ccd0e2bd75d85662ffb281a70e645a2b4e0e34bb67946380a89fcdf22fa3f87749b5d878e21092fc7e1ad3bf15fe12e241e52c5bd6b5cff64d051d8997e44c2 + +test: + secret_key_base: f4a03c29ad291ffe9da934fa38ffe6bb64a0d59d00e3c72035a8a9554cece1e6d35ac5cb0fd98a359e03ba7ff2f7c1977b39410d3a3af6c6599eb01b85e89502 + +# Do not keep production secrets in the unencrypted secrets file. +# Instead, either read values from the environment. +# Or, use `bin/rails secrets:setup` to configure encrypted secrets +# and move the `production:` environment over there. + +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> diff --git a/config/spring.rb b/config/spring.rb new file mode 100644 index 0000000000..c9119b40c0 --- /dev/null +++ b/config/spring.rb @@ -0,0 +1,6 @@ +%w( + .ruby-version + .rbenv-vars + tmp/restart.txt + tmp/caching-dev.txt +).each { |path| Spring.watch(path) } diff --git a/db/migrate/20171018041914_create_merchants.rb b/db/migrate/20171018041914_create_merchants.rb new file mode 100644 index 0000000000..f423f657ba --- /dev/null +++ b/db/migrate/20171018041914_create_merchants.rb @@ -0,0 +1,11 @@ +class CreateMerchants < ActiveRecord::Migration[5.1] + def change + create_table :merchants do |t| + t.string "username" + t.string "email" + t.integer "uid", null: false + t.string "provider", null: false + t.timestamps + end + end +end diff --git a/db/migrate/20171018042820_create_orders.rb b/db/migrate/20171018042820_create_orders.rb new file mode 100644 index 0000000000..20f13082c8 --- /dev/null +++ b/db/migrate/20171018042820_create_orders.rb @@ -0,0 +1,9 @@ +class CreateOrders < ActiveRecord::Migration[5.1] + def change + create_table :orders do |t| + t.string "status", default: "pending", null: false + + t.timestamps + end + end +end diff --git a/db/migrate/20171018045318_create_reviews.rb b/db/migrate/20171018045318_create_reviews.rb new file mode 100644 index 0000000000..050cc9e380 --- /dev/null +++ b/db/migrate/20171018045318_create_reviews.rb @@ -0,0 +1,11 @@ +class CreateReviews < ActiveRecord::Migration[5.1] + def change + create_table :reviews do |t| + t.string :review + t.integer :rating, null: false + t.belongs_to :product, index: true + + t.timestamps + end + end +end diff --git a/db/migrate/20171018045817_create_categories.rb b/db/migrate/20171018045817_create_categories.rb new file mode 100644 index 0000000000..93b26b4adb --- /dev/null +++ b/db/migrate/20171018045817_create_categories.rb @@ -0,0 +1,8 @@ +class CreateCategories < ActiveRecord::Migration[5.1] + def change + create_table :categories do |t| + t.string "name", null: false + t.timestamps + end + end +end diff --git a/db/migrate/20171018050138_create_products.rb b/db/migrate/20171018050138_create_products.rb new file mode 100644 index 0000000000..dbb92dc566 --- /dev/null +++ b/db/migrate/20171018050138_create_products.rb @@ -0,0 +1,15 @@ +class CreateProducts < ActiveRecord::Migration[5.1] + def change + create_table :products do |t| + t.string :name + t.integer :price + t.string :description + t.integer :inventory + t.string :photo_url + t.integer :merchant_id + t.boolean :current, default: true + t.integer :category_id + t.timestamps + end + end +end diff --git a/db/migrate/20171018053146_reviews_products_relationship.rb b/db/migrate/20171018053146_reviews_products_relationship.rb new file mode 100644 index 0000000000..9a4990bd17 --- /dev/null +++ b/db/migrate/20171018053146_reviews_products_relationship.rb @@ -0,0 +1,6 @@ +class ReviewsProductsRelationship < ActiveRecord::Migration[5.1] + def change + remove_column :products, :merchant_id + add_reference :products, :merchant, foreign_key: true + end +end diff --git a/db/migrate/20171018060321_create_order_items.rb b/db/migrate/20171018060321_create_order_items.rb new file mode 100644 index 0000000000..473de7b6b2 --- /dev/null +++ b/db/migrate/20171018060321_create_order_items.rb @@ -0,0 +1,11 @@ +class CreateOrderItems < ActiveRecord::Migration[5.1] + def change + create_table :order_items do |t| + t.integer :quantity + t.references :order + t.references :product + + t.timestamps + end + end +end diff --git a/db/migrate/20171018190501_create_product_categories.rb b/db/migrate/20171018190501_create_product_categories.rb new file mode 100644 index 0000000000..95c949fb08 --- /dev/null +++ b/db/migrate/20171018190501_create_product_categories.rb @@ -0,0 +1,10 @@ +class CreateProductCategories < ActiveRecord::Migration[5.1] + def change + create_table :product_categories do |t| + t.references :product, foreign_key: true + t.references :category, foreign_key: true + + t.timestamps + end + end +end diff --git a/db/migrate/20171018191434_add_ref_to_product_for_category.rb b/db/migrate/20171018191434_add_ref_to_product_for_category.rb new file mode 100644 index 0000000000..413adc2218 --- /dev/null +++ b/db/migrate/20171018191434_add_ref_to_product_for_category.rb @@ -0,0 +1,6 @@ +class AddRefToProductForCategory < ActiveRecord::Migration[5.1] + def change + remove_column :products, :category_id + add_reference :products, :category, index: true, foreign_key: true + end +end diff --git a/db/migrate/20171018192926_create_payments.rb b/db/migrate/20171018192926_create_payments.rb new file mode 100644 index 0000000000..23d2ddd0cc --- /dev/null +++ b/db/migrate/20171018192926_create_payments.rb @@ -0,0 +1,15 @@ +class CreatePayments < ActiveRecord::Migration[5.1] + def change + create_table :payments do |t| + t.string :email + t.string :mailing_address + t.string :cc_name + t.string :cc_expiration + t.string :cc_number + t.string :cc_ccv + t.string :billing_zip + + t.timestamps + end + end +end diff --git a/db/migrate/20171018200528_change_cc_expiration_to_be_date_in_payments.rb b/db/migrate/20171018200528_change_cc_expiration_to_be_date_in_payments.rb new file mode 100644 index 0000000000..934d744a67 --- /dev/null +++ b/db/migrate/20171018200528_change_cc_expiration_to_be_date_in_payments.rb @@ -0,0 +1,5 @@ +class ChangeCcExpirationToBeDateInPayments < ActiveRecord::Migration[5.1] + def change + change_column :payments, :cc_expiration, 'date USING CAST(cc_expiration AS date)' + end +end diff --git a/db/migrate/20171019201025_remove_category_id_from_products_table.rb b/db/migrate/20171019201025_remove_category_id_from_products_table.rb new file mode 100644 index 0000000000..0981bc2df5 --- /dev/null +++ b/db/migrate/20171019201025_remove_category_id_from_products_table.rb @@ -0,0 +1,5 @@ +class RemoveCategoryIdFromProductsTable < ActiveRecord::Migration[5.1] + def change + remove_column :products, :category_id + end +end diff --git a/db/migrate/20171019235547_add_payment_id_orders.rb b/db/migrate/20171019235547_add_payment_id_orders.rb new file mode 100644 index 0000000000..58c0739d79 --- /dev/null +++ b/db/migrate/20171019235547_add_payment_id_orders.rb @@ -0,0 +1,5 @@ +class AddPaymentIdOrders < ActiveRecord::Migration[5.1] + def change + add_column(:orders, :payment_id, :bigint) + end +end diff --git a/db/migrate/20171020024450_merchants_remove_null_constraint.rb b/db/migrate/20171020024450_merchants_remove_null_constraint.rb new file mode 100644 index 0000000000..833f2a96e1 --- /dev/null +++ b/db/migrate/20171020024450_merchants_remove_null_constraint.rb @@ -0,0 +1,6 @@ +class MerchantsRemoveNullConstraint < ActiveRecord::Migration[5.1] + def change + change_column_null :merchants, :uid, true + change_column_null :merchants, :provider, true + end +end diff --git a/db/migrate/20171020032405_add_order_id_payment_controller_remove_paymentid_order_controller.rb b/db/migrate/20171020032405_add_order_id_payment_controller_remove_paymentid_order_controller.rb new file mode 100644 index 0000000000..8944ca8f62 --- /dev/null +++ b/db/migrate/20171020032405_add_order_id_payment_controller_remove_paymentid_order_controller.rb @@ -0,0 +1,6 @@ +class AddOrderIdPaymentControllerRemovePaymentidOrderController < ActiveRecord::Migration[5.1] + def change + add_column(:payments, :order_id, :bigint) + remove_column(:orders, :payment_id) + end +end diff --git a/db/migrate/20171020035447_add_cat_id_to_product_testing.rb b/db/migrate/20171020035447_add_cat_id_to_product_testing.rb new file mode 100644 index 0000000000..da5c050e2a --- /dev/null +++ b/db/migrate/20171020035447_add_cat_id_to_product_testing.rb @@ -0,0 +1,5 @@ +class AddCatIdToProductTesting < ActiveRecord::Migration[5.1] + def change + add_column :products, :category_id, :bigint + end +end diff --git a/db/migrate/20171020052430_remove_category_id_from_products.rb b/db/migrate/20171020052430_remove_category_id_from_products.rb new file mode 100644 index 0000000000..8f8c8302ba --- /dev/null +++ b/db/migrate/20171020052430_remove_category_id_from_products.rb @@ -0,0 +1,5 @@ +class RemoveCategoryIdFromProducts < ActiveRecord::Migration[5.1] + def change + remove_column :products, :category_id + end +end diff --git a/db/migrate/20171023183617_add_shipped_boolean_orderitems.rb b/db/migrate/20171023183617_add_shipped_boolean_orderitems.rb new file mode 100644 index 0000000000..d1ba1039e6 --- /dev/null +++ b/db/migrate/20171023183617_add_shipped_boolean_orderitems.rb @@ -0,0 +1,5 @@ +class AddShippedBooleanOrderitems < ActiveRecord::Migration[5.1] + def change + add_column :order_items, :shipped, :boolean, default: false + end +end diff --git a/db/migrate/20171024170047_add_name_to_payments.rb b/db/migrate/20171024170047_add_name_to_payments.rb new file mode 100644 index 0000000000..057f28ca37 --- /dev/null +++ b/db/migrate/20171024170047_add_name_to_payments.rb @@ -0,0 +1,5 @@ +class AddNameToPayments < ActiveRecord::Migration[5.1] + def change + add_column :payments, :name, :string + end +end diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 0000000000..ae02d6be97 --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,98 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 20171024170047) do + + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + + create_table "categories", force: :cascade do |t| + t.string "name", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "merchants", force: :cascade do |t| + t.string "username" + t.string "email" + t.integer "uid" + t.string "provider" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "order_items", force: :cascade do |t| + t.integer "quantity" + t.bigint "order_id" + t.bigint "product_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.boolean "shipped", default: false + t.index ["order_id"], name: "index_order_items_on_order_id" + t.index ["product_id"], name: "index_order_items_on_product_id" + end + + create_table "orders", force: :cascade do |t| + t.string "status", default: "pending", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "payments", force: :cascade do |t| + t.string "email" + t.string "mailing_address" + t.string "cc_name" + t.date "cc_expiration" + t.string "cc_number" + t.string "cc_ccv" + t.string "billing_zip" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.bigint "order_id" + t.string "name" + end + + create_table "product_categories", force: :cascade do |t| + t.bigint "product_id" + t.bigint "category_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["category_id"], name: "index_product_categories_on_category_id" + t.index ["product_id"], name: "index_product_categories_on_product_id" + end + + create_table "products", force: :cascade do |t| + t.string "name" + t.integer "price" + t.string "description" + t.integer "inventory" + t.string "photo_url" + t.boolean "current", default: true + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.bigint "merchant_id" + t.index ["merchant_id"], name: "index_products_on_merchant_id" + end + + create_table "reviews", force: :cascade do |t| + t.string "review" + t.integer "rating", null: false + t.bigint "product_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["product_id"], name: "index_reviews_on_product_id" + end + + add_foreign_key "product_categories", "categories" + add_foreign_key "product_categories", "products" + add_foreign_key "products", "merchants" +end diff --git a/db/seed_data/categories.csv b/db/seed_data/categories.csv new file mode 100644 index 0000000000..8023fe2301 --- /dev/null +++ b/db/seed_data/categories.csv @@ -0,0 +1,21 @@ +name +Jedi, +Sith, +Droids, +Clothing, +Toys, +Gear, +Holidays, +Accessories, +Collectibles, +Leia, +Luke, +Yoda, +Chewbacca, +Rey, +Darth Vader, +Kylo Ren, +Darth Maul, +Storm Troopers, +Pets, +The Last Jedi, diff --git a/db/seed_data/merchant.csv b/db/seed_data/merchant.csv new file mode 100644 index 0000000000..7db272127b --- /dev/null +++ b/db/seed_data/merchant.csv @@ -0,0 +1,17 @@ +username,email,uid,provider +hansolo,hansolo@gmail.com, +leiasky,lskywalker@gmail.com, +chewie,chewbacca@gmail.com, +darthmaul,thedarkside@sithlord.com, +countduku,cd@yahoo.com, +yoda,happyareyou@jedi.com, +KyloRen,kyloren@sith.com, +obiwankenobi,kenobi@jedi.com, +R2D2,R2D2@droidmail.com, +C3PO,C3PO@droidmail.com, +BobaFett,BobaFett@bobba.com, +JabbatheHutt,JHutt@gmail.com, +SRBusiness,srbusiness2@gmail.com,30781062,github, +biciclista22,bianca.maria.fernandez.22@gmail.com,25600980,github, +idevera,irenneeyyy@gmail.com,21353732,github, +lmarianarp19,lmarianarp@gmail.com,26218626,github, diff --git a/db/seed_data/order_items.csv b/db/seed_data/order_items.csv new file mode 100644 index 0000000000..9cd86a8e5a --- /dev/null +++ b/db/seed_data/order_items.csv @@ -0,0 +1,34 @@ +product_id,order_id,quantity,shipped +6,1,1,false, +5,1,1,false, +2,2,2,true, +7,2,1,true, +3,2,4,true, +19,3,1,false, +12,4,1,false, +13,4,1,false, +6,4,1,false, +14,4,1,false, +19,5,1,true, +18,5,2,true, +7,5,1,true, +17,6,1,false, +4,6,1,false, +15,6,1,false, +20,7,2,true, +1,7,1,true, +2,7,1,true, +16,7,1,true, +3,8,2,false, +4,8,1,false, +17,8,1,false, +1,9,1,true, +2,9,1,true, +3,10,1,true, +5,11,1,false, +6,11,1,true, +5,12,1,true, +6,13,1,true, +7,13,1,true, +7,14,1,false, +6,14,1,false, diff --git a/db/seed_data/orders.csv b/db/seed_data/orders.csv new file mode 100644 index 0000000000..f9b516f678 --- /dev/null +++ b/db/seed_data/orders.csv @@ -0,0 +1,15 @@ +status +paid, +complete, +paid, +paid, +complete, +paid, +complete, +paid, +complete, +complete, +paid, +complete, +complete, +paid, diff --git a/db/seed_data/payment.csv b/db/seed_data/payment.csv new file mode 100644 index 0000000000..c049401412 --- /dev/null +++ b/db/seed_data/payment.csv @@ -0,0 +1,15 @@ +name,email,mailing_address,cc_name,cc_number,cc_ccv,billing_zip,order_id, +mariana,mariana@gmail.com,12345 SW 123 st,Mariana L,123456789012345,134,34567,1, +bianca,biancaf@gmail.com,15167 nw 45th st,bianca f,34567890123456,232,43511,2, +cookie monster,lmnashf12342@yahoo.com,453 s albert street,cookie monster,45367892098465,398,87965,3, +google,googoogle@gmail.com,987 n alexandria ave,chewbacca,098765432109876,435,78659,4, +sarah,srb@gmail.com,2019 Blue Bay,SRB,123456789012348,999,97102,5, +Irene,stormtrooperfan@gmail.com,2019 Green green,Strom Tropper 12,123456719012348,909,97102,6, +rey,ReyisDope@theforce.net,1000110 Jakku, Rey Scavenger,323456719012348,109,11111,7, +bb8,BB-8@droid.net,Poe Dameron's X-wing,BB-8,423456719012348,101,11112,8, +leia,OGLeia@princess.com,104 bluee st Alderon,Princess Leia Organa,523456719012348,102,11113,9, +poe will resist,Poe@resistance.com,105 Resistance Base hidden location,Poe Dameron,623456719012348,104,11114,10, +Finn Former Storm Trooper,Finn@resistance.com,PO Box 12312,Finn Snow,623456719012348,109,11115,11, +CAPTAIN PHASMA,phasma@stormtrooper.com,Tai Fighter 10,CAPTAIN PHASMA,623456719012388,110,11116,12, +General Hux,Hux@evilguy.com,Death Star Apt 100,General Hux,624456719012348,113,11117,13, +SUPREME LEADER SNOKE,snoke@sith.com,Evil guy hide out,Supreme Leader Snoke,664456719012348,116,16117,14, diff --git a/db/seed_data/product_category.csv b/db/seed_data/product_category.csv new file mode 100644 index 0000000000..3649092d76 --- /dev/null +++ b/db/seed_data/product_category.csv @@ -0,0 +1,50 @@ +product_id,category_id +1,15, +1,8, +1,2, +2,10, +2,8, +3,10, +3,5, +3,9, +4,10, +4,19, +5,10, +5,4, +6,1, +6,14, +6,6, +6,20, +7,6, +7,20, +7,16, +7,2, +8,6, +8,1, +8,12, +9,16, +9,8, +9,2, +10,11, +10,8, +11,18, +11,8, +12,19, +12,12, +13,19, +13,2, +14,19, +14,1, +15,4, +15,18, +16,3, +16,5, +17,3, +17,5, +18,3, +18,4, +19,3, +19,8, +20,18, +20,4, +20,4, diff --git a/db/seed_data/products.csv b/db/seed_data/products.csv new file mode 100644 index 0000000000..89a1f71b96 --- /dev/null +++ b/db/seed_data/products.csv @@ -0,0 +1,21 @@ +name,price,description,inventory,photo_url,merchant_id +Darth Vader Death Star Pin,13.00,Darth Vader's menacing presence is felt alongside the technological terror known as the Death Star on this powerful cloisonné pin inspired by the Star Wars saga. Add the power of the darkside to your collection.,8,https://lumiere-a.akamaihd.net/v1/images/image_6c076d58.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,15, +Princess Leia Headband for Adults,17.00,"No Princess Leia costume could be complete without her signature wig buns, here attached to a non-slip padded headband. It's about time!",30,https://lumiere-a.akamaihd.net/v1/images/file_df13edd6.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,15, +Princess Leia Mrs. Potato Head,17.00,"Mrs. Potato Head becomes the legendary Princess Leia Organa with our collectible 6'' figure in costume from Star Wars: A New Hope. Complete with blaster and iconic cinnamon bun hairdo, her royal highness makes a tempestuous PopTater!",3,https://lumiere-a.akamaihd.net/v1/images/image_d47f0888.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,15, +Princess Leia Costume for Pets,20.00,"Show everyone the Force is strong in your pup with this adorable Princess Leia costume. She'll look like she's standing, leading the rebellion, even when she's sitting.",5,https://lumiere-a.akamaihd.net/v1/images/598801e0e50f6d0001e8ba22-image_07939e0b.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,14, +Princess Leia Top for Women,20.00,You'll be a fashion leader in this Princess Leia Top for Women. Alderaan's senator is joined by R2-D2 on the sublimated artwork that covers this slub Star Wars shirt that features dolman sleeves and a draped opening at the back,7,https://lumiere-a.akamaihd.net/v1/images/598017a8324fb6000161cfce-image_76ac8f67.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,16, +Rey Lightsaber - Star Wars: The Last Jedi,30.00,"Come to the aid of the Resistance! When you wield Rey's lightsaber, inspired by Star Wars: The Last Jedi, the ways of the Jedi are in your hands. Features glowing blue blade, motion-sensor sounds, and battle-clash rumble effects.",1,https://lumiere-a.akamaihd.net/v1/images/59a9019dab393d0001b09a16-image_50ea7fad.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,16, +Kylo Ren Lightsaber - Star Wars: The Last Jedi,30.00,"Step into the action of Star Wars: The Last Jedi when you wield our Kylo Ren Lightsaber featuring the distinctive crosshilt blades, lights, motion-sensor sounds, battle-clash rumble and dueling effects.",55,https://lumiere-a.akamaihd.net/v1/images/image_57f0cb17.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,16, +Yoda Lightsaber,30.00,"In constant training you will be with our Yoda Lightsaber, featuring a glowing green blade to inspire young Jedi. Practice using the lights, motion-sensor sounds, and dueling lightsaber effects until ready you are for battle!",12,https://lumiere-a.akamaihd.net/v1/images/image_a4a5877d.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,1, +Kylo Ren Voice Changing Mask,25.00,Be in command of the formidable First Order and vow to destroy the Resistance with our Kylo Ren Voice Changing Mask. Hear his phrases or wear the mask to sound just like him.,5,https://lumiere-a.akamaihd.net/v1/images/59a901c1f347200001f23fb4-image_72d661df.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,7, +Luke Skywalker Light-Up Lightsaber Umbrella,36.00,Battle the elements with this Luke Skywalker Lightsaber Umbrella which lights up in the distinctive blue glow of the Jedi weapon. The canopy features the Rebel Alliance's crest so you can team up to battle the Forces of nature.,6,https://lumiere-a.akamaihd.net/v1/images/image_437d422a.jpeg?width=2000®ion=0%2C0%2C2000%2C2000,1, +Imperial Stormtrooper Helmet,90.00,Defend the Empire under the helmet of an Imperial Stormtrooper with this electronic helmet that transforms you into a loyal soldier! Recreate intense moments from Rogue One: A Star Wars Story with this movie-accurate reproduction.,1000,https://lumiere-a.akamaihd.net/v1/images/599534d3dc061900013f85fd-image_29bd464a.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,5, +Yoda Costume for Pets,15.00,The Force will be strong with your pup when he or she dresses as Jedi Master Yoda. Search your feelings. You know your pet will be irresistible in this costume.,33,https://lumiere-a.akamaihd.net/v1/images/598801e2e50f6d00015f9da8-image_86fbd2fb.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,6, +Darth Vader Pet Costume ,15.00,Your pet can rule the galaxy in this fun Darth Vader costume featuring a headpiece and a shirt with removable cape. It's easy on and off and designed for look and comfort.,5,https://lumiere-a.akamaihd.net/v1/images/59af11e57ff5970001ca20f1-image_704c15ad.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,4, +Jedi Costume for Pets,36.00,The Force will be strong with your pup when he or she dresses as a Jedi from Star Wars. Search your feelings. You know your pet will be irresistible in this costume.,77,https://lumiere-a.akamaihd.net/v1/images/598801e3e50f6d00019a9173-image_3c9b0a68.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,6, +Stormtrooper Jersey Dress,28.00,"Sign-up for Stormtrooper duty in this dazzling, casual jersey dress with faceted studs and print pattern skirt, to ensure that your intergalactic fashion message is on-target.",13,https://lumiere-a.akamaihd.net/v1/images/image_fc38f1b8.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,14, +R2-D2 Talking Figure - 10 1/2'' - Star Wars,4478,"The devoted astromech droid makes a handsome addition to any Star Wars collection. With two modes of activation, this R2 unit is ready to beep, squeak, spin and roll his way into new adventures.",19,https://lumiere-a.akamaihd.net/v1/images/file_fd1834c8.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,13, +Remote Control Deluxe BB-8 ,54.00,"When The First Order shows up, send BB-8 to get help from the Resistance. A loyal astromech droid that will stay by your light side, BB-8 follows your commands with a remote control that lights up and authentic movements.",6,https://lumiere-a.akamaihd.net/v1/images/image_bd33bb17.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,13, +C-3P0 Tee for Adults,22.00,Feast with the light side of the Force in this soft cotton C-3P0 tee featuring golden glitter ''Dia de los Muertos''-influenced styling.,78,https://lumiere-a.akamaihd.net/v1/images/image_3815a7a5.jpeg?width=2000®ion=0%2C0%2C2000%2C2000,13, +BB-8 Backpack,66.00,"Roll with The Force with this BB-8 Backpack by Loungefly. Inspired by the droid from Star Wars: The Force Awakens, it features an allover BB-8 print, roomy outer pocket and an inner compartment to carry all you need on your galactic journey.",13,https://lumiere-a.akamaihd.net/v1/images/59932cca74517c0001b0a90d-image_bc54c562.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,13, +First Order Stromtrooper Tee for Adults ,20.00,"You'll capture the depth of the First Order with our Stormtrooper tee. Featuring our steely soldier in shadow waves, this tee is certain to take your daily uniform to the dark side.",90,https://lumiere-a.akamaihd.net/v1/images/image_5763df88.jpeg?width=1200®ion=0%2C0%2C2000%2C2000,14, diff --git a/db/seed_data/review.csv b/db/seed_data/review.csv new file mode 100644 index 0000000000..0672e41410 --- /dev/null +++ b/db/seed_data/review.csv @@ -0,0 +1,48 @@ +review,rating,product, +It is so useful,4,1, +I can't get enough of it,2,1, +I can't wait to recommend it to a friend,5,1, +It was absolute wookie garbage,1,2, +Really cool! I converted mine into headphones May the Force be with Carrie Fisher our Princess Leia lives on in our hearts.,5,2, +I'm not sure about this one. This a very cute headband. My daughter is going to be Princess Leia in a week long event this summer and I am nervous about the quality of these head bands. They look great but they don't feel like they will last a whole week,4,2, +What can I say about the Princess Leia Headband for Adults that hasn't already been said about the wheel penicillin or the iPhone,5,3, +Princess Leia was bought for my husband's Potato Head collection. She never comes out of the box but is quite happy to be with all the others spuds.,4,3, +You need to have a taller barrel chested dog to pull this off.,3,4, +The product is awesome. Great for photos and Halloween. I have a Cavalier King Charles and normally she wears a Medium however this item was really long on her. I'd recommend going with a size smaller than the sizes they published. She is 18lbs and the arms hit the floor when she was sitting.,4,4, +Quite long for my frenchie was not a good fit. But super cute costume!,2,4, +I'm pretty happy with this shirt. Fun 70's vibe that's an adultish Star Wars tribute.,4,5, +Crappy ripped after wearing in once.,1,5, +It's made with cheap plastic that cracked when it fell from the basket under our stroller to the sidewalk.,1,6, +My granddaughter who's 6 loves Star Wars and anything to do with it. She loves playing with it because it lights up makes the lightsaber sound and disappears completely into the handle. She thinks it's the real thing and I'll never tell her different,5,6, +LOVE IT,5,6, +My son saved up his own money to buy this product. There were several different options of lightsabers. Cost wise this one was the middle. It's a great toy for my 5 year old. My 8 year old is saving to buy one now too. The light saber retracts down to a small handheld size sword. When you swing it expands to full size. At times it gets stuck either expanding or retracting but can easily be consolidated by trying again. There are no small parts to worry about. There's also no noises other than what my son makes when he plays with it. He runs around the house swinging it and has it the ground stuffed animals and walls a few times. The product has held up to his rough housing perfectly. Overall I'd say this is a nicely made product for the price.,4,7, +This Star Wars The Force Awakens Kylo Ren Extendable Lightsaber is a sturdy and dependable plastic toy that can really take a beating,5,7, +These are a ton of fun! My son and daughter each have a color of choice and they are getting a ton of use out of them. Great quality product!,5,8, +This is a great product good quality material. I would recommend it to others to buy it.,5,9, +I really want to give this 5 stars for the mask alone it's five stars. But...it's got the voice changing feature too which would be totally awesome but it's not loud enough. If you trigger the canned prerecorded responses it's ok but speaking it's not. Would I recommend this? Yes I would because it's a worthwhile mask but you might be able to find one cheaper that has the same effect without the voice changing feature.,4,9, +great replica mask and was the hit of our Halloween celebration especially with the kids!,5,9, +You'll want it to rain! Does this really need a review? It's a lightsaber AND an umbrella! The batteries are included so you can use the Force right away.,5,10, +The umbrella is a fantastic item that I love playing with in and out of the rain. The central shaft that lights up blue really gives it a lightsaber feeling while still being just the right size for both my hands and my young cousin's hands. The canopy once opened is an excellent width allowing you walk unhindered through the elements as if you were using the force to shield yourself from the rain. The umbrella also comes with a carrying sleeve that fits the entirety of the umbrella to the lightsaber hilt with a strap that allows you to carry it on your shoulder and be the envy of other Jedi and Sith.,5,10, +As as Star Wars nerd...this thing is sweet. Haven't tried the voice modulator and i doubt i will just gonna sit on my shelf proudly! Fits my head just fine after adjusting the inside bands to the max setting. Anyone with a larger than medium head might have problems getting this helmet on or worse..off. Looks fantastic snaps together in 3 pieces and sits pretty flush.,5,11, +This helmet looks extraordinarily authentic and comes in at a very reasonable price particularly when you compare it to other helmets at more than double. It's really easy to put together. The voice feature is novel but it's rather impractical you have to put the microphone almost in your mouth for it to pick up your voice. I prefer to use it with the batteries out. As I wasn't looking for a voice changing feature this attractive helmet satisfies my wants.,5,11, +Looks very cool fits extremely awkward. Gets lotsa wows on display. But, I can't really see where I'm walking with it on. It bobbles around and no matter how I've tried adjusting the plastic bands inside it still fits uncomfortable. A decent buy for the price for a toy replica. But this is definitely anywhere like real movie prop replica unless they all fit weird.,3,11, +Great product but the sizing is a little off. We ordered a medium for a 20lb pug and it fits our 52lb pit bull better.,4,12, +This is very poorly made with unfinished seams and flimsy material that would not last on most dogs. The arms do not hang in any sort of realistic way as they do in the picture nor does the head cap look as clever. As one reviewer pointed out it is difficult to figure out how to get it on and no instructions are provided. I will use it for a themed party once but then it will go straight to Goodwill.,2,12, +The costume is cute but definitely runs big.,3,13, +Loved this on our husky got an extra large and it was perfect. Supper cute! Love the dark side!,5,13, +My fiance and I are having a Star Wars and Lord of the Rings themed wedding. We wanted to include our little buddy in the wedding so of course he'll need to be dressed appropriately While there don't seem to be a lot of Hobbit or Gollum costumes for dogs there sure are a lot of Star Wards doggie outfits. I bought 2 to try out- these Jedi robes and the Ewok one. The Ewok one definitely didn't fit right but these Jedi robes fit PERFECTLY on our little dog!,5,14, +My dog didn't care for it at first but she's gotten used to it. She looks adorable in it. Only wished it came with a small lightsaber to go with it.,5,14, +Good costume. Great costume for a fancy dress party but must wear shorts underneath as very short!,4,15, +It has a tons of sounds including Help me Obi One Kenobi! You're my only hope and he's so cute!,5,16, +Oh My God! The best Star Wars toy ever! R2is so adorable! I've been hunting for him for months and all I could find was extremely expensive. Finally I got my hands on R2 and never let go!,5,16, +Head keeps falling off. The Magnet is not strong enough.,2,17, +So much fun!!!! The head falls off when it hits something but is easily placed back on,5,17, +I bought this shirt for my husband and it is gorgeous in person. The gold on the shirt is metallic foil and has an amazing shine.,4,18, +The fit is perfect true to size and the colors are fantastic.,5,18, +Shirt is too long,1,18, +What's not to love about a BB8 Backpack!,5,19, +It is hands down the coolest backpack and contemplating purchasing another one.,5,19, +my daughter loves it!!,5,19, +This is my favorite shirt ever!,5,20, +Meh its alright,3,20, +Worst shirt ever.,1,20, diff --git a/db/seeds.rb b/db/seeds.rb new file mode 100644 index 0000000000..2f64ab97c6 --- /dev/null +++ b/db/seeds.rb @@ -0,0 +1,194 @@ +require 'csv' + + +#ORDERS# +ORDERS_FILE = Rails.root.join('db','seed_data','orders.csv') +puts "Loading raw media data from #{ORDERS_FILE}" + +orders_failures = [] +CSV.foreach(ORDERS_FILE, :headers => true) do |row| + order = Order.new + order.status = row['status'] + puts "Created order: #{order.inspect}" + successful = order.save + if !successful + orders_failures << order + end +end + +puts "Added #{Order.count} orders records" +puts "#{orders_failures.length} orders failed to save" + +# MERCHANTS # + +MERCHANT_FILE = Rails.root.join('db','seed_data','merchant.csv') +puts "Loading raw media data from #{MERCHANT_FILE}" + +merchant_failures = [] +CSV.foreach(MERCHANT_FILE, :headers => true) do |row| + merchant = Merchant.new + merchant.username = row['username'] + merchant.email = row['email'] + merchant.uid = row['uid'] + merchant.provider = row['provider'] + puts "Created merchant: #{merchant.inspect}" + successful = merchant.save + if !successful + merchant_failures << merchant + end +end + +puts "Added #{Merchant.count} merchant records" +puts "#{merchant_failures.length} merchants failed to save" + +# CATEGORIES # + +CATEGORY_FILE = Rails.root.join('db','seed_data','categories.csv') +puts "Loading raw media data from #{CATEGORY_FILE}" + +category_failures = [] +CSV.foreach(CATEGORY_FILE, :headers => true) do |row| + category = Category.new + category.name = row['name'] + puts "Created category: #{category.inspect}" + successful = category.save + if !successful + category_failures << category + end +end + +puts "Added #{Category.count} category records" +puts "#{category_failures.length} categories failed to save" + +# PRODUCTS # + +PRODUCT_FILE = Rails.root.join('db','seed_data','products.csv') +puts "Loading raw media data from #{PRODUCT_FILE}" + +product_failures = [] +CSV.foreach(PRODUCT_FILE, :headers => true) do |row| + product = Product.new + product.name = row['name'] + product.price = row['price'] + product.inventory = row['inventory'] + product.photo_url = row['photo_url'] + product.description = row['description'] + product.merchant_id = row['merchant_id'] + puts "Created product: #{product.inspect}" + successful = product.save + if !successful + product_failures << product + end +end + +puts "Added #{Product.count} product records" +puts "#{product_failures.length} productd failed to save" + +# REVIEWS # + +REVIEW_FILE = Rails.root.join('db','seed_data','review.csv') +puts "Loading raw media data from #{REVIEW_FILE}" + +review_failures = [] +CSV.foreach(REVIEW_FILE, :headers => true) do |row| + review = Review.new + review.review = row['review'] + review.rating = row['rating'] + review.product_id = row['product'] + puts "Created review: #{review.inspect}" + successful = review.save + if !successful + review_failures << review + end +end + +puts "Added #{Review.count} review records" +puts "#{review_failures.length} reviews failed to save" + + +# PRODUCT CATEGORIES # + +PC_FILE = Rails.root.join('db','seed_data','product_category.csv') +puts "Loading raw media data from #{PC_FILE}" + +product_category_failures = [] +CSV.foreach(PC_FILE, :headers => true) do |row| + product_category = ProductCategory.new + product_category.product_id = row['product_id'] + product_category.category_id = row['category_id'] + puts "Created merchant: #{product_category.inspect}" + successful = product_category.save + if !successful + product_category_failures << product_category + end +end + +puts "Added #{ProductCategory.count} product_category records" +puts "#{product_category_failures.length} product_category failed to save" + +# ORDER ITEMS # + +# order_failures = [] +# 10.times do +# order = Order.new +# successful = order.save +# if !successful +# order_failures << order_item +# end +# puts "Created order: #{order.inspect}" +# end +# puts "Added #{Order.count} order item records" +# puts "#{order_failures.length} orders failed to save" + +# ORDER ITEMS # + +ORDER_ITEMS_FILE = Rails.root.join('db','seed_data','order_items.csv') +puts "Loading raw media data from #{ORDER_ITEMS_FILE}" + +order_items_failures = [] +CSV.foreach(ORDER_ITEMS_FILE, :headers => true) do |row| + order_item = OrderItem.new + order_item.product_id = row['product_id'] + order_item.order_id = row['order_id'] + order_item.quantity = row['quantity'] + order_item.shipped = row['shipped'] + + puts "Created order item: #{order_item.inspect}" + successful = order_item.save + if !successful + order_items_failures << order_item + end +end + +puts "Added #{OrderItem.count} order item records" +puts "#{order_items_failures.length} order items failed to save" + +# Payments # + +PAYMENT_FILE = Rails.root.join('db','seed_data','payment.csv') +puts "Loading raw payment data from #{PAYMENT_FILE}" + +d1 = Date.new(2017,5,8) + +payment_failures = [] +CSV.foreach(PAYMENT_FILE, :headers => true) do |row| + payment = Payment.new + payment.name = row['name'] + payment.email = row['email'] + payment.mailing_address = row['mailing_address'] + payment.cc_name = row['cc_name'] + payment.cc_expiration = Date.new(2018,01,01) + payment.cc_number = row['cc_number'] + payment.cc_ccv = row['cc_ccv'] + payment.billing_zip = row['billing_zip'] + payment.order_id = row['order_id'] + + puts "Created payment: #{payment.inspect}" + successful = payment.save + if !successful + payment_failures << payment + end +end + +puts "Added #{Payment.count} order item records" +puts "#{payment_failures.length} payments failed to save" diff --git a/lib/assets/.keep b/lib/assets/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/lib/tasks/.keep b/lib/tasks/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/log/.keep b/log/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package.json b/package.json new file mode 100644 index 0000000000..f874acf437 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "name": "betsy", + "private": true, + "dependencies": {} +} diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000000..2be3af26fc --- /dev/null +++ b/public/404.html @@ -0,0 +1,67 @@ + + + + The page you were looking for doesn't exist (404) + + + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/422.html b/public/422.html new file mode 100644 index 0000000000..c08eac0d1d --- /dev/null +++ b/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/500.html b/public/500.html new file mode 100644 index 0000000000..78a030af22 --- /dev/null +++ b/public/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/public/assets/.sprockets-manifest-4720a60d9026fa4833e1371032cbb8c0.json b/public/assets/.sprockets-manifest-4720a60d9026fa4833e1371032cbb8c0.json new file mode 100644 index 0000000000..f3d7f3cc13 --- /dev/null +++ b/public/assets/.sprockets-manifest-4720a60d9026fa4833e1371032cbb8c0.json @@ -0,0 +1 @@ +{"files":{"STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot":{"logical_path":"STARWARS.eot","mtime":"2017-10-26T22:29:11-07:00","size":30134,"digest":"d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e","integrity":"sha256-1NeA84A8W5AQmXotW11UaBJe8iqhljLMp4K81QbtH04="},"STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg":{"logical_path":"STARWARS.svg","mtime":"2017-10-26T22:29:11-07:00","size":54548,"digest":"9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777","integrity":"sha256-mtDaKuslyXX22y8jZ76ghE63U5OHPKgmAcAGDL44l3c="},"STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf":{"logical_path":"STARWARS.ttf","mtime":"2017-10-26T22:29:11-07:00","size":29964,"digest":"d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0","integrity":"sha256-0qwjn1FWadtJtP6wII3iGUSoxwZ7BBnhhR0d6JIDGaA="},"STARWARS-6f7a43e51a63bcd0b6753589570ff2a8f85cf3b14531d1ba5f1e98bf6396eef8.woff":{"logical_path":"STARWARS.woff","mtime":"2017-10-26T22:29:11-07:00","size":17232,"digest":"6f7a43e51a63bcd0b6753589570ff2a8f85cf3b14531d1ba5f1e98bf6396eef8","integrity":"sha256-b3pD5RpjvNC2dTWJVw/yqPhc87FFMdG6Xx6Yv2OW7vg="},"admiral-ackbar-75f68d6025be97f8e1aeee920c10eff2c34b0685c72d80e03ea149967c636eb7.png":{"logical_path":"admiral-ackbar.png","mtime":"2017-10-26T22:29:11-07:00","size":10619,"digest":"75f68d6025be97f8e1aeee920c10eff2c34b0685c72d80e03ea149967c636eb7","integrity":"sha256-dfaNYCW+l/jhru6SDBDv8sNLBoXHLYDgPqFJlnxjbrc="},"boba-fett-a8bbd4a97c2805c79a6b7b8a67e770fdd040cbb545e79755e5a20335b091379c.png":{"logical_path":"boba-fett.png","mtime":"2017-10-26T22:29:11-07:00","size":7419,"digest":"a8bbd4a97c2805c79a6b7b8a67e770fdd040cbb545e79755e5a20335b091379c","integrity":"sha256-qLvUqXwoBceaa3uKZ+dw/dBAy7VF55dV5aIDNbCRN5w="},"c3p0-ca7bbde084175fc6d4a6dfffe43e09f08b37b6aac209f3b4cb2587dfee789ce1.png":{"logical_path":"c3p0.png","mtime":"2017-10-26T22:29:11-07:00","size":10438,"digest":"ca7bbde084175fc6d4a6dfffe43e09f08b37b6aac209f3b4cb2587dfee789ce1","integrity":"sha256-ynu94IQXX8bUpt//5D4J8Is3tqrCCfO0yyWH3+54nOE="},"chewbacca-c5402409cf25f6d98207e6e4c737a08b53a7c03b4b4dbea346aca11be9cfae75.png":{"logical_path":"chewbacca.png","mtime":"2017-10-26T22:29:11-07:00","size":12484,"digest":"c5402409cf25f6d98207e6e4c737a08b53a7c03b4b4dbea346aca11be9cfae75","integrity":"sha256-xUAkCc8l9tmCB+bkxzegi1OnwDtLTb6jRqyhG+nPrnU="},"clone-trooper-4c937226ab0b81d8bc3ab9e4afca3f00db8ece8d44bec0e7e49d753540bd1424.png":{"logical_path":"clone-trooper.png","mtime":"2017-10-26T22:29:11-07:00","size":7737,"digest":"4c937226ab0b81d8bc3ab9e4afca3f00db8ece8d44bec0e7e49d753540bd1424","integrity":"sha256-TJNyJqsLgdi8Ornkr8o/ANuOzo1EvsDn5J11NUC9FCQ="},"darth-maul-0221db6a3516487a0e629af7be9f43a5460def19bc052c49ac0b17ea2ddcd4d8.png":{"logical_path":"darth-maul.png","mtime":"2017-10-26T22:29:11-07:00","size":11217,"digest":"0221db6a3516487a0e629af7be9f43a5460def19bc052c49ac0b17ea2ddcd4d8","integrity":"sha256-AiHbajUWSHoOYpr3vp9DpUYN7xm8BSxJrAsX6i3c1Ng="},"darth-vader-e2ff733fbda74f92aa9037ada7f47c3d356b3a35addd24a7670c9e059b4965c9.png":{"logical_path":"darth-vader.png","mtime":"2017-10-26T22:29:11-07:00","size":8230,"digest":"e2ff733fbda74f92aa9037ada7f47c3d356b3a35addd24a7670c9e059b4965c9","integrity":"sha256-4v9zP72nT5KqkDetp/R8PTVrOjWt3SSnZwyeBZtJZck="},"emperor-palpatine-54c211718b990eefe20477794d46550d4ea46c9eecafb76546bda9d7e9e2647e.png":{"logical_path":"emperor-palpatine.png","mtime":"2017-10-26T22:29:11-07:00","size":10226,"digest":"54c211718b990eefe20477794d46550d4ea46c9eecafb76546bda9d7e9e2647e","integrity":"sha256-VMIRcYuZDu/iBHd5TUZVDU6kbJ7sr7dlRr2p1+niZH4="},"ep_naturalblack-badc1d8e1b7c0915d393b47b9f117ad79ae47f10f2c9db85007e248ef8ef00d4.png":{"logical_path":"ep_naturalblack.png","mtime":"2017-10-26T22:29:11-07:00","size":261640,"digest":"badc1d8e1b7c0915d393b47b9f117ad79ae47f10f2c9db85007e248ef8ef00d4","integrity":"sha256-utwdjht8CRXTk7R7nxF615rkfxDyyduFAH4kjvjvANQ="},"ewok-fefafb37ef5b8d52deacb977c69c57201cea39b82e9d3d9c9c02054afb1bf474.png":{"logical_path":"ewok.png","mtime":"2017-10-26T22:29:11-07:00","size":9996,"digest":"fefafb37ef5b8d52deacb977c69c57201cea39b82e9d3d9c9c02054afb1bf474","integrity":"sha256-/vr7N+9bjVLerLl3xpxXIBzqObgunT2cnAIFSvsb9HQ="},"favicon_red-0d20531cf2b631b14a24cd80b0be0132b7967424498870df9e0bb4f63f48614f.png":{"logical_path":"favicon_red.png","mtime":"2017-10-26T22:29:11-07:00","size":3243,"digest":"0d20531cf2b631b14a24cd80b0be0132b7967424498870df9e0bb4f63f48614f","integrity":"sha256-DSBTHPK2MbFKJM2AsL4BMreWdCRJiHDfngu09j9IYU8="},"greedo-ac04e0b186b9dba475d423f516f4e1adf31a4a7328d5add2d44ddc14adc53cba.png":{"logical_path":"greedo.png","mtime":"2017-10-26T22:29:11-07:00","size":7761,"digest":"ac04e0b186b9dba475d423f516f4e1adf31a4a7328d5add2d44ddc14adc53cba","integrity":"sha256-rATgsYa526R11CP1FvThrfMaSnMo1a3S1E3cFK3FPLo="},"han-solo-1e7200556c40c3168ce2e017792f35363c230b28365768e18de443ba1f035ecd.png":{"logical_path":"han-solo.png","mtime":"2017-10-26T22:29:11-07:00","size":5877,"digest":"1e7200556c40c3168ce2e017792f35363c230b28365768e18de443ba1f035ecd","integrity":"sha256-HnIAVWxAwxaM4uAXeS81NjwjCyg2V2jhjeRDuh8DXs0="},"hero-11b3ee42c91e7ecd413d75f1d79c1443a77cd682f27eb7986067ac28e2e0c6dc.jpg":{"logical_path":"hero.jpg","mtime":"2017-10-23T13:18:56-07:00","size":873023,"digest":"11b3ee42c91e7ecd413d75f1d79c1443a77cd682f27eb7986067ac28e2e0c6dc","integrity":"sha256-EbPuQskefs1BPXXx15wUQ6d81oLyfreYYGesKOLgxtw="},"jabba-the-hutt-bfbf4bd3501ba349a0119638b6197ac5afc60fc240f5c04bc42f4b59a51a1b6d.png":{"logical_path":"jabba-the-hutt.png","mtime":"2017-10-26T22:29:11-07:00","size":18766,"digest":"bfbf4bd3501ba349a0119638b6197ac5afc60fc240f5c04bc42f4b59a51a1b6d","integrity":"sha256-v79L01Abo0mgEZY4thl6xa/GD8JA9cBLxC9LWaUaG20="},"jango-fett-65eb608c288b3571a851d197594bdbce08df934c996ce35f7e4927f28b201c36.png":{"logical_path":"jango-fett.png","mtime":"2017-10-26T22:29:11-07:00","size":7768,"digest":"65eb608c288b3571a851d197594bdbce08df934c996ce35f7e4927f28b201c36","integrity":"sha256-ZetgjCiLNXGoUdGXWUvbzgjfk0yZbONffkkn8osgHDY="},"jawa-a5336b22408aaa56226f015dd973a8524d18a422f2c9842525d709ccade63939.png":{"logical_path":"jawa.png","mtime":"2017-10-26T22:29:11-07:00","size":6857,"digest":"a5336b22408aaa56226f015dd973a8524d18a422f2c9842525d709ccade63939","integrity":"sha256-pTNrIkCKqlYibwFd2XOoUk0YpCLyyYQlJdcJzK3mOTk="},"lando-calrissian-680d542e5b20cdd74565ecbb244c4813ea81d3a4d7f72dea1bfc249776732b93.png":{"logical_path":"lando-calrissian.png","mtime":"2017-10-26T22:29:11-07:00","size":6356,"digest":"680d542e5b20cdd74565ecbb244c4813ea81d3a4d7f72dea1bfc249776732b93","integrity":"sha256-aA1ULlsgzddFZey7JExIE+qB06TX9y3qG/wkl3ZzK5M="},"lightsaber-darth-vader-a35f67b1be4c79650c763c1b19567c4a5ca11d814abf3bb42c79dd2a506351ab.png":{"logical_path":"lightsaber-darth-vader.png","mtime":"2017-10-26T22:29:11-07:00","size":3146,"digest":"a35f67b1be4c79650c763c1b19567c4a5ca11d814abf3bb42c79dd2a506351ab","integrity":"sha256-o19nsb5MeWUMdjwbGVZ8SlyhHYFKvzu0LHndKlBjUas="},"lightsaber-luke-anh-40232be6cbd377d91cfd41acc4c72164225d520cfaca0f228371c427d1e20a02.png":{"logical_path":"lightsaber-luke-anh.png","mtime":"2017-10-26T22:29:11-07:00","size":3365,"digest":"40232be6cbd377d91cfd41acc4c72164225d520cfaca0f228371c427d1e20a02","integrity":"sha256-QCMr5svTd9kc/UGsxMchZCJdUgz6yg8ig3HEJ9HiCgI="},"lightsaber-luke-rotj-90180af734e5459b94198acb918a6cec05323c10c0cb196b0efbf95b5c7cbfa5.png":{"logical_path":"lightsaber-luke-rotj.png","mtime":"2017-10-26T22:29:11-07:00","size":2921,"digest":"90180af734e5459b94198acb918a6cec05323c10c0cb196b0efbf95b5c7cbfa5","integrity":"sha256-kBgK9zTlRZuUGYrLkYps7AUyPBDAyxlrDvv5W1x8v6U="},"lobot-662565cad698dd0b5f2c8346eabbbc01fa544f195dfa74b4d4551ea18a3c5b7e.png":{"logical_path":"lobot.png","mtime":"2017-10-26T22:29:11-07:00","size":4602,"digest":"662565cad698dd0b5f2c8346eabbbc01fa544f195dfa74b4d4551ea18a3c5b7e","integrity":"sha256-ZiVlytaY3QtfLING6ru8AfpUTxld+nS01FUeoYo8W34="},"luke-skywalker-48af58128191723727fabd58e7bf6be2283d24ecd0cd57a65b4335775b663dd7.png":{"logical_path":"luke-skywalker.png","mtime":"2017-10-26T22:29:11-07:00","size":7926,"digest":"48af58128191723727fabd58e7bf6be2283d24ecd0cd57a65b4335775b663dd7","integrity":"sha256-SK9YEoGRcjcn+r1Y579r4ig9JOzQzVemW0M1d1tmPdc="},"obiwan-kenobi-dbf6ef185dd70e6266a7bbc3b4472653524c63b988f986a2c15f35453700de32.png":{"logical_path":"obiwan-kenobi.png","mtime":"2017-10-26T22:29:11-07:00","size":9543,"digest":"dbf6ef185dd70e6266a7bbc3b4472653524c63b988f986a2c15f35453700de32","integrity":"sha256-2/bvGF3XDmJmp7vDtEcmU1JMY7mI+YaiwV81RTcA3jI="},"princess-leia-03bfcb99bbbbb0b3f8e960fc4f9d00a0b1200f96c38cbedf5390a02b573ca3f7.png":{"logical_path":"princess-leia.png","mtime":"2017-10-26T22:29:11-07:00","size":5539,"digest":"03bfcb99bbbbb0b3f8e960fc4f9d00a0b1200f96c38cbedf5390a02b573ca3f7","integrity":"sha256-A7/Lmbu7sLP46WD8T50AoLEgD5bDjL7fU5CgK1c8o/c="},"qui-gon-jinn-a414196958eb7bd1ccfe4439cb3a09d73cedec808676fb2b75cccf1635eeea64.png":{"logical_path":"qui-gon-jinn.png","mtime":"2017-10-26T22:29:11-07:00","size":7478,"digest":"a414196958eb7bd1ccfe4439cb3a09d73cedec808676fb2b75cccf1635eeea64","integrity":"sha256-pBQZaVjre9HM/kQ5yzoJ1zzt7ICGdvsrdczPFjXu6mQ="},"r2d2-c64d821b5793a097425983ac5a18d3c9f49bfc2aa6963867d4eed83c48805fda.png":{"logical_path":"r2d2.png","mtime":"2017-10-26T22:29:11-07:00","size":6016,"digest":"c64d821b5793a097425983ac5a18d3c9f49bfc2aa6963867d4eed83c48805fda","integrity":"sha256-xk2CG1eToJdCWYOsWhjTyfSb/Cqmljhn1O7YPEiAX9o="},"red-five-f5dd59cad481de8d2592f050cdd6dff3796e38dc312a0d00624dab6631339834.png":{"logical_path":"red-five.png","mtime":"2017-10-26T22:29:11-07:00","size":8975,"digest":"f5dd59cad481de8d2592f050cdd6dff3796e38dc312a0d00624dab6631339834","integrity":"sha256-9d1ZytSB3o0lkvBQzdbf83luONwxKg0AYk2rZjEzmDQ="},"stardust-bb9231916d7d6cbaeea32bbcc04c5721fc22f05afcb4a6000d47a2d785c377ee.png":{"logical_path":"stardust.png","mtime":"2017-10-26T22:29:11-07:00","size":9106,"digest":"bb9231916d7d6cbaeea32bbcc04c5721fc22f05afcb4a6000d47a2d785c377ee","integrity":"sha256-u5IxkW19bLruoyu8wExXIfwi8Fr8tKYADUei14XDd+4="},"stormtrooper-0092a181dc6df9d4352ecc6524311b0fff57434edc519a070e87b7f9545e07fa.png":{"logical_path":"stormtrooper.png","mtime":"2017-10-26T22:29:11-07:00","size":7429,"digest":"0092a181dc6df9d4352ecc6524311b0fff57434edc519a070e87b7f9545e07fa","integrity":"sha256-AJKhgdxt+dQ1LsxlJDEbD/9XQ07cUZoHDoe3+VReB/o="},"tusken-raider-e45afdc8c2ab50e01119da176858b77c5b735b7ae1602154857b7b4697b2204d.png":{"logical_path":"tusken-raider.png","mtime":"2017-10-26T22:29:11-07:00","size":11509,"digest":"e45afdc8c2ab50e01119da176858b77c5b735b7ae1602154857b7b4697b2204d","integrity":"sha256-5Fr9yMKrUOARGdoXaFi3fFtzW3rhYCFUhXt7RpeyIE0="},"yoda-c53e9f6fd2f436d2aa36137c6a5ca00467176c76174da5830afc700f57eb967e.png":{"logical_path":"yoda.png","mtime":"2017-10-26T22:29:11-07:00","size":9135,"digest":"c53e9f6fd2f436d2aa36137c6a5ca00467176c76174da5830afc700f57eb967e","integrity":"sha256-xT6fb9L0NtKqNhN8alygBGcXbHYXTaWDCvxwD1frln4="},"application-ad56c8c71894461695a835402b5b075b76805bdbd27fb2861ddf2027c6b54ce9.js":{"logical_path":"application.js","mtime":"2017-10-26T09:09:48-07:00","size":734878,"digest":"ad56c8c71894461695a835402b5b075b76805bdbd27fb2861ddf2027c6b54ce9","integrity":"sha256-rVbIxxiURhaVqDVAK1sHW3aAW9vSf7KGHd8gJ8a1TOk="},"application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css":{"logical_path":"application.css","mtime":"2017-10-26T09:39:18-07:00","size":272609,"digest":"0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303","integrity":"sha256-BRYjHbrFPBzhiJl52XdB0rwp72isd8m+o8W9CDM+kwM="},"BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot":{"logical_path":"BungeeInline-Regular.eot","mtime":"2017-10-26T22:29:11-07:00","size":176668,"digest":"2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855","integrity":"sha256-K4yooIkRIByvSYoVxilA7AtCyeZyJeJsVpCYhpmDGFU="},"BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf":{"logical_path":"BungeeInline-Regular.otf","mtime":"2017-10-26T22:29:11-07:00","size":505012,"digest":"fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c","integrity":"sha256-/Jbqo8bXXjzf6ay/lp5EzFYYqetn5jyw4ZmtyvIMXow="},"BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg":{"logical_path":"BungeeInline-Regular.svg","mtime":"2017-10-26T22:29:11-07:00","size":1519490,"digest":"98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503","integrity":"sha256-mKRT6x7jilc6Py6wuxBXi+GGw5oPGDns3B2yokHWpQM="},"BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf":{"logical_path":"BungeeInline-Regular.ttf","mtime":"2017-10-26T22:29:11-07:00","size":176392,"digest":"491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e","integrity":"sha256-SR398jC583l8YWu5AucvPU8ubSRbYvVwt7Dwmw2+C34="},"BungeeInline-Regular-1be4d8d8a786d82d8a7e8195fae072f3f79a4c52e417b0cbc8142969865d524f.woff":{"logical_path":"BungeeInline-Regular.woff","mtime":"2017-10-26T22:29:11-07:00","size":174724,"digest":"1be4d8d8a786d82d8a7e8195fae072f3f79a4c52e417b0cbc8142969865d524f","integrity":"sha256-G+TY2KeG2C2KfoGV+uBy8/eaTFLkF7DLyBQpaYZdUk8="},"darth-vader-faith-bf76e044ab8a1c11420bbf60b1b75a6d6e0cd29cf45983a7be7961c9b50d4659.jpg":{"logical_path":"darth-vader-faith.jpg","mtime":"2017-10-26T22:29:11-07:00","size":76525,"digest":"bf76e044ab8a1c11420bbf60b1b75a6d6e0cd29cf45983a7be7961c9b50d4659","integrity":"sha256-v3bgRKuKHBFCC79gsbdabW4M0pz0WYOnvnlhybUNRlk="},"application-315735db5691ced289379956e18a968a53186637f532db2b3b24772864c82ce5.js":{"logical_path":"application.js","mtime":"2017-10-26T20:02:39-07:00","size":735023,"digest":"315735db5691ced289379956e18a968a53186637f532db2b3b24772864c82ce5","integrity":"sha256-MVc121aRztKJN5lW4YqWilMYZjf1MtsrOyR3KGTILOU="},"application-7314b42545fb716b69226f3b025e2d1407d75e79b5648292e2ab56f3b26b5231.css":{"logical_path":"application.css","mtime":"2017-10-26T21:59:14-07:00","size":280231,"digest":"7314b42545fb716b69226f3b025e2d1407d75e79b5648292e2ab56f3b26b5231","integrity":"sha256-cxS0JUX7cWtpIm87Al4tFAfXXnm1ZIKS4qtW87JrUjE="},"application-2276529daa499510152973b5723d3f725ec387d785ff09f4f2cb3e67bbe3e40c.js":{"logical_path":"application.js","mtime":"2017-10-27T11:49:17-07:00","size":285121,"digest":"2276529daa499510152973b5723d3f725ec387d785ff09f4f2cb3e67bbe3e40c","integrity":"sha256-InZSnapJlRAVKXO1cj0/cl7Dh9eF/wn08ss+Z7vj5Aw="},"application-cc09d24518977f20eee9ea358668c9fb0bb6ba01a5ba478c18f60cd29b052009.css":{"logical_path":"application.css","mtime":"2017-10-26T21:59:14-07:00","size":94871,"digest":"cc09d24518977f20eee9ea358668c9fb0bb6ba01a5ba478c18f60cd29b052009","integrity":"sha256-zAnSRRiXfyDu6eo1hmjJ+wu2ugGlukeMGPYM0psFIAk="},"application-dc38674f905d5e0a3baf13d9bece674b1ee21adae0871b6dbd3443012f942ff9.css":{"logical_path":"application.css","mtime":"2017-10-27T10:02:26-07:00","size":95146,"digest":"dc38674f905d5e0a3baf13d9bece674b1ee21adae0871b6dbd3443012f942ff9","integrity":"sha256-3DhnT5BdXgo7rxPZvs5nSx7iGtrghxttvTRDAS+UL/k="},"application-c604669e03d65ae63445d0210b33dabf5b8736ef01bef9d8264bc433bfbfa7dc.css":{"logical_path":"application.css","mtime":"2017-10-27T11:49:17-07:00","size":95309,"digest":"c604669e03d65ae63445d0210b33dabf5b8736ef01bef9d8264bc433bfbfa7dc","integrity":"sha256-xgRmngPWWuY0RdAhCzPav1uHNu8BvvnYJkvEM7+/p9w="},"application-e0e9268b244e5841512f72a41e6780dc6afe31e47614f96a1a254ee99a43d950.css":{"logical_path":"application.css","mtime":"2017-10-27T12:39:23-07:00","size":95527,"digest":"e0e9268b244e5841512f72a41e6780dc6afe31e47614f96a1a254ee99a43d950","integrity":"sha256-4OkmiyROWEFRL3KkHmeA3Gr+MeR2FPlqGiVO6ZpD2VA="},"application-48f49d9651a3b3d594a05572311317bddcc9751fbc2414a46d396501c071f6cc.css":{"logical_path":"application.css","mtime":"2017-10-27T13:01:12-07:00","size":95535,"digest":"48f49d9651a3b3d594a05572311317bddcc9751fbc2414a46d396501c071f6cc","integrity":"sha256-SPSdllGjs9WUoFVyMRMXvdzJdR+8JBSkbTllAcBx9sw="},"application-e6be02386b30d8bda3b91b2661552d77800dac78542f38c0b8d3752023b30b20.css":{"logical_path":"application.css","mtime":"2017-10-27T14:01:19-07:00","size":95541,"digest":"e6be02386b30d8bda3b91b2661552d77800dac78542f38c0b8d3752023b30b20","integrity":"sha256-5r4COGsw2L2juRsmYVUtd4ANrHhULzjAuNN1ICOzCyA="}},"assets":{"STARWARS.eot":"STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot","STARWARS.svg":"STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg","STARWARS.ttf":"STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf","STARWARS.woff":"STARWARS-6f7a43e51a63bcd0b6753589570ff2a8f85cf3b14531d1ba5f1e98bf6396eef8.woff","admiral-ackbar.png":"admiral-ackbar-75f68d6025be97f8e1aeee920c10eff2c34b0685c72d80e03ea149967c636eb7.png","boba-fett.png":"boba-fett-a8bbd4a97c2805c79a6b7b8a67e770fdd040cbb545e79755e5a20335b091379c.png","c3p0.png":"c3p0-ca7bbde084175fc6d4a6dfffe43e09f08b37b6aac209f3b4cb2587dfee789ce1.png","chewbacca.png":"chewbacca-c5402409cf25f6d98207e6e4c737a08b53a7c03b4b4dbea346aca11be9cfae75.png","clone-trooper.png":"clone-trooper-4c937226ab0b81d8bc3ab9e4afca3f00db8ece8d44bec0e7e49d753540bd1424.png","darth-maul.png":"darth-maul-0221db6a3516487a0e629af7be9f43a5460def19bc052c49ac0b17ea2ddcd4d8.png","darth-vader.png":"darth-vader-e2ff733fbda74f92aa9037ada7f47c3d356b3a35addd24a7670c9e059b4965c9.png","emperor-palpatine.png":"emperor-palpatine-54c211718b990eefe20477794d46550d4ea46c9eecafb76546bda9d7e9e2647e.png","ep_naturalblack.png":"ep_naturalblack-badc1d8e1b7c0915d393b47b9f117ad79ae47f10f2c9db85007e248ef8ef00d4.png","ewok.png":"ewok-fefafb37ef5b8d52deacb977c69c57201cea39b82e9d3d9c9c02054afb1bf474.png","favicon_red.png":"favicon_red-0d20531cf2b631b14a24cd80b0be0132b7967424498870df9e0bb4f63f48614f.png","greedo.png":"greedo-ac04e0b186b9dba475d423f516f4e1adf31a4a7328d5add2d44ddc14adc53cba.png","han-solo.png":"han-solo-1e7200556c40c3168ce2e017792f35363c230b28365768e18de443ba1f035ecd.png","hero.jpg":"hero-11b3ee42c91e7ecd413d75f1d79c1443a77cd682f27eb7986067ac28e2e0c6dc.jpg","jabba-the-hutt.png":"jabba-the-hutt-bfbf4bd3501ba349a0119638b6197ac5afc60fc240f5c04bc42f4b59a51a1b6d.png","jango-fett.png":"jango-fett-65eb608c288b3571a851d197594bdbce08df934c996ce35f7e4927f28b201c36.png","jawa.png":"jawa-a5336b22408aaa56226f015dd973a8524d18a422f2c9842525d709ccade63939.png","lando-calrissian.png":"lando-calrissian-680d542e5b20cdd74565ecbb244c4813ea81d3a4d7f72dea1bfc249776732b93.png","lightsaber-darth-vader.png":"lightsaber-darth-vader-a35f67b1be4c79650c763c1b19567c4a5ca11d814abf3bb42c79dd2a506351ab.png","lightsaber-luke-anh.png":"lightsaber-luke-anh-40232be6cbd377d91cfd41acc4c72164225d520cfaca0f228371c427d1e20a02.png","lightsaber-luke-rotj.png":"lightsaber-luke-rotj-90180af734e5459b94198acb918a6cec05323c10c0cb196b0efbf95b5c7cbfa5.png","lobot.png":"lobot-662565cad698dd0b5f2c8346eabbbc01fa544f195dfa74b4d4551ea18a3c5b7e.png","luke-skywalker.png":"luke-skywalker-48af58128191723727fabd58e7bf6be2283d24ecd0cd57a65b4335775b663dd7.png","obiwan-kenobi.png":"obiwan-kenobi-dbf6ef185dd70e6266a7bbc3b4472653524c63b988f986a2c15f35453700de32.png","princess-leia.png":"princess-leia-03bfcb99bbbbb0b3f8e960fc4f9d00a0b1200f96c38cbedf5390a02b573ca3f7.png","qui-gon-jinn.png":"qui-gon-jinn-a414196958eb7bd1ccfe4439cb3a09d73cedec808676fb2b75cccf1635eeea64.png","r2d2.png":"r2d2-c64d821b5793a097425983ac5a18d3c9f49bfc2aa6963867d4eed83c48805fda.png","red-five.png":"red-five-f5dd59cad481de8d2592f050cdd6dff3796e38dc312a0d00624dab6631339834.png","stardust.png":"stardust-bb9231916d7d6cbaeea32bbcc04c5721fc22f05afcb4a6000d47a2d785c377ee.png","stormtrooper.png":"stormtrooper-0092a181dc6df9d4352ecc6524311b0fff57434edc519a070e87b7f9545e07fa.png","tusken-raider.png":"tusken-raider-e45afdc8c2ab50e01119da176858b77c5b735b7ae1602154857b7b4697b2204d.png","yoda.png":"yoda-c53e9f6fd2f436d2aa36137c6a5ca00467176c76174da5830afc700f57eb967e.png","application.js":"application-2276529daa499510152973b5723d3f725ec387d785ff09f4f2cb3e67bbe3e40c.js","application.css":"application-e6be02386b30d8bda3b91b2661552d77800dac78542f38c0b8d3752023b30b20.css","BungeeInline-Regular.eot":"BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot","BungeeInline-Regular.otf":"BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf","BungeeInline-Regular.svg":"BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg","BungeeInline-Regular.ttf":"BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf","BungeeInline-Regular.woff":"BungeeInline-Regular-1be4d8d8a786d82d8a7e8195fae072f3f79a4c52e417b0cbc8142969865d524f.woff","darth-vader-faith.jpg":"darth-vader-faith-bf76e044ab8a1c11420bbf60b1b75a6d6e0cd29cf45983a7be7961c9b50d4659.jpg"}} \ No newline at end of file diff --git a/public/assets/BungeeInline-Regular-1be4d8d8a786d82d8a7e8195fae072f3f79a4c52e417b0cbc8142969865d524f.woff b/public/assets/BungeeInline-Regular-1be4d8d8a786d82d8a7e8195fae072f3f79a4c52e417b0cbc8142969865d524f.woff new file mode 100644 index 0000000000..0b872dd3f8 Binary files /dev/null and b/public/assets/BungeeInline-Regular-1be4d8d8a786d82d8a7e8195fae072f3f79a4c52e417b0cbc8142969865d524f.woff differ diff --git a/public/assets/BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot b/public/assets/BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot new file mode 100644 index 0000000000..65187a8e57 Binary files /dev/null and b/public/assets/BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot differ diff --git a/public/assets/BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot.gz b/public/assets/BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot.gz new file mode 100644 index 0000000000..ee32c7d667 Binary files /dev/null and b/public/assets/BungeeInline-Regular-2b8ca8a08911201caf498a15c62940ec0b42c9e67225e26c5690988699831855.eot.gz differ diff --git a/public/assets/BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf b/public/assets/BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf new file mode 100644 index 0000000000..6dbd5e1963 Binary files /dev/null and b/public/assets/BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf differ diff --git a/public/assets/BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf.gz b/public/assets/BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf.gz new file mode 100644 index 0000000000..71ce285d22 Binary files /dev/null and b/public/assets/BungeeInline-Regular-491dfdf230b9f3797c616bb902e72f3d4f2e6d245b62f570b7b0f09b0dbe0b7e.ttf.gz differ diff --git a/public/assets/BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg b/public/assets/BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg new file mode 100644 index 0000000000..2d8c9a6306 --- /dev/null +++ b/public/assets/BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg @@ -0,0 +1,9115 @@ + + + + +Created by FontForge 20090914 at Thu Oct 26 23:49:49 2017 + By www-data +Copyright 2008 The Bungee Project Authors (david@djr.com) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg.gz b/public/assets/BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg.gz new file mode 100644 index 0000000000..200ea6ab0a Binary files /dev/null and b/public/assets/BungeeInline-Regular-98a453eb1ee38a573a3f2eb0bb10578be186c39a0f1839ecdc1db2a241d6a503.svg.gz differ diff --git a/public/assets/BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf b/public/assets/BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf new file mode 100644 index 0000000000..404beaeea4 Binary files /dev/null and b/public/assets/BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf differ diff --git a/public/assets/BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf.gz b/public/assets/BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf.gz new file mode 100644 index 0000000000..83528afc92 Binary files /dev/null and b/public/assets/BungeeInline-Regular-fc96eaa3c6d75e3cdfe9acbf969e44cc5618a9eb67e63cb0e199adcaf20c5e8c.otf.gz differ diff --git a/public/assets/STARWARS-6f7a43e51a63bcd0b6753589570ff2a8f85cf3b14531d1ba5f1e98bf6396eef8.woff b/public/assets/STARWARS-6f7a43e51a63bcd0b6753589570ff2a8f85cf3b14531d1ba5f1e98bf6396eef8.woff new file mode 100644 index 0000000000..867cf399e4 Binary files /dev/null and b/public/assets/STARWARS-6f7a43e51a63bcd0b6753589570ff2a8f85cf3b14531d1ba5f1e98bf6396eef8.woff differ diff --git a/public/assets/STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg b/public/assets/STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg new file mode 100644 index 0000000000..d1011700b3 --- /dev/null +++ b/public/assets/STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg @@ -0,0 +1,499 @@ + + + + +Created by FontForge 20110222 at Mon Mar 7 08:31:10 2011 + By www-data +Star Wars Font +by Jose Gonzalez Pareja - 1998 - FREEWARE +Design Copyright by Lucasfilm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg.gz b/public/assets/STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg.gz new file mode 100644 index 0000000000..71b59022f8 Binary files /dev/null and b/public/assets/STARWARS-9ad0da2aeb25c975f6db2f2367bea0844eb75393873ca82601c0060cbe389777.svg.gz differ diff --git a/public/assets/STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf b/public/assets/STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf new file mode 100644 index 0000000000..d1d0c7e987 Binary files /dev/null and b/public/assets/STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf differ diff --git a/public/assets/STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf.gz b/public/assets/STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf.gz new file mode 100644 index 0000000000..72374d8007 Binary files /dev/null and b/public/assets/STARWARS-d2ac239f515669db49b4feb0208de21944a8c7067b0419e1851d1de8920319a0.ttf.gz differ diff --git a/public/assets/STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot b/public/assets/STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot new file mode 100644 index 0000000000..a5acc30e28 Binary files /dev/null and b/public/assets/STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot differ diff --git a/public/assets/STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot.gz b/public/assets/STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot.gz new file mode 100644 index 0000000000..14a1e8387d Binary files /dev/null and b/public/assets/STARWARS-d4d780f3803c5b9010997a2d5b5d5468125ef22aa19632cca782bcd506ed1f4e.eot.gz differ diff --git a/public/assets/admiral-ackbar-75f68d6025be97f8e1aeee920c10eff2c34b0685c72d80e03ea149967c636eb7.png b/public/assets/admiral-ackbar-75f68d6025be97f8e1aeee920c10eff2c34b0685c72d80e03ea149967c636eb7.png new file mode 100644 index 0000000000..5781380fef Binary files /dev/null and b/public/assets/admiral-ackbar-75f68d6025be97f8e1aeee920c10eff2c34b0685c72d80e03ea149967c636eb7.png differ diff --git a/public/assets/application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css b/public/assets/application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css new file mode 100644 index 0000000000..19a8074fdd --- /dev/null +++ b/public/assets/application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css @@ -0,0 +1,7463 @@ +@charset "UTF-8"; +/** + * Foundation for Sites by ZURB + * Version 6.4.1 + * foundation.zurb.com + * Licensed under MIT Open Source + */ +@media print, screen and (min-width: 40em) { + /* line 45, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal, .reveal.tiny, .reveal.small, .reveal.large { + right: auto; + left: auto; + margin: 0 auto; + } +} +/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */ +/* Document + ========================================================================== */ +/** + * 1. Change the default font family in all browsers (opinionated). + * 2. Correct the line height in all browsers. + * 3. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ +/* line 59, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +html { + font-family: sans-serif; + /* 1 */ + line-height: 1.15; + /* 2 */ + -ms-text-size-adjust: 100%; + /* 3 */ + -webkit-text-size-adjust: 100%; + /* 3 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers (opinionated). + */ +/* line 83, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ +/* line 91, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +/* line 105, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +/* line 198, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +figcaption, +figure { + display: block; +} + +/** + * Add the correct margin in IE 8. + */ +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +/* line 221, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * Add the correct display in IE. + */ +/* line 231, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +main { + display: block; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +/* line 251, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Links + ========================================================================== */ +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ +/* line 266, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} + +/** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ +/* line 276, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +a:active, +a:hover { + outline-width: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +/* line 291, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ +/* line 301, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +/* line 310, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +/* line 320, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ +/* line 331, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ +/* line 339, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ +/* line 348, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +/* line 357, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +/* line 365, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +sub { + bottom: -0.25em; +} + +/* line 369, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +/* line 382, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ +/* line 391, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ +/* line 400, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ +/* line 408, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ +/* line 422, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + */ +/* line 442, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button { + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +/* line 451, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ +/* line 462, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} + +/* line 469, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + /** + * Remove the inner border and padding in Firefox. + */ + /** + * Restore the focus styles unset by the previous rule. + */ +} +/* line 478, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +/* line 487, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Show the overflow in Edge. + */ +/* line 496, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +input { + overflow: visible; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ +/* line 505, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +/* line 515, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +/* line 525, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ + /** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ +} +/* line 533, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +/* line 544, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/** + * Change the border, margin, and padding in all browsers (opinionated). + */ +/* line 553, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +/* line 566, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +legend { + box-sizing: border-box; + /* 1 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + color: inherit; + /* 2 */ + white-space: normal; + /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +/* line 580, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ +/* line 589, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +textarea { + overflow: auto; +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE, and Firefox. + */ +/* line 602, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +/* line 610, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +summary { + display: list-item; +} + +/* + * Add the correct display in IE 9-. + */ +/* line 618, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +menu { + display: block; +} + +/* Scripting + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +/* line 651, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ +/* line 659, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +template { + display: none; +} + +/* Hidden + ========================================================================== */ +/** + * Add the correct display in IE 10-. + */ +/* line 672, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */ +[hidden] { + display: none; +} + +/* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +.foundation-mq { + font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; +} + +/* line 139, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +html { + box-sizing: border-box; + font-size: 100%; +} + +/* line 145, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +*, +*::before, +*::after { + box-sizing: inherit; +} + +/* line 152, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +body { + margin: 0; + padding: 0; + background: #fefefe; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* line 169, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +img { + display: inline-block; + vertical-align: middle; + max-width: 100%; + height: auto; + -ms-interpolation-mode: bicubic; +} + +/* line 181, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +textarea { + height: auto; + min-height: 50px; + border-radius: 0; +} + +/* line 188, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +select { + box-sizing: border-box; + width: 100%; + border-radius: 0; +} + +/* line 198, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +.map_canvas img, +.map_canvas embed, +.map_canvas object, +.mqa-display img, +.mqa-display embed, +.mqa-display object { + max-width: none !important; +} + +/* line 206, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +button { + padding: 0; + appearance: none; + border: 0; + border-radius: 0; + background: transparent; + line-height: 1; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] button { + outline: 0; +} + +/* line 220, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +pre { + overflow: auto; +} + +/* line 225, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; +} + +/* line 234, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +.is-visible { + display: block !important; +} + +/* line 238, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/_global.scss */ +.is-hidden { + display: none !important; +} + +/* line 28, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row { + max-width: 75rem; + margin-right: auto; + margin-left: auto; +} +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.row::before, .row::after { + display: table; + content: ' '; + flex-basis: 0; + order: 1; +} +/* line 184, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.row::after { + clear: both; +} +/* line 33, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row.collapse > .column, .row.collapse > .columns { + padding-right: 0; + padding-left: 0; +} +/* line 39, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row .row { + margin-right: -0.625rem; + margin-left: -0.625rem; +} +@media print, screen and (min-width: 40em) { + /* line 39, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .row .row { + margin-right: -0.9375rem; + margin-left: -0.9375rem; + } +} +@media print, screen and (min-width: 64em) { + /* line 39, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .row .row { + margin-right: -0.9375rem; + margin-left: -0.9375rem; + } +} +/* line 42, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row .row.collapse { + margin-right: 0; + margin-left: 0; +} +/* line 49, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row.expanded { + max-width: none; +} +/* line 52, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row.expanded .row { + margin-right: auto; + margin-left: auto; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row:not(.expanded) .row { + max-width: none; +} +/* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row.gutter-small > .column, .row.gutter-small > .columns { + padding-right: 0.625rem; + padding-left: 0.625rem; +} +/* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row.gutter-medium > .column, .row.gutter-medium > .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; +} + +/* line 76, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.column, .columns { + width: 100%; + float: left; + padding-right: 0.625rem; + padding-left: 0.625rem; +} +@media print, screen and (min-width: 40em) { + /* line 76, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .column, .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } +} +/* line 68, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_column.scss */ +.column:last-child:not(:first-child), .columns:last-child:not(:first-child) { + float: right; +} +/* line 49, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_position.scss */ +.column.end:last-child:last-child, .end.columns:last-child:last-child { + float: left; +} + +/* line 88, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.column.row.row, .row.row.columns { + float: none; +} + +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.row .column.row.row, .row .row.row.columns { + margin-right: 0; + margin-left: 0; + padding-right: 0; + padding-left: 0; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-1 { + width: 8.33333%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-1 { + position: relative; + left: 8.33333%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-1 { + position: relative; + left: -8.33333%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-0 { + margin-left: 0%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-2 { + width: 16.66667%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-2 { + position: relative; + left: 16.66667%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-2 { + position: relative; + left: -16.66667%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-1 { + margin-left: 8.33333%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-3 { + width: 25%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-3 { + position: relative; + left: 25%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-3 { + position: relative; + left: -25%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-2 { + margin-left: 16.66667%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-4 { + width: 33.33333%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-4 { + position: relative; + left: 33.33333%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-4 { + position: relative; + left: -33.33333%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-3 { + margin-left: 25%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-5 { + width: 41.66667%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-5 { + position: relative; + left: 41.66667%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-5 { + position: relative; + left: -41.66667%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-4 { + margin-left: 33.33333%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-6 { + width: 50%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-6 { + position: relative; + left: 50%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-6 { + position: relative; + left: -50%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-5 { + margin-left: 41.66667%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-7 { + width: 58.33333%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-7 { + position: relative; + left: 58.33333%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-7 { + position: relative; + left: -58.33333%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-6 { + margin-left: 50%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-8 { + width: 66.66667%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-8 { + position: relative; + left: 66.66667%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-8 { + position: relative; + left: -66.66667%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-7 { + margin-left: 58.33333%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-9 { + width: 75%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-9 { + position: relative; + left: 75%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-9 { + position: relative; + left: -75%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-8 { + margin-left: 66.66667%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-10 { + width: 83.33333%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-10 { + position: relative; + left: 83.33333%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-10 { + position: relative; + left: -83.33333%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-9 { + margin-left: 75%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-11 { + width: 91.66667%; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-push-11 { + position: relative; + left: 91.66667%; +} + +/* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-pull-11 { + position: relative; + left: -91.66667%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-10 { + margin-left: 83.33333%; +} + +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-12 { + width: 100%; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-offset-11 { + margin-left: 91.66667%; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-1 > .column, .small-up-1 > .columns { + float: left; + width: 100%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-2 > .column, .small-up-2 > .columns { + float: left; + width: 50%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-3 > .column, .small-up-3 > .columns { + float: left; + width: 33.33333%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-4 > .column, .small-up-4 > .columns { + float: left; + width: 25%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-5 > .column, .small-up-5 > .columns { + float: left; + width: 20%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-6 > .column, .small-up-6 > .columns { + float: left; + width: 16.66667%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-7 > .column, .small-up-7 > .columns { + float: left; + width: 14.28571%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child { + float: left; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-8 > .column, .small-up-8 > .columns { + float: left; + width: 12.5%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) { + clear: none; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) { + clear: both; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ +.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child { + float: left; +} + +/* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-collapse > .column, .small-collapse > .columns { + padding-right: 0; + padding-left: 0; +} +/* line 137, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-collapse .row { + margin-right: 0; + margin-left: 0; +} + +/* line 143, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.expanded.row .small-collapse.row { + margin-right: 0; + margin-left: 0; +} + +/* line 149, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-uncollapse > .column, .small-uncollapse > .columns { + padding-right: 0.625rem; + padding-left: 0.625rem; +} + +/* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-centered { + margin-right: auto; + margin-left: auto; +} +/* line 20, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_position.scss */ +.small-centered, .small-centered:last-child:not(:first-child) { + float: none; + clear: both; +} + +/* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.small-uncentered, +.small-push-0, +.small-pull-0 { + position: static; + float: left; + margin-right: 0; + margin-left: 0; +} + +@media print, screen and (min-width: 40em) { + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-1 { + width: 8.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-1 { + position: relative; + left: 8.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-1 { + position: relative; + left: -8.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-0 { + margin-left: 0%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-2 { + width: 16.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-2 { + position: relative; + left: 16.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-2 { + position: relative; + left: -16.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-1 { + margin-left: 8.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-3 { + width: 25%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-3 { + position: relative; + left: 25%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-3 { + position: relative; + left: -25%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-2 { + margin-left: 16.66667%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-4 { + width: 33.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-4 { + position: relative; + left: 33.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-4 { + position: relative; + left: -33.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-3 { + margin-left: 25%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-5 { + width: 41.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-5 { + position: relative; + left: 41.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-5 { + position: relative; + left: -41.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-4 { + margin-left: 33.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-6 { + width: 50%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-6 { + position: relative; + left: 50%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-6 { + position: relative; + left: -50%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-5 { + margin-left: 41.66667%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-7 { + width: 58.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-7 { + position: relative; + left: 58.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-7 { + position: relative; + left: -58.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-6 { + margin-left: 50%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-8 { + width: 66.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-8 { + position: relative; + left: 66.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-8 { + position: relative; + left: -66.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-7 { + margin-left: 58.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-9 { + width: 75%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-9 { + position: relative; + left: 75%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-9 { + position: relative; + left: -75%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-8 { + margin-left: 66.66667%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-10 { + width: 83.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-10 { + position: relative; + left: 83.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-10 { + position: relative; + left: -83.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-9 { + margin-left: 75%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-11 { + width: 91.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-push-11 { + position: relative; + left: 91.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-pull-11 { + position: relative; + left: -91.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-10 { + margin-left: 83.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-12 { + width: 100%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-offset-11 { + margin-left: 91.66667%; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-1 > .column, .medium-up-1 > .columns { + float: left; + width: 100%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-2 > .column, .medium-up-2 > .columns { + float: left; + width: 50%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-3 > .column, .medium-up-3 > .columns { + float: left; + width: 33.33333%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-4 > .column, .medium-up-4 > .columns { + float: left; + width: 25%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-5 > .column, .medium-up-5 > .columns { + float: left; + width: 20%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-6 > .column, .medium-up-6 > .columns { + float: left; + width: 16.66667%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-7 > .column, .medium-up-7 > .columns { + float: left; + width: 14.28571%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-8 > .column, .medium-up-8 > .columns { + float: left; + width: 12.5%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child { + float: left; + } + + /* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-collapse > .column, .medium-collapse > .columns { + padding-right: 0; + padding-left: 0; + } + /* line 137, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-collapse .row { + margin-right: 0; + margin-left: 0; + } + + /* line 143, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .expanded.row .medium-collapse.row { + margin-right: 0; + margin-left: 0; + } + + /* line 149, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-uncollapse > .column, .medium-uncollapse > .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } + + /* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-centered { + margin-right: auto; + margin-left: auto; + } + /* line 20, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_position.scss */ + .medium-centered, .medium-centered:last-child:not(:first-child) { + float: none; + clear: both; + } + + /* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .medium-uncentered, + .medium-push-0, + .medium-pull-0 { + position: static; + float: left; + margin-right: 0; + margin-left: 0; + } +} +@media print, screen and (min-width: 64em) { + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-1 { + width: 8.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-1 { + position: relative; + left: 8.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-1 { + position: relative; + left: -8.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-0 { + margin-left: 0%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-2 { + width: 16.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-2 { + position: relative; + left: 16.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-2 { + position: relative; + left: -16.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-1 { + margin-left: 8.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-3 { + width: 25%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-3 { + position: relative; + left: 25%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-3 { + position: relative; + left: -25%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-2 { + margin-left: 16.66667%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-4 { + width: 33.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-4 { + position: relative; + left: 33.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-4 { + position: relative; + left: -33.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-3 { + margin-left: 25%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-5 { + width: 41.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-5 { + position: relative; + left: 41.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-5 { + position: relative; + left: -41.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-4 { + margin-left: 33.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-6 { + width: 50%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-6 { + position: relative; + left: 50%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-6 { + position: relative; + left: -50%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-5 { + margin-left: 41.66667%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-7 { + width: 58.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-7 { + position: relative; + left: 58.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-7 { + position: relative; + left: -58.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-6 { + margin-left: 50%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-8 { + width: 66.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-8 { + position: relative; + left: 66.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-8 { + position: relative; + left: -66.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-7 { + margin-left: 58.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-9 { + width: 75%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-9 { + position: relative; + left: 75%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-9 { + position: relative; + left: -75%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-8 { + margin-left: 66.66667%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-10 { + width: 83.33333%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-10 { + position: relative; + left: 83.33333%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-10 { + position: relative; + left: -83.33333%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-9 { + margin-left: 75%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-11 { + width: 91.66667%; + } + + /* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-push-11 { + position: relative; + left: 91.66667%; + } + + /* line 113, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-pull-11 { + position: relative; + left: -91.66667%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-10 { + margin-left: 83.33333%; + } + + /* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-12 { + width: 100%; + } + + /* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-offset-11 { + margin-left: 91.66667%; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-1 > .column, .large-up-1 > .columns { + float: left; + width: 100%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-2 > .column, .large-up-2 > .columns { + float: left; + width: 50%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-3 > .column, .large-up-3 > .columns { + float: left; + width: 33.33333%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-4 > .column, .large-up-4 > .columns { + float: left; + width: 25%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-5 > .column, .large-up-5 > .columns { + float: left; + width: 20%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-6 > .column, .large-up-6 > .columns { + float: left; + width: 16.66667%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-7 > .column, .large-up-7 > .columns { + float: left; + width: 14.28571%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child { + float: left; + } + + /* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-8 > .column, .large-up-8 > .columns { + float: left; + width: 12.5%; + } + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) { + clear: none; + } + /* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) { + clear: both; + } + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_layout.scss */ + .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child { + float: left; + } + + /* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-collapse > .column, .large-collapse > .columns { + padding-right: 0; + padding-left: 0; + } + /* line 137, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-collapse .row { + margin-right: 0; + margin-left: 0; + } + + /* line 143, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .expanded.row .large-collapse.row { + margin-right: 0; + margin-left: 0; + } + + /* line 149, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-uncollapse > .column, .large-uncollapse > .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } + + /* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-centered { + margin-right: auto; + margin-left: auto; + } + /* line 20, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_position.scss */ + .large-centered, .large-centered:last-child:not(:first-child) { + float: none; + clear: both; + } + + /* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .large-uncentered, + .large-push-0, + .large-pull-0 { + position: static; + float: left; + margin-right: 0; + margin-left: 0; + } +} +/* line 166, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ +.column-block { + margin-bottom: 1.25rem; +} +/* line 78, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_gutter.scss */ +.column-block > :last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + /* line 166, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_classes.scss */ + .column-block { + margin-bottom: 1.875rem; + } + /* line 78, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/grid/_gutter.scss */ + .column-block > :last-child { + margin-bottom: 0; + } +} + +/* line 256, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin: 0; + padding: 0; +} + +/* line 280, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +p { + margin-bottom: 1rem; + font-size: inherit; + line-height: 1.6; + text-rendering: optimizeLegibility; +} + +/* line 289, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +em, +i { + font-style: italic; + line-height: inherit; +} + +/* line 296, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +strong, +b { + font-weight: bold; + line-height: inherit; +} + +/* line 303, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +small { + font-size: 80%; + line-height: inherit; +} + +/* line 309, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-style: normal; + font-weight: normal; + color: inherit; + text-rendering: optimizeLegibility; +} +/* line 321, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + line-height: 0; + color: #cacaca; +} + +/* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h1 { + font-size: 1.5rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h2 { + font-size: 1.25rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h3 { + font-size: 1.1875rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h4 { + font-size: 1.125rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h5 { + font-size: 1.0625rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +h6 { + font-size: 1rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +@media print, screen and (min-width: 40em) { + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ + h1 { + font-size: 3rem; + } + + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ + h2 { + font-size: 2.5rem; + } + + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ + h3 { + font-size: 1.9375rem; + } + + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ + h4 { + font-size: 1.5625rem; + } + + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ + h5 { + font-size: 1.25rem; + } + + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ + h6 { + font-size: 1rem; + } +} +/* line 371, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +a { + line-height: inherit; + color: #1779ba; + text-decoration: none; + cursor: pointer; +} +/* line 378, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +a:hover, a:focus { + color: #1468a0; +} +/* line 386, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +a img { + border: 0; +} + +/* line 392, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +hr { + clear: both; + max-width: 75rem; + height: 0; + margin: 1.25rem auto; + border-top: 0; + border-right: 0; + border-bottom: 1px solid #cacaca; + border-left: 0; +} + +/* line 406, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +ul, +ol, +dl { + margin-bottom: 1rem; + list-style-position: outside; + line-height: 1.6; +} + +/* line 415, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +li { + font-size: inherit; +} + +/* line 420, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +ul { + margin-left: 1.25rem; + list-style-type: disc; +} + +/* line 426, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +ol { + margin-left: 1.25rem; +} + +/* line 432, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +ul ul, ol ul, ul ol, ol ol { + margin-left: 1.25rem; + margin-bottom: 0; +} + +/* line 439, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +dl { + margin-bottom: 1rem; +} +/* line 442, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +dl dt { + margin-bottom: 0.3rem; + font-weight: bold; +} + +/* line 449, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +blockquote { + margin: 0 0 1rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #cacaca; +} +/* line 454, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +blockquote, blockquote p { + line-height: 1.6; + color: #8a8a8a; +} + +/* line 461, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +cite { + display: block; + font-size: 0.8125rem; + color: #8a8a8a; +} +/* line 466, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +cite:before { + content: "— "; +} + +/* line 472, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +abbr, abbr[title] { + border-bottom: 1px dotted #0a0a0a; + cursor: help; + text-decoration: none; +} + +/* line 479, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +figure { + margin: 0; +} + +/* line 484, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +code { + padding: 0.125rem 0.3125rem 0.0625rem; + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; +} + +/* line 496, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_base.scss */ +kbd { + margin: 0; + padding: 0.125rem 0.25rem 0; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + color: #0a0a0a; +} + +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_helpers.scss */ +.subheader { + margin-top: 0.2rem; + margin-bottom: 0.5rem; + font-weight: normal; + line-height: 1.4; + color: #8a8a8a; +} + +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_helpers.scss */ +.lead { + font-size: 125%; + line-height: 1.6; +} + +/* line 64, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_helpers.scss */ +.stat { + font-size: 2.5rem; + line-height: 1; +} +/* line 68, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_helpers.scss */ +p + .stat { + margin-top: -1rem; +} + +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_helpers.scss */ +ul.no-bullet, ol.no-bullet { + margin-left: 0; + list-style: none; +} + +/* line 15, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ +.text-left { + text-align: left; +} + +/* line 15, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ +.text-right { + text-align: right; +} + +/* line 15, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ +.text-center { + text-align: center; +} + +/* line 15, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ +.text-justify { + text-align: justify; +} + +@media print, screen and (min-width: 40em) { + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .medium-text-left { + text-align: left; + } + + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .medium-text-right { + text-align: right; + } + + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .medium-text-center { + text-align: center; + } + + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .medium-text-justify { + text-align: justify; + } +} +@media print, screen and (min-width: 64em) { + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .large-text-left { + text-align: left; + } + + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .large-text-right { + text-align: right; + } + + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .large-text-center { + text-align: center; + } + + /* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_alignment.scss */ + .large-text-justify { + text-align: justify; + } +} +/* line 14, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ +.show-for-print { + display: none !important; +} + +@media print { + /* line 17, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + * { + background: transparent !important; + box-shadow: none !important; + color: black !important; + text-shadow: none !important; + } + + /* line 28, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + .show-for-print { + display: block !important; + } + + /* line 29, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + .hide-for-print { + display: none !important; + } + + /* line 31, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + table.show-for-print { + display: table !important; + } + + /* line 32, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + thead.show-for-print { + display: table-header-group !important; + } + + /* line 33, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + tbody.show-for-print { + display: table-row-group !important; + } + + /* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + tr.show-for-print { + display: table-row !important; + } + + /* line 35, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + td.show-for-print { + display: table-cell !important; + } + + /* line 36, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + th.show-for-print { + display: table-cell !important; + } + + /* line 39, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + a, + a:visited { + text-decoration: underline; + } + + /* line 42, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + a[href]:after { + content: " (" attr(href) ")"; + } + + /* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + .ir a:after, + a[href^='javascript:']:after, + a[href^='#']:after { + content: ''; + } + + /* line 51, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + abbr[title]:after { + content: " (" attr(title) ")"; + } + + /* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + pre, + blockquote { + border: 1px solid #8a8a8a; + page-break-inside: avoid; + } + + /* line 61, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + thead { + display: table-header-group; + } + + /* line 63, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + tr, + img { + page-break-inside: avoid; + } + + /* line 66, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; + } + /* line 70, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + /* line 78, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + h2, + h3 { + page-break-after: avoid; + } + + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/typography/_print.scss */ + .print-break-inside { + page-break-inside: auto; + } +} +/* line 262, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button { + display: inline-block; + vertical-align: middle; + margin: 0 0 1rem 0; + font-family: inherit; + padding: 0.85em 1em; + -webkit-appearance: none; + border: 1px solid transparent; + border-radius: 0; + transition: background-color 0.25s ease-out, color 0.25s ease-out; + font-size: 0.9rem; + line-height: 1; + text-align: center; + cursor: pointer; + background-color: #1779ba; + color: #fefefe; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .button { + outline: 0; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button:hover, .button:focus { + background-color: #14679e; + color: #fefefe; +} +/* line 267, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.tiny { + font-size: 0.6rem; +} +/* line 267, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.small { + font-size: 0.75rem; +} +/* line 267, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.large { + font-size: 1.25rem; +} +/* line 272, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.expanded { + display: block; + width: 100%; + margin-right: 0; + margin-left: 0; +} +/* line 277, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.primary { + background-color: #1779ba; + color: #fefefe; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.primary:hover, .button.primary:focus { + background-color: #126195; + color: #fefefe; +} +/* line 277, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.secondary { + background-color: #767676; + color: #fefefe; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.secondary:hover, .button.secondary:focus { + background-color: #5e5e5e; + color: #fefefe; +} +/* line 277, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.success { + background-color: #3adb76; + color: #0a0a0a; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.success:hover, .button.success:focus { + background-color: #22bb5b; + color: #0a0a0a; +} +/* line 277, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.warning { + background-color: #ffae00; + color: #0a0a0a; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.warning:hover, .button.warning:focus { + background-color: #cc8b00; + color: #0a0a0a; +} +/* line 277, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.alert { + background-color: #cc4b37; + color: #fefefe; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.alert:hover, .button.alert:focus { + background-color: #a53b2a; + color: #fefefe; +} +/* line 293, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled, .button[disabled] { + opacity: 0.25; + cursor: not-allowed; +} +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus { + background-color: #1779ba; + color: #fefefe; +} +/* line 298, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.primary, .button[disabled].primary { + opacity: 0.25; + cursor: not-allowed; +} +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus { + background-color: #1779ba; + color: #fefefe; +} +/* line 298, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.secondary, .button[disabled].secondary { + opacity: 0.25; + cursor: not-allowed; +} +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + background-color: #767676; + color: #fefefe; +} +/* line 298, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.success, .button[disabled].success { + opacity: 0.25; + cursor: not-allowed; +} +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus { + background-color: #3adb76; + color: #0a0a0a; +} +/* line 298, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.warning, .button[disabled].warning { + opacity: 0.25; + cursor: not-allowed; +} +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus { + background-color: #ffae00; + color: #0a0a0a; +} +/* line 298, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.alert, .button[disabled].alert { + opacity: 0.25; + cursor: not-allowed; +} +/* line 207, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus { + background-color: #cc4b37; + color: #fefefe; +} +/* line 306, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow, .button.hollow:hover, .button.hollow:focus { + background-color: transparent; +} +/* line 165, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus { + background-color: transparent; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow:hover, .button.hollow:focus { + border-color: #0c3d5d; + color: #0c3d5d; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 311, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.primary { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.primary:hover, .button.hollow.primary:focus { + border-color: #0c3d5d; + color: #0c3d5d; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 311, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.secondary { + border: 1px solid #767676; + color: #767676; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.secondary:hover, .button.hollow.secondary:focus { + border-color: #3b3b3b; + color: #3b3b3b; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] { + border: 1px solid #767676; + color: #767676; +} +/* line 311, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.success { + border: 1px solid #3adb76; + color: #3adb76; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.success:hover, .button.hollow.success:focus { + border-color: #157539; + color: #157539; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] { + border: 1px solid #3adb76; + color: #3adb76; +} +/* line 311, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.warning { + border: 1px solid #ffae00; + color: #ffae00; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.warning:hover, .button.hollow.warning:focus { + border-color: #805700; + color: #805700; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] { + border: 1px solid #ffae00; + color: #ffae00; +} +/* line 311, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.alert { + border: 1px solid #cc4b37; + color: #cc4b37; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.alert:hover, .button.hollow.alert:focus { + border-color: #67251a; + color: #67251a; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] { + border: 1px solid #cc4b37; + color: #cc4b37; +} +/* line 320, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear, .button.clear:hover, .button.clear:focus { + background-color: transparent; +} +/* line 165, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus { + background-color: transparent; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear:hover, .button.clear:focus { + border-color: #0c3d5d; + color: #0c3d5d; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 325, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] { + border-color: transparent; +} +/* line 331, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.primary { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.primary:hover, .button.clear.primary:focus { + border-color: #0c3d5d; + color: #0c3d5d; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] { + border: 1px solid #1779ba; + color: #1779ba; +} +/* line 336, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] { + border-color: transparent; +} +/* line 331, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.secondary { + border: 1px solid #767676; + color: #767676; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.secondary:hover, .button.clear.secondary:focus { + border-color: #3b3b3b; + color: #3b3b3b; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] { + border: 1px solid #767676; + color: #767676; +} +/* line 336, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] { + border-color: transparent; +} +/* line 331, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.success { + border: 1px solid #3adb76; + color: #3adb76; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.success:hover, .button.clear.success:focus { + border-color: #157539; + color: #157539; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] { + border: 1px solid #3adb76; + color: #3adb76; +} +/* line 336, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] { + border-color: transparent; +} +/* line 331, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.warning { + border: 1px solid #ffae00; + color: #ffae00; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.warning:hover, .button.clear.warning:focus { + border-color: #805700; + color: #805700; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] { + border: 1px solid #ffae00; + color: #ffae00; +} +/* line 336, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] { + border-color: transparent; +} +/* line 331, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.alert { + border: 1px solid #cc4b37; + color: #cc4b37; +} +/* line 182, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.alert:hover, .button.clear.alert:focus { + border-color: #67251a; + color: #67251a; +} +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] { + border: 1px solid #cc4b37; + color: #cc4b37; +} +/* line 336, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] { + border-color: transparent; +} +/* line 222, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown::after { + display: block; + width: 0; + height: 0; + border: inset 0.4em; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #fefefe transparent transparent; + position: relative; + top: 0.4em; + display: inline-block; + float: right; + margin-left: 1em; +} +/* line 358, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown.hollow::after { + border-top-color: #1779ba; +} +/* line 364, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown.hollow.primary::after { + border-top-color: #1779ba; +} +/* line 364, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown.hollow.secondary::after { + border-top-color: #767676; +} +/* line 364, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown.hollow.success::after { + border-top-color: #3adb76; +} +/* line 364, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown.hollow.warning::after { + border-top-color: #ffae00; +} +/* line 364, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.dropdown.hollow.alert::after { + border-top-color: #cc4b37; +} +/* line 373, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button.arrow-only::after { + top: -0.1em; + float: none; + margin-left: 0; +} + +/* line 125, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], +textarea { + display: block; + box-sizing: border-box; + width: 100%; + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + appearance: none; +} +/* line 111, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, +textarea:focus { + outline: none; + border: 1px solid #8a8a8a; + background-color: #fefefe; + box-shadow: 0 0 5px #cacaca; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; +} + +/* line 132, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +textarea { + max-width: 100%; +} +/* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +textarea[rows] { + height: auto; +} + +/* line 143, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +input::placeholder, +textarea::placeholder { + color: #cacaca; +} +/* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +input:disabled, input[readonly], +textarea:disabled, +textarea[readonly] { + background-color: #e6e6e6; + cursor: not-allowed; +} + +/* line 156, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +[type='submit'], +[type='button'] { + appearance: none; + border-radius: 0; +} + +/* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_text.scss */ +input[type='search'] { + box-sizing: border-box; +} + +/* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_checkbox.scss */ +[type='file'], +[type='checkbox'], +[type='radio'] { + margin: 0 0 1rem; +} + +/* line 17, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_checkbox.scss */ +[type='checkbox'] + label, +[type='radio'] + label { + display: inline-block; + vertical-align: baseline; + margin-left: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; +} +/* line 26, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_checkbox.scss */ +[type='checkbox'] + label[for], +[type='radio'] + label[for] { + cursor: pointer; +} + +/* line 32, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_checkbox.scss */ +label > [type='checkbox'], +label > [type='radio'] { + margin-right: 0.5rem; +} + +/* line 38, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_checkbox.scss */ +[type='file'] { + width: 100%; +} + +/* line 43, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_label.scss */ +label { + display: block; + margin: 0; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.8; + color: #0a0a0a; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_label.scss */ +label.middle { + margin: 0 0 1rem; + padding: 0.5625rem 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_help-text.scss */ +.help-text { + margin-top: -0.5rem; + font-size: 0.8125rem; + font-style: italic; + color: #0a0a0a; +} + +/* line 27, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group { + display: flex; + width: 100%; + margin-bottom: 1rem; + align-items: stretch; +} +/* line 36, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group > :first-child { + border-radius: 0 0 0 0; +} +/* line 41, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group > :last-child > * { + border-radius: 0 0 0 0; +} + +/* line 47, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-label, .input-group-field, .input-group-button, .input-group-button a, +.input-group-button input, +.input-group-button button, +.input-group-button label { + margin: 0; + white-space: nowrap; +} + +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-label { + padding: 0 1rem; + border: 1px solid #cacaca; + background: #e6e6e6; + color: #0a0a0a; + text-align: center; + white-space: nowrap; + display: flex; + flex: 0 0 auto; + align-items: center; +} +/* line 78, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-label:first-child { + border-right: 0; +} +/* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-label:last-child { + border-left: 0; +} + +/* line 88, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-field { + border-radius: 0; + flex: 1 1 0px; + height: auto; + min-width: 0; +} + +/* line 102, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-button { + padding-top: 0; + padding-bottom: 0; + text-align: center; + flex: 0 0 auto; +} +/* line 116, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_input-group.scss */ +.input-group-button a, +.input-group-button input, +.input-group-button button, +.input-group-button label { + height: 2.5rem; + padding-top: 0; + padding-bottom: 0; + font-size: 1rem; +} + +/* line 39, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_fieldset.scss */ +fieldset { + margin: 0; + padding: 0; + border: 0; +} + +/* line 45, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_fieldset.scss */ +legend { + max-width: 100%; + margin-bottom: 0.5rem; +} + +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_fieldset.scss */ +.fieldset { + margin: 1.125rem 0; + padding: 1.25rem; + border: 1px solid #cacaca; +} +/* line 30, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_fieldset.scss */ +.fieldset legend { + margin: 0; + margin-left: -0.1875rem; + padding: 0 0.1875rem; +} + +/* line 83, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_select.scss */ +select { + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + appearance: none; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + background-image: url("data:image/svg+xml;utf8,"); + background-origin: content-box; + background-position: right -1rem center; + background-repeat: no-repeat; + background-size: 9px 6px; + padding-right: 1.5rem; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; +} +@media screen and (min-width: 0\0) { + /* line 83, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_select.scss */ + select { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); + } +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_select.scss */ +select:focus { + outline: none; + border: 1px solid #8a8a8a; + background-color: #fefefe; + box-shadow: 0 0 5px #cacaca; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; +} +/* line 66, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_select.scss */ +select:disabled { + background-color: #e6e6e6; + cursor: not-allowed; +} +/* line 72, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_select.scss */ +select::-ms-expand { + display: none; +} +/* line 76, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_select.scss */ +select[multiple] { + height: auto; + background-image: none; +} + +/* line 45, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_error.scss */ +.is-invalid-input:not(:focus) { + border-color: #cc4b37; + background-color: #f9ecea; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_error.scss */ +.is-invalid-input:not(:focus)::placeholder { + color: #cc4b37; +} + +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_error.scss */ +.is-invalid-label { + color: #cc4b37; +} + +/* line 81, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_error.scss */ +.form-error { + display: none; + margin-top: -0.5rem; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: bold; + color: #cc4b37; +} +/* line 84, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/forms/_error.scss */ +.form-error.is-visible { + display: block; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ +.hide { + display: none !important; +} + +/* line 66, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ +.invisible { + visibility: hidden; +} + +@media screen and (max-width: 39.9375em) { + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-small-only { + display: none !important; + } +} + +@media screen and (max-width: 0em), screen and (min-width: 40em) { + /* line 86, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-small-only { + display: none !important; + } +} + +@media print, screen and (min-width: 40em) { + /* line 73, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-medium { + display: none !important; + } +} + +@media screen and (max-width: 39.9375em) { + /* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-medium { + display: none !important; + } +} + +@media screen and (min-width: 40em) and (max-width: 63.9375em) { + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-medium-only { + display: none !important; + } +} + +@media screen and (max-width: 39.9375em), screen and (min-width: 64em) { + /* line 86, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-medium-only { + display: none !important; + } +} + +@media print, screen and (min-width: 64em) { + /* line 73, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-large { + display: none !important; + } +} + +@media screen and (max-width: 63.9375em) { + /* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-large { + display: none !important; + } +} + +@media screen and (min-width: 64em) and (max-width: 74.9375em) { + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-large-only { + display: none !important; + } +} + +@media screen and (max-width: 63.9375em), screen and (min-width: 75em) { + /* line 86, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-large-only { + display: none !important; + } +} + +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ +.show-for-sr, +.show-on-focus { + position: absolute !important; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ +.show-on-focus:active, .show-on-focus:focus { + position: static !important; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + clip-path: none; +} + +/* line 107, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ +.show-for-landscape, +.hide-for-portrait { + display: block !important; +} +@media screen and (orientation: landscape) { + /* line 107, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-landscape, + .hide-for-portrait { + display: block !important; + } +} +@media screen and (orientation: portrait) { + /* line 107, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .show-for-landscape, + .hide-for-portrait { + display: none !important; + } +} + +/* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ +.hide-for-landscape, +.show-for-portrait { + display: none !important; +} +@media screen and (orientation: landscape) { + /* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-landscape, + .show-for-portrait { + display: none !important; + } +} +@media screen and (orientation: portrait) { + /* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_visibility.scss */ + .hide-for-landscape, + .show-for-portrait { + display: block !important; + } +} + +/* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_float.scss */ +.float-left { + float: left !important; +} + +/* line 14, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_float.scss */ +.float-right { + float: right !important; +} + +/* line 18, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_float.scss */ +.float-center { + display: block; + margin-right: auto; + margin-left: auto; +} + +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.clearfix::before, .clearfix::after { + display: table; + content: ' '; + flex-basis: 0; + order: 1; +} +/* line 184, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.clearfix::after { + clear: both; +} + +/* line 140, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion { + margin-left: 0; + background: #fefefe; + list-style-type: none; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion[disabled] .accordion-title { + cursor: not-allowed; +} + +/* line 65, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion-item:first-child > :first-child { + border-radius: 0 0 0 0; +} +/* line 69, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion-item:last-child > :last-child { + border-radius: 0 0 0 0; +} + +/* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion-title { + position: relative; + display: block; + padding: 1.25rem 1rem; + border: 1px solid #e6e6e6; + border-bottom: 0; + font-size: 0.75rem; + line-height: 1; + color: #1779ba; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +:last-child:not(.is-active) > .accordion-title { + border-bottom: 1px solid #e6e6e6; + border-radius: 0 0 0 0; +} +/* line 98, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion-title:hover, .accordion-title:focus { + background-color: #e6e6e6; +} +/* line 104, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion-title::before { + position: absolute; + top: 50%; + right: 1rem; + margin-top: -0.5rem; + content: '+'; +} +/* line 112, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.is-active > .accordion-title::before { + content: '\2013'; +} + +/* line 152, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +.accordion-content { + display: none; + padding: 1rem; + border: 1px solid #e6e6e6; + border-bottom: 0; + background-color: #fefefe; + color: #0a0a0a; +} +/* line 134, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion.scss */ +:last-child > .accordion-content:last-child { + border-bottom: 1px solid #e6e6e6; +} + +/* line 81, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu li { + width: 100%; +} +/* line 90, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu a { + padding: 0.7rem 1rem; +} +/* line 97, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu .is-accordion-submenu a { + padding: 0.7rem 1rem; +} +/* line 101, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu .nested.is-accordion-submenu { + margin-right: 0; + margin-left: 1rem; +} +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu.align-right .nested.is-accordion-submenu { + margin-right: 1rem; + margin-left: 0; +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a { + position: relative; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #1779ba transparent transparent; + position: absolute; + top: 50%; + margin-top: -3px; + right: 1rem; +} +/* line 65, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu.align-left .is-accordion-submenu-parent > a::after { + left: auto; + right: 1rem; +} +/* line 69, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu.align-right .is-accordion-submenu-parent > a::after { + right: auto; + left: 1rem; +} +/* line 114, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after { + transform: rotate(180deg); + transform-origin: 50% 50%; +} + +/* line 128, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.is-accordion-submenu-parent { + position: relative; +} + +/* line 132, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.has-submenu-toggle > a { + margin-right: 40px; +} + +/* line 137, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.submenu-toggle { + position: absolute; + top: 0; + right: 0; + cursor: pointer; + width: 40px; + height: 40px; +} +/* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.submenu-toggle::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #1779ba transparent transparent; + top: 0; + bottom: 0; + margin: auto; +} + +/* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.submenu-toggle[aria-expanded='true']::after { + transform: scaleY(-1); + transform-origin: 50% 50%; +} + +/* line 168, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_accordion-menu.scss */ +.submenu-toggle-text { + position: absolute !important; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; +} + +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_badge.scss */ +.badge { + display: inline-block; + min-width: 2.1em; + padding: 0.3em; + border-radius: 50%; + font-size: 0.6rem; + text-align: center; + background: #1779ba; + color: #fefefe; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_badge.scss */ +.badge.primary { + background: #1779ba; + color: #fefefe; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_badge.scss */ +.badge.secondary { + background: #767676; + color: #fefefe; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_badge.scss */ +.badge.success { + background: #3adb76; + color: #0a0a0a; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_badge.scss */ +.badge.warning { + background: #ffae00; + color: #0a0a0a; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_badge.scss */ +.badge.alert { + background: #cc4b37; + color: #fefefe; +} + +/* line 109, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_breadcrumbs.scss */ +.breadcrumbs { + margin: 0 0 1rem 0; + list-style: none; +} +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.breadcrumbs::before, .breadcrumbs::after { + display: table; + content: ' '; + flex-basis: 0; + order: 1; +} +/* line 184, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.breadcrumbs::after { + clear: both; +} +/* line 70, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_breadcrumbs.scss */ +.breadcrumbs li { + float: left; + font-size: 0.6875rem; + color: #0a0a0a; + cursor: default; + text-transform: uppercase; +} +/* line 85, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_breadcrumbs.scss */ +.breadcrumbs li:not(:last-child)::after { + position: relative; + margin: 0 0.75rem; + opacity: 1; + content: "/"; + color: #cacaca; +} +/* line 99, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_breadcrumbs.scss */ +.breadcrumbs a { + color: #1779ba; +} +/* line 102, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_breadcrumbs.scss */ +.breadcrumbs a:hover { + text-decoration: underline; +} +/* line 112, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_breadcrumbs.scss */ +.breadcrumbs .disabled { + color: #cacaca; + cursor: not-allowed; +} + +/* line 196, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group { + margin-bottom: 1rem; + display: flex; + flex-wrap: nowrap; + align-items: stretch; +} +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.button-group::before, .button-group::after { + display: table; + content: ' '; + flex-basis: 0; + order: 1; +} +/* line 184, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.button-group::after { + clear: both; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group .button { + margin: 0; + margin-right: 1px; + margin-bottom: 1px; + font-size: 0.9rem; + flex: 0 0 auto; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group .button:last-child { + margin-right: 0; +} +/* line 201, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.tiny .button { + font-size: 0.6rem; +} +/* line 201, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.small .button { + font-size: 0.75rem; +} +/* line 201, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.large .button { + font-size: 1.25rem; +} +/* line 96, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.expanded .button { + flex: 1 1 0px; +} +/* line 212, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.primary .button { + background-color: #1779ba; + color: #fefefe; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button-group.primary .button:hover, .button-group.primary .button:focus { + background-color: #126195; + color: #fefefe; +} +/* line 212, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.secondary .button { + background-color: #767676; + color: #fefefe; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button-group.secondary .button:hover, .button-group.secondary .button:focus { + background-color: #5e5e5e; + color: #fefefe; +} +/* line 212, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.success .button { + background-color: #3adb76; + color: #0a0a0a; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button-group.success .button:hover, .button-group.success .button:focus { + background-color: #22bb5b; + color: #0a0a0a; +} +/* line 212, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.warning .button { + background-color: #ffae00; + color: #0a0a0a; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button-group.warning .button:hover, .button-group.warning .button:focus { + background-color: #cc8b00; + color: #0a0a0a; +} +/* line 212, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.alert .button { + background-color: #cc4b37; + color: #fefefe; +} +/* line 150, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button.scss */ +.button-group.alert .button:hover, .button-group.alert .button:focus { + background-color: #a53b2a; + color: #fefefe; +} +/* line 224, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium { + flex-wrap: wrap; +} +/* line 133, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button { + flex: 0 0 100%; +} +/* line 141, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ +.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + /* line 169, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ + .button-group.stacked-for-small .button { + flex: 1 1 0px; + margin-bottom: 0; + } +} +@media print, screen and (min-width: 64em) { + /* line 169, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ + .button-group.stacked-for-medium .button { + flex: 1 1 0px; + margin-bottom: 0; + } +} +@media screen and (max-width: 39.9375em) { + /* line 242, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ + .button-group.stacked-for-small.expanded { + display: block; + } + /* line 246, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_button-group.scss */ + .button-group.stacked-for-small.expanded .button { + display: block; + margin-right: 0; + } +} + +/* line 89, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout { + position: relative; + margin: 0 0 1rem 0; + padding: 1rem; + border: 1px solid rgba(10, 10, 10, 0.25); + border-radius: 0; + background-color: white; + color: #0a0a0a; +} +/* line 55, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout > :first-child { + margin-top: 0; +} +/* line 59, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout > :last-child { + margin-bottom: 0; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.primary { + background-color: #d7ecfa; + color: #0a0a0a; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.secondary { + background-color: #eaeaea; + color: #0a0a0a; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.success { + background-color: #e1faea; + color: #0a0a0a; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.warning { + background-color: #fff3d9; + color: #0a0a0a; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.alert { + background-color: #f7e4e1; + color: #0a0a0a; +} +/* line 98, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.small { + padding-top: 0.5rem; + padding-right: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; +} +/* line 102, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_callout.scss */ +.callout.large { + padding-top: 3rem; + padding-right: 3rem; + padding-bottom: 3rem; + padding-left: 3rem; +} + +/* line 112, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card { + display: flex; + flex-direction: column; + flex-grow: 1; + margin-bottom: 1rem; + border: 1px solid #e6e6e6; + border-radius: 0; + background: #fefefe; + box-shadow: none; + overflow: hidden; + color: #0a0a0a; +} +/* line 73, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card > :last-child { + margin-bottom: 0; +} + +/* line 116, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card-divider { + flex: 0 1 auto; + display: flex; + padding: 1rem; + background: #e6e6e6; +} +/* line 91, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card-divider > :last-child { + margin-bottom: 0; +} + +/* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card-section { + flex: 1 0 auto; + padding: 1rem; +} +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card-section > :last-child { + margin-bottom: 0; +} + +/* line 126, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_card.scss */ +.card-image { + min-height: 1px; +} + +/* line 96, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_close-button.scss */ +.close-button { + position: absolute; + color: #8a8a8a; + cursor: pointer; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .close-button { + outline: 0; +} +/* line 89, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_close-button.scss */ +.close-button:hover, .close-button:focus { + color: #0a0a0a; +} +/* line 99, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_close-button.scss */ +.close-button.small { + right: 0.66rem; + top: 0.33em; + font-size: 1.5em; + line-height: 1; +} +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_close-button.scss */ +.close-button, .close-button.medium { + right: 1rem; + top: 0.5rem; + font-size: 2em; + line-height: 1; +} + +/* line 73, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.is-drilldown { + position: relative; + overflow: hidden; +} +/* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.is-drilldown li { + display: block; +} +/* line 81, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.is-drilldown.animate-height { + transition: height 0.5s; +} + +/* line 88, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown a { + padding: 0.7rem 1rem; + background: #fefefe; +} +/* line 94, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .is-drilldown-submenu { + position: absolute; + top: 0; + left: 100%; + z-index: -1; + width: 100%; + background: #fefefe; + transition: transform 0.15s linear; +} +/* line 104, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .is-drilldown-submenu.is-active { + z-index: 1; + display: block; + transform: translateX(-100%); +} +/* line 110, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .is-drilldown-submenu.is-closing { + transform: translateX(100%); +} +/* line 115, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .is-drilldown-submenu a { + padding: 0.7rem 1rem; +} +/* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .nested.is-drilldown-submenu { + margin-right: 0; + margin-left: 0; +} +/* line 124, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .drilldown-submenu-cover-previous { + min-height: 100%; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .is-drilldown-submenu-parent > a { + position: relative; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .is-drilldown-submenu-parent > a::after { + position: absolute; + top: 50%; + margin-top: -6px; + right: 1rem; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #1779ba; +} +/* line 57, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown.align-left .is-drilldown-submenu-parent > a::after { + left: auto; + right: 1rem; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #1779ba; +} +/* line 63, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown.align-right .is-drilldown-submenu-parent > a::after { + right: auto; + left: 1rem; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #1779ba transparent transparent; +} +/* line 131, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_drilldown.scss */ +.drilldown .js-drilldown-back > a::before { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #1779ba transparent transparent; + border-left-width: 0; + display: inline-block; + vertical-align: middle; + margin-right: 0.75rem; + border-left-width: 0; +} + +/* line 70, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown.scss */ +.dropdown-pane { + position: absolute; + z-index: 10; + width: 300px; + padding: 1rem; + visibility: hidden; + display: none; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + font-size: 1rem; +} +/* line 59, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown.scss */ +.dropdown-pane.is-opening { + display: block; +} +/* line 63, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown.scss */ +.dropdown-pane.is-open { + visibility: visible; + display: block; +} + +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown.scss */ +.dropdown-pane.tiny { + width: 100px; +} + +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown.scss */ +.dropdown-pane.small { + width: 200px; +} + +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown.scss */ +.dropdown-pane.large { + width: 400px; +} + +/* line 85, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; +} +/* line 101, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; +} +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #1779ba transparent transparent; + right: 5px; + margin-top: -3px; +} +/* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu a { + padding: 0.7rem 1rem; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .dropdown.menu a { + outline: 0; +} +/* line 154, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu .is-active > a { + background: transparent; + color: #1779ba; +} +/* line 159, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.no-js .dropdown.menu ul { + display: none; +} +/* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu .nested.is-dropdown-submenu { + margin-right: 0; + margin-left: 0; +} +/* line 115, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.vertical > li .is-dropdown-submenu { + top: 0; +} +/* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; + top: 0; +} +/* line 128, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; +} +/* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.vertical > li > a::after { + right: 14px; +} +/* line 71, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.vertical > li.opens-left > a::after { + right: auto; + left: 5px; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #1779ba transparent transparent; +} +/* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #1779ba; +} +@media print, screen and (min-width: 40em) { + /* line 85, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; + } + /* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; + } + /* line 101, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; + } + /* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #1779ba transparent transparent; + right: 5px; + margin-top: -3px; + } + /* line 115, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-vertical > li .is-dropdown-submenu { + top: 0; + } + /* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; + top: 0; + } + /* line 128, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; + } + /* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-vertical > li > a::after { + right: 14px; + } + /* line 71, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-vertical > li.opens-left > a::after { + right: auto; + left: 5px; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #1779ba transparent transparent; + } + /* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.medium-vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #1779ba; + } +} +@media print, screen and (min-width: 64em) { + /* line 85, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; + } + /* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; + } + /* line 101, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; + } + /* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #1779ba transparent transparent; + right: 5px; + margin-top: -3px; + } + /* line 115, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-vertical > li .is-dropdown-submenu { + top: 0; + } + /* line 120, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; + top: 0; + } + /* line 128, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; + } + /* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-vertical > li > a::after { + right: 14px; + } + /* line 71, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-vertical > li.opens-left > a::after { + right: auto; + left: 5px; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #1779ba transparent transparent; + } + /* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ + .dropdown.menu.large-vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #1779ba; + } +} +/* line 186, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown.menu.align-right .is-dropdown-submenu.first-sub { + top: 100%; + right: 0; + left: auto; +} + +/* line 194, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-menu.vertical { + width: 100px; +} +/* line 197, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-menu.vertical.align-right { + float: right; +} + +/* line 202, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu-parent { + position: relative; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu-parent a::after { + position: absolute; + top: 50%; + right: 5px; + margin-top: -6px; +} +/* line 212, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { + top: 100%; + left: auto; +} +/* line 223, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; +} +/* line 228, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; +} + +/* line 234, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu { + position: absolute; + top: 0; + left: 100%; + z-index: 1; + display: none; + min-width: 200px; + border: 1px solid #cacaca; + background: #fefefe; +} +/* line 246, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.dropdown .is-dropdown-submenu a { + padding: 0.7rem 1rem; +} +/* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu .is-dropdown-submenu-parent > a::after { + right: 14px; +} +/* line 71, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { + right: auto; + left: 5px; + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #1779ba transparent transparent; +} +/* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #1779ba; +} +/* line 257, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu .is-dropdown-submenu { + margin-top: -1px; +} +/* line 262, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu > li { + width: 100%; +} +/* line 268, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_dropdown-menu.scss */ +.is-dropdown-submenu.js-dropdown-active { + display: block; +} + +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_responsive-embed.scss */ +.responsive-embed, +.flex-video { + position: relative; + height: 0; + margin-bottom: 1rem; + padding-bottom: 75%; + overflow: hidden; +} +/* line 35, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_responsive-embed.scss */ +.responsive-embed iframe, +.responsive-embed object, +.responsive-embed embed, +.responsive-embed video, +.flex-video iframe, +.flex-video object, +.flex-video embed, +.flex-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/* line 55, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_responsive-embed.scss */ +.responsive-embed.widescreen, +.flex-video.widescreen { + padding-bottom: 56.25%; +} + +/* line 51, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_label.scss */ +.label { + display: inline-block; + padding: 0.33333rem 0.5rem; + border-radius: 0; + font-size: 0.8rem; + line-height: 1; + white-space: nowrap; + cursor: default; + background: #1779ba; + color: #fefefe; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_label.scss */ +.label.primary { + background: #1779ba; + color: #fefefe; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_label.scss */ +.label.secondary { + background: #767676; + color: #fefefe; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_label.scss */ +.label.success { + background: #3adb76; + color: #0a0a0a; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_label.scss */ +.label.warning { + background: #ffae00; + color: #0a0a0a; +} +/* line 58, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_label.scss */ +.label.alert { + background: #cc4b37; + color: #fefefe; +} + +/* line 74, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object { + display: flex; + margin-bottom: 1rem; + flex-wrap: nowrap; +} +/* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object img { + max-width: none; +} +@media screen and (max-width: 39.9375em) { + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ + .media-object.stack-for-small { + flex-wrap: wrap; + } +} +@media screen and (max-width: 39.9375em) { + /* line 89, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ + .media-object.stack-for-small .media-object-section { + padding: 0; + padding-bottom: 1rem; + flex-basis: 100%; + max-width: 100%; + } + /* line 68, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ + .media-object.stack-for-small .media-object-section img { + width: 100%; + } +} + +/* line 96, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object-section { + flex: 0 1 auto; +} +/* line 42, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object-section:first-child { + padding-right: 1rem; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object-section:last-child:not(:nth-child(2)) { + padding-left: 1rem; +} +/* line 50, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object-section > :last-child { + margin-bottom: 0; +} +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_media-object.scss */ +.media-object-section.main-section { + flex: 1 1 0px; +} + +/* line 357, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu { + padding: 0; + margin: 0; + list-style: none; + position: relative; + display: flex; + flex-wrap: wrap; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .menu li { + outline: 0; +} +/* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu a, +.menu .button { + line-height: 1; + text-decoration: none; + white-space: nowrap; + display: block; + padding: 0.7rem 1rem; +} +/* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu input, +.menu select, +.menu a, +.menu button { + margin-bottom: 0; +} +/* line 84, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu input { + display: inline-block; +} +/* line 361, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu, .menu.horizontal { + flex-wrap: wrap; + flex-direction: row; +} +/* line 366, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.vertical { + flex-wrap: nowrap; + flex-direction: column; +} +/* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.expanded li { + flex: 1 1 0px; +} +/* line 376, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.simple { + align-items: center; +} +/* line 210, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.simple li + li { + margin-left: 1rem; +} +/* line 214, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.simple a { + padding: 0; +} +@media print, screen and (min-width: 40em) { + /* line 382, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.medium-horizontal { + flex-wrap: wrap; + flex-direction: row; + } + /* line 386, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.medium-vertical { + flex-wrap: nowrap; + flex-direction: column; + } + /* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.medium-expanded li { + flex: 1 1 0px; + } + /* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.medium-simple li { + flex: 1 1 0px; + } +} +@media print, screen and (min-width: 64em) { + /* line 382, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.large-horizontal { + flex-wrap: wrap; + flex-direction: row; + } + /* line 386, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.large-vertical { + flex-wrap: nowrap; + flex-direction: column; + } + /* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.large-expanded li { + flex: 1 1 0px; + } + /* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ + .menu.large-simple li { + flex: 1 1 0px; + } +} +/* line 400, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.nested { + margin-right: 0; + margin-left: 1rem; +} +/* line 240, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icons a { + display: flex; +} +/* line 260, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-left li a { + flex-flow: row nowrap; +} +/* line 265, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-left li a img, +.menu.icon-left li a i, +.menu.icon-left li a svg { + margin-right: 0.25rem; +} +/* line 277, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-right li a { + flex-flow: row nowrap; +} +/* line 282, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-right li a img, +.menu.icon-right li a i, +.menu.icon-right li a svg { + margin-left: 0.25rem; +} +/* line 294, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-top li a { + flex-flow: column nowrap; +} +/* line 302, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-top li a img, +.menu.icon-top li a i, +.menu.icon-top li a svg { + align-self: stretch; + margin-bottom: 0.25rem; + text-align: center; +} +/* line 318, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-bottom li a { + flex-flow: column nowrap; +} +/* line 326, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.icon-bottom li a img, +.menu.icon-bottom li a i, +.menu.icon-bottom li a svg { + align-self: stretch; + margin-bottom: 0.25rem; + text-align: center; +} +/* line 430, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu .is-active > a { + background: #1779ba; + color: #fefefe; +} +/* line 436, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu .active > a { + background: #1779ba; + color: #fefefe; +} +/* line 442, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-left { + justify-content: flex-start; +} +/* line 119, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-right li { + display: flex; + justify-content: flex-end; +} +/* line 123, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-right li .submenu li { + justify-content: flex-start; +} +/* line 128, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-right.vertical li { + display: block; + text-align: right; +} +/* line 132, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-right.vertical li .submenu li { + text-align: right; +} +/* line 450, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-right .nested { + margin-right: 1rem; + margin-left: 0; +} +/* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-center li { + display: flex; + justify-content: center; +} +/* line 157, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu.align-center li .submenu li { + justify-content: flex-start; +} +/* line 460, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu .menu-text { + padding: 0.7rem 1rem; + font-weight: bold; + line-height: 1; + color: inherit; +} + +/* line 467, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu-centered > .menu { + justify-content: center; +} +/* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu-centered > .menu li { + display: flex; + justify-content: center; +} +/* line 157, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.menu-centered > .menu li .submenu li { + justify-content: flex-start; +} + +/* line 478, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu.scss */ +.no-js [data-responsive-menu] ul { + display: none; +} + +/* line 2, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu-icon.scss */ +.menu-icon { + position: relative; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 16px; + cursor: pointer; +} +/* line 117, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.menu-icon::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: #fefefe; + box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; + content: ''; +} +/* line 140, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.menu-icon:hover::after { + background: #cacaca; + box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; +} + +/* line 6, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_menu-icon.scss */ +.menu-icon.dark { + position: relative; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 16px; + cursor: pointer; +} +/* line 117, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.menu-icon.dark::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: #0a0a0a; + box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + content: ''; +} +/* line 140, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.menu-icon.dark:hover::after { + background: #8a8a8a; + box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; +} + +/* line 78, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.is-off-canvas-open { + overflow: hidden; +} + +/* line 83, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.js-off-canvas-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 11; + width: 100%; + height: 100%; + transition: opacity 0.5s ease, visibility 0.5s ease; + background: rgba(254, 254, 254, 0.25); + opacity: 0; + visibility: hidden; + overflow: hidden; +} +/* line 101, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.js-off-canvas-overlay.is-visible { + opacity: 1; + visibility: visible; +} +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.js-off-canvas-overlay.is-closable { + cursor: pointer; +} +/* line 110, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.js-off-canvas-overlay.is-overlay-absolute { + position: absolute; +} +/* line 114, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.js-off-canvas-overlay.is-overlay-fixed { + position: fixed; +} + +/* line 379, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-wrapper { + position: relative; + overflow: hidden; +} + +/* line 384, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas { + position: fixed; + z-index: 12; + transition: transform 0.5s ease; + backface-visibility: hidden; + background: #e6e6e6; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .off-canvas { + outline: 0; +} +/* line 145, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas.is-transition-push { + z-index: 12; +} +/* line 155, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas.is-closed { + visibility: hidden; +} +/* line 160, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas.is-transition-overlap { + z-index: 13; +} +/* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas.is-transition-overlap.is-open { + box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); +} +/* line 169, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas.is-open { + transform: translate(0, 0); +} + +/* line 395, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-absolute { + position: absolute; + z-index: 12; + transition: transform 0.5s ease; + backface-visibility: hidden; + background: #e6e6e6; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .off-canvas-absolute { + outline: 0; +} +/* line 145, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-absolute.is-transition-push { + z-index: 12; +} +/* line 155, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-absolute.is-closed { + visibility: hidden; +} +/* line 160, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-absolute.is-transition-overlap { + z-index: 13; +} +/* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-absolute.is-transition-overlap.is-open { + box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); +} +/* line 169, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-absolute.is-open { + transform: translate(0, 0); +} + +/* line 400, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-left { + top: 0; + left: 0; + width: 250px; + height: 100%; + transform: translateX(-250px); + overflow-y: auto; +} +/* line 190, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-left { + transform: translateX(-250px); +} +/* line 192, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open { + transform: translate(0, 0); +} +/* line 199, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content.is-open-left.has-transition-push { + transform: translateX(250px); +} +/* line 282, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-left.is-transition-push { + box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); +} + +/* line 401, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-right { + top: 0; + right: 0; + width: 250px; + height: 100%; + transform: translateX(250px); + overflow-y: auto; +} +/* line 214, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-right { + transform: translateX(250px); +} +/* line 216, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open { + transform: translate(0, 0); +} +/* line 223, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content.is-open-right.has-transition-push { + transform: translateX(-250px); +} +/* line 282, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-right.is-transition-push { + box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); +} + +/* line 402, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-top { + top: 0; + left: 0; + width: 100%; + height: 250px; + transform: translateY(-250px); + overflow-x: auto; +} +/* line 239, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-top { + transform: translateY(-250px); +} +/* line 241, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open { + transform: translate(0, 0); +} +/* line 248, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content.is-open-top.has-transition-push { + transform: translateY(250px); +} +/* line 282, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-top.is-transition-push { + box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); +} + +/* line 403, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-bottom { + bottom: 0; + left: 0; + width: 100%; + height: 250px; + transform: translateY(250px); + overflow-x: auto; +} +/* line 264, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-bottom { + transform: translateY(250px); +} +/* line 266, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open { + transform: translate(0, 0); +} +/* line 273, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content.is-open-bottom.has-transition-push { + transform: translateY(-250px); +} +/* line 282, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.position-bottom.is-transition-push { + box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); +} + +/* line 405, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content { + transform: none; + transition: transform 0.5s ease; + backface-visibility: hidden; +} +/* line 307, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content.has-transition-push { + transform: translate(0, 0); +} +/* line 312, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ +.off-canvas-content .off-canvas.is-open { + transform: translate(0, 0); +} + +@media print, screen and (min-width: 40em) { + /* line 413, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-left.reveal-for-medium { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-left.reveal-for-medium .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-left.reveal-for-medium { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-left { + margin-left: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-left.reveal-for-medium ~ .off-canvas-content { + margin-left: 250px; + } + + /* line 417, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-right.reveal-for-medium { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-right.reveal-for-medium .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-right.reveal-for-medium { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-right { + margin-right: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-right.reveal-for-medium ~ .off-canvas-content { + margin-right: 250px; + } + + /* line 421, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-top.reveal-for-medium { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-top.reveal-for-medium .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-top.reveal-for-medium { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-top { + margin-top: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-top.reveal-for-medium ~ .off-canvas-content { + margin-top: 250px; + } + + /* line 425, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-bottom.reveal-for-medium { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-bottom.reveal-for-medium .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-bottom.reveal-for-medium { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-bottom { + margin-bottom: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-bottom.reveal-for-medium ~ .off-canvas-content { + margin-bottom: 250px; + } +} +@media print, screen and (min-width: 64em) { + /* line 413, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-left.reveal-for-large { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-left.reveal-for-large .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-left.reveal-for-large { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-left { + margin-left: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-left.reveal-for-large ~ .off-canvas-content { + margin-left: 250px; + } + + /* line 417, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-right.reveal-for-large { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-right.reveal-for-large .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-right.reveal-for-large { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-right { + margin-right: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-right.reveal-for-large ~ .off-canvas-content { + margin-right: 250px; + } + + /* line 421, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-top.reveal-for-large { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-top.reveal-for-large .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-top.reveal-for-large { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-top { + margin-top: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-top.reveal-for-large ~ .off-canvas-content { + margin-top: 250px; + } + + /* line 425, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-bottom.reveal-for-large { + transform: none; + z-index: 12; + transition: none; + visibility: visible; + } + /* line 332, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-bottom.reveal-for-large .close-button { + display: none; + } + /* line 337, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content .position-bottom.reveal-for-large { + transform: none; + } + /* line 341, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas-content.has-reveal-bottom { + margin-bottom: 250px; + } + /* line 346, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .position-bottom.reveal-for-large ~ .off-canvas-content { + margin-bottom: 250px; + } +} +@media print, screen and (min-width: 40em) { + /* line 436, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas.in-canvas-for-medium { + visibility: visible; + height: auto; + position: static; + background: inherit; + width: inherit; + overflow: inherit; + transition: inherit; + } + /* line 362, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom { + box-shadow: none; + transform: none; + } + /* line 370, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas.in-canvas-for-medium .close-button { + display: none; + } +} +@media print, screen and (min-width: 64em) { + /* line 436, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas.in-canvas-for-large { + visibility: visible; + height: auto; + position: static; + background: inherit; + width: inherit; + overflow: inherit; + transition: inherit; + } + /* line 362, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom { + box-shadow: none; + transform: none; + } + /* line 370, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_off-canvas.scss */ + .off-canvas.in-canvas-for-large .close-button { + display: none; + } +} +/* line 155, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit { + position: relative; +} + +/* line 159, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-container { + position: relative; + height: 0; + margin: 0; + list-style: none; + overflow: hidden; +} + +/* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-slide { + width: 100%; +} +/* line 72, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-slide.no-motionui.is-active { + top: 0; + left: 0; +} + +/* line 167, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-figure { + margin: 0; +} + +/* line 171, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-image { + width: 100%; + max-width: 100%; + margin: 0; +} + +/* line 175, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-caption { + position: absolute; + bottom: 0; + width: 100%; + margin-bottom: 0; + padding: 1rem; + background-color: rgba(10, 10, 10, 0.5); + color: #fefefe; +} + +/* line 179, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-previous, .orbit-next { + position: absolute; + top: 50%; + transform: translateY(-50%); + z-index: 10; + padding: 1rem; + color: #fefefe; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next { + outline: 0; +} +/* line 110, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus { + background-color: rgba(10, 10, 10, 0.5); +} + +/* line 183, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-previous { + left: 0; +} + +/* line 188, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-next { + left: auto; + right: 0; +} + +/* line 193, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-bullets { + position: relative; + margin-top: 0.8rem; + margin-bottom: 0.8rem; + text-align: center; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .orbit-bullets { + outline: 0; +} +/* line 136, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-bullets button { + width: 1.2rem; + height: 1.2rem; + margin: 0.1rem; + border-radius: 50%; + background-color: #cacaca; +} +/* line 144, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-bullets button:hover { + background-color: #8a8a8a; +} +/* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_orbit.scss */ +.orbit-bullets button.is-active { + background-color: #8a8a8a; +} + +/* line 162, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination { + margin-left: 0; + margin-bottom: 1rem; +} +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.pagination::before, .pagination::after { + display: table; + content: ' '; + flex-basis: 0; + order: 1; +} +/* line 184, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.pagination::after { + clear: both; +} +/* line 83, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination li { + margin-right: 0.0625rem; + border-radius: 0; + font-size: 0.875rem; + display: none; +} +/* line 94, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination li:last-child, .pagination li:first-child { + display: inline-block; +} +@media print, screen and (min-width: 40em) { + /* line 83, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ + .pagination li { + display: inline-block; + } +} +/* line 112, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination a, +.pagination button { + display: block; + padding: 0.1875rem 0.625rem; + border-radius: 0; + color: #0a0a0a; +} +/* line 119, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination a:hover, +.pagination button:hover { + background: #e6e6e6; +} +/* line 165, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination .current { + padding: 0.1875rem 0.625rem; + background: #1779ba; + color: #fefefe; + cursor: default; +} +/* line 169, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination .disabled { + padding: 0.1875rem 0.625rem; + color: #cacaca; + cursor: not-allowed; +} +/* line 146, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination .disabled:hover { + background: transparent; +} +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination .ellipsis::after { + padding: 0.1875rem 0.625rem; + content: '\2026'; + color: #0a0a0a; +} + +/* line 179, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination-previous a::before, +.pagination-previous.disabled::before { + display: inline-block; + margin-right: 0.5rem; + content: '\00ab'; +} + +/* line 186, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_pagination.scss */ +.pagination-next a::after, +.pagination-next.disabled::after { + display: inline-block; + margin-left: 0.5rem; + content: '\00bb'; +} + +/* line 43, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress { + height: 1rem; + margin-bottom: 1rem; + border-radius: 0; + background-color: #cacaca; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress.primary .progress-meter { + background-color: #1779ba; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress.secondary .progress-meter { + background-color: #767676; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress.success .progress-meter { + background-color: #3adb76; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress.warning .progress-meter { + background-color: #ffae00; +} +/* line 48, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress.alert .progress-meter { + background-color: #cc4b37; +} + +/* line 56, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress-meter { + position: relative; + display: block; + width: 0%; + height: 100%; + background-color: #1779ba; +} + +/* line 61, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_progress-bar.scss */ +.progress-meter-text { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + position: absolute; + margin: 0; + font-size: 0.75rem; + font-weight: bold; + color: #fefefe; + white-space: nowrap; +} + +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider { + position: relative; + height: 0.5rem; + margin-top: 1.25rem; + margin-bottom: 2.25rem; + background-color: #e6e6e6; + cursor: pointer; + user-select: none; + touch-action: none; +} + +/* line 111, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider-fill { + position: absolute; + top: 0; + left: 0; + display: inline-block; + max-width: 100%; + height: 0.5rem; + background-color: #cacaca; + transition: all 0.2s ease-in-out; +} +/* line 46, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider-fill.is-dragging { + transition: all 0s linear; +} + +/* line 116, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider-handle { + position: absolute; + top: 50%; + transform: translateY(-50%); + left: 0; + z-index: 1; + display: inline-block; + width: 1.4rem; + height: 1.4rem; + border-radius: 0; + background-color: #1779ba; + transition: all 0.2s ease-in-out; + touch-action: manipulation; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .slider-handle { + outline: 0; +} +/* line 67, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider-handle:hover { + background-color: #14679e; +} +/* line 71, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider-handle.is-dragging { + transition: all 0s linear; +} + +/* line 121, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider.disabled, +.slider[disabled] { + opacity: 0.25; + cursor: not-allowed; +} + +/* line 127, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider.vertical { + display: inline-block; + width: 0.5rem; + height: 12.5rem; + margin: 0 1.25rem; + transform: scale(1, -1); +} +/* line 88, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider.vertical .slider-fill { + top: 0; + width: 0.5rem; + max-height: 100%; +} +/* line 94, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_slider.scss */ +.slider.vertical .slider-handle { + position: absolute; + top: 0; + left: 50%; + width: 1.4rem; + height: 1.4rem; + transform: translateX(-50%); +} + +/* line 6, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky-container { + position: relative; +} + +/* line 10, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky { + position: relative; + z-index: 0; + transform: translate3d(0, 0, 0); +} + +/* line 16, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky.is-stuck { + position: fixed; + z-index: 5; + width: 100%; +} +/* line 21, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky.is-stuck.is-at-top { + top: 0; +} +/* line 25, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky.is-stuck.is-at-bottom { + bottom: 0; +} + +/* line 30, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky.is-anchored { + position: relative; + right: auto; + left: auto; +} +/* line 35, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_sticky.scss */ +.sticky.is-anchored.is-at-bottom { + bottom: 0; +} + +/* line 129, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +body.is-reveal-open { + overflow: hidden; +} + +/* line 134, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +html.is-reveal-open, +html.is-reveal-open body { + min-height: 100%; + overflow: hidden; + position: fixed; + user-select: none; +} + +/* line 143, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1005; + display: none; + background-color: rgba(10, 10, 10, 0.45); + overflow-y: scroll; +} + +/* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal { + z-index: 1006; + backface-visibility: hidden; + display: none; + padding: 1rem; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + position: relative; + top: 100px; + margin-right: auto; + margin-left: auto; + overflow-y: auto; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] .reveal { + outline: 0; +} +@media print, screen and (min-width: 40em) { + /* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal { + min-height: 0; + } +} +/* line 87, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal .column, .reveal .columns { + min-width: 0; +} +/* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal > :last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + /* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal { + width: 600px; + max-width: 75rem; + } +} +/* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal.collapse { + padding: 0; +} +@media print, screen and (min-width: 40em) { + /* line 163, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal.tiny { + width: 30%; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + /* line 164, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal.small { + width: 50%; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + /* line 165, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal.large { + width: 90%; + max-width: 75rem; + } +} +/* line 168, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal.full { + top: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + height: 100vh; + min-height: 100vh; + margin-left: 0; + border: 0; + border-radius: 0; +} +@media screen and (max-width: 39.9375em) { + /* line 148, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ + .reveal { + top: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + height: 100vh; + min-height: 100vh; + margin-left: 0; + border: 0; + border-radius: 0; + } +} +/* line 176, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_reveal.scss */ +.reveal.without-overlay { + position: fixed; +} + +/* line 203, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch { + height: 2rem; + position: relative; + margin-bottom: 1rem; + outline: 0; + font-size: 0.875rem; + font-weight: bold; + color: #fefefe; + user-select: none; +} + +/* line 209, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch-input { + position: absolute; + margin-bottom: 0; + opacity: 0; +} + +/* line 214, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch-paddle { + position: relative; + display: block; + width: 4rem; + height: 2rem; + border-radius: 0; + background: #cacaca; + transition: all 0.25s ease-out; + font-weight: inherit; + color: inherit; + cursor: pointer; +} +/* line 105, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +input + .switch-paddle { + margin: 0; +} +/* line 110, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch-paddle::after { + position: absolute; + top: 0.25rem; + left: 0.25rem; + display: block; + width: 1.5rem; + height: 1.5rem; + transform: translate3d(0, 0, 0); + border-radius: 0; + background: #fefefe; + transition: all 0.25s ease-out; + content: ''; +} +/* line 127, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +input:checked ~ .switch-paddle { + background: #1779ba; +} +/* line 130, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +input:checked ~ .switch-paddle::after { + left: 2.25rem; +} +/* line 205, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +[data-whatinput='mouse'] input:focus ~ .switch-paddle { + outline: 0; +} + +/* line 219, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch-active, .switch-inactive { + position: absolute; + top: 50%; + transform: translateY(-50%); +} + +/* line 224, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch-active { + left: 8%; + display: none; +} +/* line 152, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +input:checked + label > .switch-active { + display: block; +} + +/* line 230, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch-inactive { + right: 15%; +} +/* line 161, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +input:checked + label > .switch-inactive { + display: none; +} + +/* line 236, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.tiny { + height: 1.5rem; +} +/* line 183, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.tiny .switch-paddle { + width: 3rem; + height: 1.5rem; + font-size: 0.625rem; +} +/* line 189, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.tiny .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 1rem; + height: 1rem; +} +/* line 196, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.tiny input:checked ~ .switch-paddle::after { + left: 1.75rem; +} + +/* line 240, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.small { + height: 1.75rem; +} +/* line 183, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.small .switch-paddle { + width: 3.5rem; + height: 1.75rem; + font-size: 0.75rem; +} +/* line 189, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.small .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 1.25rem; + height: 1.25rem; +} +/* line 196, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.small input:checked ~ .switch-paddle::after { + left: 2rem; +} + +/* line 244, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.large { + height: 2.5rem; +} +/* line 183, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.large .switch-paddle { + width: 5rem; + height: 2.5rem; + font-size: 1rem; +} +/* line 189, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.large .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 2rem; + height: 2rem; +} +/* line 196, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_switch.scss */ +.switch.large input:checked ~ .switch-paddle::after { + left: 2.75rem; +} + +/* line 305, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table { + border-collapse: collapse; + width: 100%; + margin-bottom: 1rem; + border-radius: 0; +} +/* line 111, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +thead, +tbody, +tfoot { + border: 3px solid #f1f1f1; + background-color: #fefefe; +} + +/* line 119, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +caption { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; +} + +/* line 125, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +thead { + background: #f8f8f8; + color: #0a0a0a; +} + +/* line 131, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +tfoot { + background: #f1f1f1; + color: #0a0a0a; +} + +/* line 140, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +thead tr, +tfoot tr { + background: transparent; +} +/* line 145, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +thead th, +thead td, +tfoot th, +tfoot td { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; + text-align: left; +} + +/* line 155, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +tbody th, +tbody td { + padding: 0.5rem 0.625rem 0.625rem; +} + +/* line 87, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +tbody tr:nth-child(even) { + border-bottom: 0; + background-color: #f1f1f1; +} + +/* line 168, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.unstriped tbody { + background-color: #fefefe; +} +/* line 103, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.unstriped tbody tr { + border-bottom: 0; + border-bottom: 3px solid #f1f1f1; + background-color: #fefefe; +} + +@media screen and (max-width: 63.9375em) { + /* line 284, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ + table.stack thead { + display: none; + } + /* line 289, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ + table.stack tfoot { + display: none; + } + /* line 293, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ + table.stack tr, + table.stack th, + table.stack td { + display: block; + } + /* line 299, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ + table.stack td { + border-top: 0; + } +} + +/* line 315, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.scroll { + display: block; + width: 100%; + overflow-x: auto; +} + +/* line 221, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.hover thead tr:hover { + background-color: #f3f3f3; +} +/* line 228, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.hover tfoot tr:hover { + background-color: #ececec; +} +/* line 235, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.hover tbody tr:hover { + background-color: #f9f9f9; +} +/* line 243, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +table.hover:not(.unstriped) tr:nth-of-type(even):hover { + background-color: #ececec; +} + +/* line 323, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +.table-scroll { + overflow-x: auto; +} +/* line 326, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_table.scss */ +.table-scroll table { + width: auto; +} + +/* line 147, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs { + margin: 0; + border: 1px solid #e6e6e6; + background: #fefefe; + list-style-type: none; +} +/* line 173, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.tabs::before, .tabs::after { + display: table; + content: ' '; + flex-basis: 0; + order: 1; +} +/* line 184, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/util/_mixins.scss */ +.tabs::after { + clear: both; +} + +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs.vertical > li { + display: block; + float: none; + width: auto; +} + +/* line 158, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs.simple > li > a { + padding: 0; +} +/* line 161, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs.simple > li > a:hover { + background: transparent; +} + +/* line 168, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs.primary { + background: #1779ba; +} +/* line 171, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs.primary > li > a { + color: #fefefe; +} +/* line 174, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs.primary > li > a:hover, .tabs.primary > li > a:focus { + background: #1673b1; +} + +/* line 181, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-title { + float: left; +} +/* line 93, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-title > a { + display: block; + padding: 1.25rem 1.5rem; + font-size: 0.75rem; + line-height: 1; + color: #1779ba; +} +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-title > a:hover { + background: #fefefe; + color: #1468a0; +} +/* line 105, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] { + background: #e6e6e6; + color: #1779ba; +} + +/* line 185, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-content { + border: 1px solid #e6e6e6; + border-top: 0; + background: #fefefe; + color: #0a0a0a; + transition: all 0.5s ease; +} + +/* line 189, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-content.vertical { + border: 1px solid #e6e6e6; + border-left: 0; +} + +/* line 193, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-panel { + display: none; + padding: 1rem; +} +/* line 141, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tabs.scss */ +.tabs-panel.is-active { + display: block; +} + +/* line 60, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_thumbnail.scss */ +.thumbnail { + display: inline-block; + max-width: 100%; + margin-bottom: 1rem; + border: solid 4px #fefefe; + border-radius: 0; + box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); + line-height: 0; +} + +/* line 64, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_thumbnail.scss */ +a.thumbnail { + transition: box-shadow 200ms ease-out; +} +/* line 49, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_thumbnail.scss */ +a.thumbnail:hover, a.thumbnail:focus { + box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); +} +/* line 54, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_thumbnail.scss */ +a.thumbnail image { + box-shadow: none; +} + +/* line 38, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_title-bar.scss */ +.title-bar { + padding: 0.5rem; + background: #0a0a0a; + color: #fefefe; + display: flex; + justify-content: flex-start; + align-items: center; +} +/* line 52, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_title-bar.scss */ +.title-bar .menu-icon { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +/* line 59, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_title-bar.scss */ +.title-bar-left, +.title-bar-right { + flex: 1 1 0px; +} + +/* line 64, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_title-bar.scss */ +.title-bar-right { + text-align: right; +} + +/* line 79, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_title-bar.scss */ +.title-bar-title { + display: inline-block; + vertical-align: middle; + font-weight: bold; +} + +/* line 153, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.has-tip { + position: relative; + display: inline-block; + border-bottom: dotted 1px #8a8a8a; + font-weight: bold; + cursor: help; +} + +/* line 157, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip { + position: absolute; + top: calc(100% + 0.6495rem); + z-index: 1200; + max-width: 10rem; + padding: 0.75rem; + border-radius: 0; + background-color: #0a0a0a; + font-size: 80%; + color: #fefefe; +} +/* line 75, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip::before { + position: absolute; +} +/* line 80, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.bottom::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-top-width: 0; + border-bottom-style: solid; + border-color: transparent transparent #0a0a0a; + bottom: 100%; +} +/* line 85, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.bottom.align-center::before { + left: 50%; + transform: translateX(-50%); +} +/* line 92, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.top::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0a0a0a transparent transparent; + top: 100%; + bottom: auto; +} +/* line 98, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.top.align-center::before { + left: 50%; + transform: translateX(-50%); +} +/* line 105, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.left::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0a0a0a; + left: 100%; +} +/* line 110, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.left.align-center::before { + bottom: auto; + top: 50%; + transform: translateY(-50%); +} +/* line 118, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.right::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0a0a0a transparent transparent; + right: 100%; + left: auto; +} +/* line 124, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.right.align-center::before { + bottom: auto; + top: 50%; + transform: translateY(-50%); +} +/* line 131, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.align-top::before { + bottom: auto; + top: 10%; +} +/* line 136, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.align-bottom::before { + bottom: 10%; + top: auto; +} +/* line 141, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.align-left::before { + left: 10%; + right: auto; +} +/* line 146, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_tooltip.scss */ +.tooltip.align-right::before { + left: auto; + right: 10%; +} + +/* line 122, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar { + display: flex; + flex-wrap: nowrap; + justify-content: space-between; + align-items: center; + padding: 0.5rem; + flex-wrap: wrap; +} +/* line 47, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar, +.top-bar ul { + background-color: #e6e6e6; +} +/* line 60, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar input { + max-width: 200px; + margin-right: 1rem; +} +/* line 66, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar .input-group-field { + width: 100%; + margin-right: 0; +} +/* line 71, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar input.button { + width: auto; +} +/* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar .top-bar-left, +.top-bar .top-bar-right { + flex: 0 0 100%; + max-width: 100%; +} +@media print, screen and (min-width: 40em) { + /* line 122, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar { + flex-wrap: nowrap; + } + /* line 102, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar .top-bar-left { + flex: 1 1 auto; + margin-right: auto; + } + /* line 107, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar .top-bar-right { + flex: 0 1 auto; + margin-left: auto; + } +} +@media screen and (max-width: 63.9375em) { + /* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar.stacked-for-medium { + flex-wrap: wrap; + } + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar.stacked-for-medium .top-bar-left, + .top-bar.stacked-for-medium .top-bar-right { + flex: 0 0 100%; + max-width: 100%; + } +} +@media screen and (max-width: 74.9375em) { + /* line 135, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar.stacked-for-large { + flex-wrap: wrap; + } + /* line 82, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ + .top-bar.stacked-for-large .top-bar-left, + .top-bar.stacked-for-large .top-bar-right { + flex: 0 0 100%; + max-width: 100%; + } +} + +/* line 146, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar-title { + flex: 0 0 auto; + margin: 0.5rem 1rem 0.5rem 0; +} + +/* line 151, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/components/_top-bar.scss */ +.top-bar-left, +.top-bar-right { + flex: 0 0 auto; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-down.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateY(-100%); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-down.mui-enter.mui-enter-active { + transform: translateY(0); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-left.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateX(-100%); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-left.mui-enter.mui-enter-active { + transform: translateX(0); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-up.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateY(100%); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-up.mui-enter.mui-enter-active { + transform: translateY(0); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-right.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateX(100%); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-in-right.mui-enter.mui-enter-active { + transform: translateX(0); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-down.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateY(0); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-down.mui-leave.mui-leave-active { + transform: translateY(100%); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-right.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateX(0); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-right.mui-leave.mui-leave-active { + transform: translateX(100%); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-up.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateY(0); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-up.mui-leave.mui-leave-active { + transform: translateY(-100%); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-left.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: translateX(0); + transition-property: transform, opacity; + backface-visibility: hidden; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.slide-out-left.mui-leave.mui-leave-active { + transform: translateX(-100%); +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.fade-in.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + opacity: 0; + transition-property: opacity; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.fade-in.mui-enter.mui-enter-active { + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.fade-out.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + opacity: 1; + transition-property: opacity; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.fade-out.mui-leave.mui-leave-active { + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-top.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotateX(-90deg); + transform-origin: top; + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-top.mui-enter.mui-enter-active { + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-right.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotateY(-90deg); + transform-origin: right; + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-right.mui-enter.mui-enter-active { + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-bottom.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotateX(90deg); + transform-origin: bottom; + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-bottom.mui-enter.mui-enter-active { + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-left.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotateY(90deg); + transform-origin: left; + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-left.mui-enter.mui-enter-active { + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-middle-x.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotateX(-90deg); + transform-origin: center; + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-middle-x.mui-enter.mui-enter-active { + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-middle-y.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotateY(-90deg); + transform-origin: center; + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-in-from-middle-y.mui-enter.mui-enter-active { + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-top.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotate(0deg); + transform-origin: top; + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-top.mui-leave.mui-leave-active { + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-right.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotate(0deg); + transform-origin: right; + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-right.mui-leave.mui-leave-active { + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-bottom.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotate(0deg); + transform-origin: bottom; + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-bottom.mui-leave.mui-leave-active { + transform: perspective(2000px) rotateX(90deg); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-left.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotate(0deg); + transform-origin: left; + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-left.mui-leave.mui-leave-active { + transform: perspective(2000px) rotateY(90deg); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-middle-x.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotate(0deg); + transform-origin: center; + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-middle-x.mui-leave.mui-leave-active { + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-middle-y.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: perspective(2000px) rotate(0deg); + transform-origin: center; + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.hinge-out-from-middle-y.mui-leave.mui-leave-active { + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-in-up.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: scale(0.5); + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-in-up.mui-enter.mui-enter-active { + transform: scale(1); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-in-down.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: scale(1.5); + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-in-down.mui-enter.mui-enter-active { + transform: scale(1); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-out-up.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: scale(1); + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-out-up.mui-leave.mui-leave-active { + transform: scale(1.5); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-out-down.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: scale(1); + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.scale-out-down.mui-leave.mui-leave-active { + transform: scale(0.5); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-in.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: rotate(-0.75turn); + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-in.mui-enter.mui-enter-active { + transform: rotate(0); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-out.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: rotate(0); + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-out.mui-leave.mui-leave-active { + transform: rotate(0.75turn); + opacity: 0; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-in-ccw.mui-enter { + transition-duration: 500ms; + transition-timing-function: linear; + transform: rotate(0.75turn); + transition-property: transform, opacity; + opacity: 0; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-in-ccw.mui-enter.mui-enter-active { + transform: rotate(0); + opacity: 1; +} + +/* line 22, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-out-ccw.mui-leave { + transition-duration: 500ms; + transition-timing-function: linear; + transform: rotate(0); + transition-property: transform, opacity; + opacity: 1; +} +/* line 34, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/util/_transition.scss */ +.spin-out-ccw.mui-leave.mui-leave-active { + transform: rotate(-0.75turn); + opacity: 0; +} + +/* line 56, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.slow { + transition-duration: 750ms !important; +} + +/* line 56, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.fast { + transition-duration: 250ms !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.linear { + transition-timing-function: linear !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease { + transition-timing-function: ease !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease-in { + transition-timing-function: ease-in !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease-out { + transition-timing-function: ease-out !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease-in-out { + transition-timing-function: ease-in-out !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.bounce-in { + transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.bounce-out { + transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; +} + +/* line 62, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.bounce-in-out { + transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; +} + +/* line 68, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.short-delay { + transition-delay: 300ms !important; +} + +/* line 68, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.long-delay { + transition-delay: 700ms !important; +} + +/* line 76, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.shake { + animation-name: shake-7; +} +@keyframes shake-7 { + 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + transform: translateX(7%); + } + 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + transform: translateX(-7%); + } +} +/* line 77, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.spin-cw { + animation-name: spin-cw-1turn; +} +@keyframes spin-cw-1turn { + 0% { + transform: rotate(-1turn); + } + 100% { + transform: rotate(0); + } +} +/* line 78, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.spin-ccw { + animation-name: spin-cw-1turn; +} +@keyframes spin-cw-1turn { + 0% { + transform: rotate(0); + } + 100% { + transform: rotate(1turn); + } +} +/* line 79, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.wiggle { + animation-name: wiggle-7deg; +} +@keyframes wiggle-7deg { + 40%, 50%, 60% { + transform: rotate(7deg); + } + 35%, 45%, 55%, 65% { + transform: rotate(-7deg); + } + 0%, 30%, 70%, 100% { + transform: rotate(0); + } +} +/* line 81, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.shake, +.spin-cw, +.spin-ccw, +.wiggle { + animation-duration: 500ms; +} + +/* line 90, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.infinite { + animation-iteration-count: infinite; +} + +/* line 94, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.slow { + animation-duration: 750ms !important; +} + +/* line 94, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.fast { + animation-duration: 250ms !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.linear { + animation-timing-function: linear !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease { + animation-timing-function: ease !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease-in { + animation-timing-function: ease-in !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease-out { + animation-timing-function: ease-out !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.ease-in-out { + animation-timing-function: ease-in-out !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.bounce-in { + animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.bounce-out { + animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; +} + +/* line 100, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.bounce-in-out { + animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; +} + +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.short-delay { + animation-delay: 300ms !important; +} + +/* line 106, /Users/sarahrb/.rvm/gems/ruby-2.4.0/gems/foundation-rails-6.4.1.2/vendor/assets/scss/motion-ui/_classes.scss */ +.long-delay { + animation-delay: 700ms !important; +} +/* line 5, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/main.scss */ +h2, footer.bg { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; +} + +/* line 10, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/main.scss */ +.bg { + background-color: black; +} + +/* line 14, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/main.scss */ +.small-thumb { + width: 300px; +} + +/* line 18, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/main.scss */ +.more-padding { + padding: 50px; +} + +/* line 22, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/main.scss */ +main.no-bg { + background-color: transparent; +} + +/* line 26, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/main.scss */ +blockquote { + display: inline; +} +/* line 5, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/payments.scss */ +.payment-form label { + color: white; + text-align: left; +} +/* line 5, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +.show-product img { + height: 200px; + width: 200px; + border: 1px solid; +} + +/* line 11, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +.show-box { + text-align: center; +} + +/* line 15, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +.description { + display: block; + font-size: 1.3em; + font-family: sans-serif; +} + +/* line 21, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +.inventory { + font-size: 1.3em; +} + +/* ***************************************************** + INDEX +****************************************************** */ +/* line 30, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +#new_order_item { + display: inline-block; +} + +/* line 34, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +#quantity { + height: 30px; + width: 100px; +} + +/* line 39, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +.button-style { + font-family: 'Bungee Inline', cursive; + color: #ffdf00; +} + +/* line 44, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/products.scss */ +header.bottom-margin { + margin-bottom: 80px; +} +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's + * vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + + + + + */ +@import url("https://fonts.googleapis.com/css?family=Didact+Gothic"); +@import url("https://fonts.googleapis.com/css?family=Bungee+Inline"); +@import url("https://fonts.googleapis.com/css?family=Asar|Open+Sans"); +@font-face { + font-family: "STARWARS"; + src: url("STARWARS.eot?") format("eot"), url("STARWARS.woff") format("woff"), url("STARWARS.ttf") format("truetype"), url("STARWARS.svg#STARWARS") format("svg"); + font-weight: normal; + font-style: normal; +} +/****************************************************** + STYLING ACROSS ALL PAGES +*******************************************************/ +/* line 32, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +body, html { + margin: 0; + font-family: 'Open Sans', sans-serif; + font-size: 1em; +} + +/* line 38, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +body { + background-image: url("ep_naturalblack.png"); + color: #F6F6F6; +} + +/* line 44, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +header a { + color: white; +} + +/* line 48, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.more-margin { + margin: 50px; +} + +/* line 52, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.padding { + padding: 5px; +} + +/* line 56, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.align-center { + text-align: center; +} + +/* line 60, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.margin-zero { + margin: 0; +} + +/* line 64, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.min-width { + min-width: 100%; +} + +/* ***************************************************** + NAV +****************************************************** */ +/* line 72, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.top-bar ul, .top-bar { + background-color: black; +} + +/* line 76, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.navimg { + max-width: 35px; + max-height: 25px; +} + +/* line 81, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +header a { + color: #ffdf00; + font-family: 'Bungee Inline', cursive; +} + +/* ***************************************************** + DROP DOWN MISC +****************************************************** */ +/* The container
- needed to position the dropdown content */ +/* line 92, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.dropdown { + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +/* line 98, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.dropdown-content { + display: none; + position: absolute; + background-color: #282828; + min-width: 130px; + box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +/* line 108, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.inside-dropdown { + color: white; + padding: 12px 16px; + text-decoration: none; + display: block; +} + +/* Change color of dropdown links on hover */ +/* line 116, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.dropdown-content a:hover { + background-color: #003366; +} + +/* Show the dropdown menu on hover */ +/* line 119, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.dropdown:hover .dropdown-content { + display: block; +} + +/* line 123, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.margin-top { + margin-top: 8px; + margin-right: 10px; +} + +/* ***************************************************** +HERO +****************************************************** */ +/* line 192, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.hero h1 { + padding-top: 125px; + font-family: 'STARWARS'; + font-size: 5em; +} + +/* line 199, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.hero { + background-image: url(/assets/hero-11b3ee42c91e7ecd413d75f1d79c1443a77cd682f27eb7986067ac28e2e0c6dc.jpg); + background-size: cover; + height: 350px; + text-align: center; + background-attachment: fixed; + background-position: center; + background-repeat: no-repeat; +} +/* line 209, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.hero .hero-section-text a { + color: white; + text-shadow: 1px 1px 2px black; +} + +/****************************************************** + FLASH +*******************************************************/ +/* line 221, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.row.status.success { + border-radius: 5px; + background-color: lightblue; + padding: 20px 25px; + font-size: 1em; + min-width: 100%; +} + +/* line 229, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.row.status.failure { + border-radius: 5px; + background-color: pink; + padding: 20px 25px; + font-size: 1em; + min-width: 100%; +} + +/* line 237, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.no-bg-color { + background-color: transparent; +} + +/****************************************************** + INDEX/ROOT +*******************************************************/ +/* line 261, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +h1 { + padding: 50px; +} + +/* line 265, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.force-index h2 { + padding: 30px; + font-family: 'STARWARS'; +} + +/****************************************************** + MAIN +*******************************************************/ +/* line 277, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.cart-heading { + margin-top: 20px; + padding-top: 30px; + padding-bottom: 20px; + font-family: 'STARWARS'; +} + +/* line 284, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.cart-name { + font-size: 1.5em; + padding-top: 15px; +} + +/* line 289, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.checkout { + padding-bottom: 40px; + padding-top: 20px; +} + +/* line 294, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.cart-image img { + width: 60%; + padding-bottom: 20px; + padding-left: 80px; +} + +/* line 300, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +select { + width: 40%; + margin-left: 50px; +} + +/* line 305, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +input { + margin-left: 10px; +} + +/* line 309, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.text-block { + padding-top: 40px; +} + +/* line 313, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.button-large { + color: #CA4C3D; +} + +/* line 317, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +hr { + opacity: .5; +} + +/****************************************************** + OPENING +*******************************************************/ +/****************************************************** + FOOTER +*******************************************************/ +/* line 329, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +.footer-margin { + margin-top: 100px; + padding: 20px; +} + +/****************************************************** + TABLES +*******************************************************/ +/* line 344, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +table { + width: 80%; +} +/* line 347, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +table .complete { + background-color: lightgreen; +} +/* line 350, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +table .paid { + background-color: pink; +} +/* line 353, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +table .mini { + width: 100px; +} +/* line 356, /Users/sarahrb/Documents/Ada/week10/betsy/app/assets/stylesheets/application.scss */ +table .orderindex { + max-width: 90px; + max-height: 70px; +} diff --git a/public/assets/application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css.gz b/public/assets/application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css.gz new file mode 100644 index 0000000000..9d90e83ac2 Binary files /dev/null and b/public/assets/application-0516231dbac53c1ce1889979d97741d2bc29ef68ac77c9bea3c5bd08333e9303.css.gz differ diff --git a/public/assets/application-2276529daa499510152973b5723d3f725ec387d785ff09f4f2cb3e67bbe3e40c.js b/public/assets/application-2276529daa499510152973b5723d3f725ec387d785ff09f4f2cb3e67bbe3e40c.js new file mode 100644 index 0000000000..b0c26c3fd6 --- /dev/null +++ b/public/assets/application-2276529daa499510152973b5723d3f725ec387d785ff09f4f2cb3e67bbe3e40c.js @@ -0,0 +1,9 @@ +function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(function(){var t=this;(function(){(function(){this.Rails={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]",buttonClickSelector:{selector:"button[data-remote]:not([form]), button[data-confirm]:not([form])",exclude:"form button"},inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form",formInputClickSelector:"form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])",formDisableSelector:"input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled",formEnableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled",fileInputSelector:"input[name][type=file]:not([disabled])",linkDisableSelector:"a[data-disable-with], a[data-disable]",buttonDisableSelector:"button[data-remote][data-disable-with], button[data-remote][data-disable]"}}).call(this)}).call(t);var e=t.Rails;(function(){(function(){var t,n;n=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector,e.matches=function(t,e){return null!=e.exclude?n.call(t,e.selector)&&!n.call(t,e.exclude):n.call(t,e)},t="_ujsData",e.getData=function(e,n){var i;return null!=(i=e[t])?i[n]:void 0},e.setData=function(e,n,i){return null==e[t]&&(e[t]={}),e[t][n]=i},e.$=function(t){return Array.prototype.slice.call(document.querySelectorAll(t))}}).call(this),function(){var t,n,i;t=e.$,i=e.csrfToken=function(){var t;return(t=document.querySelector("meta[name=csrf-token]"))&&t.content},n=e.csrfParam=function(){var t;return(t=document.querySelector("meta[name=csrf-param]"))&&t.content},e.CSRFProtection=function(t){var e;if(null!=(e=i()))return t.setRequestHeader("X-CSRF-Token",e)},e.refreshCSRFTokens=function(){var e,o;if(o=i(),e=n(),null!=o&&null!=e)return t('form input[name="'+e+'"]').forEach(function(t){return t.value=o})}}.call(this),function(){var t,n,i;i=e.matches,t=window.CustomEvent,"function"!=typeof t&&(t=function(t,e){var n;return n=document.createEvent("CustomEvent"),n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n},t.prototype=window.Event.prototype),n=e.fire=function(e,n,i){var o;return o=new t(n,{bubbles:!0,cancelable:!0,detail:i}),e.dispatchEvent(o),!o.defaultPrevented},e.stopEverything=function(t){return n(t.target,"ujs:everythingStopped"),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()},e.delegate=function(t,e,n,o){return t.addEventListener(n,function(t){var n;for(n=t.target;n instanceof Element&&!i(n,e);)n=n.parentNode;if(n instanceof Element&&!1===o.call(n,t))return t.preventDefault(),t.stopPropagation()})}}.call(this),function(){var t,n,i,o,r,s;n=e.CSRFProtection,o=e.fire,t={"*":"*/*",text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript",script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},e.ajax=function(t){var e;return t=r(t),e=i(t,function(){var n;return n=s(e.response,e.getResponseHeader("Content-Type")),2===Math.floor(e.status/100)?"function"==typeof t.success&&t.success(n,e.statusText,e):"function"==typeof t.error&&t.error(n,e.statusText,e),"function"==typeof t.complete?t.complete(e,e.statusText):void 0}),"function"==typeof t.beforeSend&&t.beforeSend(e,t),e.readyState===XMLHttpRequest.OPENED?e.send(t.data):o(document,"ajaxStop")},r=function(e){return e.url=e.url||location.href,e.type=e.type.toUpperCase(),"GET"===e.type&&e.data&&(e.url.indexOf("?")<0?e.url+="?"+e.data:e.url+="&"+e.data),null==t[e.dataType]&&(e.dataType="*"),e.accept=t[e.dataType],"*"!==e.dataType&&(e.accept+=", */*; q=0.01"),e},i=function(t,e){var i;return i=new XMLHttpRequest,i.open(t.type,t.url,!0),i.setRequestHeader("Accept",t.accept),"string"==typeof t.data&&i.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),t.crossDomain||i.setRequestHeader("X-Requested-With","XMLHttpRequest"),n(i),i.withCredentials=!!t.withCredentials,i.onreadystatechange=function(){if(i.readyState===XMLHttpRequest.DONE)return e(i)},i},s=function(t,e){var n,i;if("string"==typeof t&&"string"==typeof e)if(e.match(/\bjson\b/))try{t=JSON.parse(t)}catch(t){}else if(e.match(/\b(?:java|ecma)script\b/))i=document.createElement("script"),i.text=t,document.head.appendChild(i).parentNode.removeChild(i);else if(e.match(/\b(xml|html|svg)\b/)){n=new DOMParser,e=e.replace(/;.+/,"");try{t=n.parseFromString(t,e)}catch(t){}}return t},e.href=function(t){return t.href},e.isCrossDomain=function(t){var e,n;e=document.createElement("a"),e.href=location.href,n=document.createElement("a");try{return n.href=t,!((!n.protocol||":"===n.protocol)&&!n.host||e.protocol+"//"+e.host==n.protocol+"//"+n.host)}catch(t){return t,!0}}}.call(this),function(){var t,n;t=e.matches,n=function(t){return Array.prototype.slice.call(t)},e.serializeElement=function(e,i){var o,r;return o=[e],t(e,"form")&&(o=n(e.elements)),r=[],o.forEach(function(e){if(e.name)return t(e,"select")?n(e.options).forEach(function(t){if(t.selected)return r.push({name:e.name,value:t.value})}):e.checked||-1===["radio","checkbox","submit"].indexOf(e.type)?r.push({name:e.name,value:e.value}):void 0}),i&&r.push(i),r.map(function(t){return null!=t.name?encodeURIComponent(t.name)+"="+encodeURIComponent(t.value):t}).join("&")},e.formElements=function(e,i){return t(e,"form")?n(e.elements).filter(function(e){return t(e,i)}):n(e.querySelectorAll(i))}}.call(this),function(){var t,n,i;n=e.fire,i=e.stopEverything,e.handleConfirm=function(e){if(!t(this))return i(e)},t=function(t){var e,i,o;if(!(o=t.getAttribute("data-confirm")))return!0;if(e=!1,n(t,"confirm")){try{e=confirm(o)}catch(t){}i=n(t,"confirm:complete",[e])}return e&&i}}.call(this),function(){var t,n,i,o,r,s,a,l,u,c,d;u=e.matches,l=e.getData,c=e.setData,d=e.stopEverything,a=e.formElements,e.handleDisabledElement=function(t){var e;if(e=this,e.disabled)return d(t)},e.enableElement=function(t){var n;return n=t instanceof Event?t.target:t,u(n,e.linkDisableSelector)?s(n):u(n,e.buttonDisableSelector)||u(n,e.formEnableSelector)?o(n):u(n,e.formSubmitSelector)?r(n):void 0},e.disableElement=function(o){var r;return r=o instanceof Event?o.target:o,u(r,e.linkDisableSelector)?i(r):u(r,e.buttonDisableSelector)||u(r,e.formDisableSelector)?t(r):u(r,e.formSubmitSelector)?n(r):void 0},i=function(t){var e;return e=t.getAttribute("data-disable-with"),null!=e&&(c(t,"ujs:enable-with",t.innerHTML),t.innerHTML=e),t.addEventListener("click",d),c(t,"ujs:disabled",!0)},s=function(t){var e;return e=l(t,"ujs:enable-with"),null!=e&&(t.innerHTML=e,c(t,"ujs:enable-with",null)),t.removeEventListener("click",d),c(t,"ujs:disabled",null)},n=function(n){return a(n,e.formDisableSelector).forEach(t)},t=function(t){var e;return e=t.getAttribute("data-disable-with"),null!=e&&(u(t,"button")?(c(t,"ujs:enable-with",t.innerHTML),t.innerHTML=e):(c(t,"ujs:enable-with",t.value),t.value=e)),t.disabled=!0,c(t,"ujs:disabled",!0)},r=function(t){return a(t,e.formEnableSelector).forEach(o)},o=function(t){var e;return e=l(t,"ujs:enable-with"),null!=e&&(u(t,"button")?t.innerHTML=e:t.value=e,c(t,"ujs:enable-with",null)),t.disabled=!1,c(t,"ujs:disabled",null)}}.call(this),function(){var t;t=e.stopEverything,e.handleMethod=function(n){var i,o,r,s,a,l,u;if(l=this,u=l.getAttribute("data-method"))return a=e.href(l),o=e.csrfToken(),i=e.csrfParam(),r=document.createElement("form"),s="",null==i||null==o||e.isCrossDomain(a)||(s+=""),s+='',r.method="post",r.action=a,r.target=l.target,r.innerHTML=s,r.style.display="none",document.body.appendChild(r),r.querySelector('[type="submit"]').click(),t(n)}}.call(this),function(){var t,n,i,o,r,s,a,l,u,c=[].slice;s=e.matches,i=e.getData,l=e.setData,n=e.fire,u=e.stopEverything,t=e.ajax,o=e.isCrossDomain,a=e.serializeElement,r=function(t){var e;return null!=(e=t.getAttribute("data-remote"))&&"false"!==e},e.handleRemote=function(d){var f,h,p,g,m,v,y;return g=this,!r(g)||(n(g,"ajax:before")?(y=g.getAttribute("data-with-credentials"),p=g.getAttribute("data-type")||"script",s(g,e.formSubmitSelector)?(f=i(g,"ujs:submit-button"),m=i(g,"ujs:submit-button-formmethod")||g.method,v=i(g,"ujs:submit-button-formaction")||g.getAttribute("action")||location.href,"GET"===m.toUpperCase()&&(v=v.replace(/\?.*$/,"")),"multipart/form-data"===g.enctype?(h=new FormData(g),null!=f&&h.append(f.name,f.value)):h=a(g,f),l(g,"ujs:submit-button",null),l(g,"ujs:submit-button-formmethod",null),l(g,"ujs:submit-button-formaction",null)):s(g,e.buttonClickSelector)||s(g,e.inputChangeSelector)?(m=g.getAttribute("data-method"),v=g.getAttribute("data-url"),h=a(g,g.getAttribute("data-params"))):(m=g.getAttribute("data-method"),v=e.href(g),h=g.getAttribute("data-params")),t({type:m||"GET",url:v,data:h,dataType:p,beforeSend:function(t,e){return n(g,"ajax:beforeSend",[t,e])?n(g,"ajax:send",[t]):(n(g,"ajax:stopped"),t.abort())},success:function(){var t;return t=1<=arguments.length?c.call(arguments,0):[],n(g,"ajax:success",t)},error:function(){var t;return t=1<=arguments.length?c.call(arguments,0):[],n(g,"ajax:error",t)},complete:function(){var t;return t=1<=arguments.length?c.call(arguments,0):[],n(g,"ajax:complete",t)},crossDomain:o(v),withCredentials:null!=y&&"false"!==y}),u(d)):(n(g,"ajax:stopped"),!1))},e.formSubmitButtonClick=function(){var t,e;if(t=this,e=t.form)return t.name&&l(e,"ujs:submit-button",{name:t.name,value:t.value}),l(e,"ujs:formnovalidate-button",t.formNoValidate),l(e,"ujs:submit-button-formaction",t.getAttribute("formaction")),l(e,"ujs:submit-button-formmethod",t.getAttribute("formmethod"))},e.handleMetaClick=function(t){var e,n,i;if(n=this,i=(n.getAttribute("data-method")||"GET").toUpperCase(),e=n.getAttribute("data-params"),(t.metaKey||t.ctrlKey)&&"GET"===i&&!e)return t.stopImmediatePropagation()}}.call(this),function(){var t,n,i,o,r,s,a,l,u,c,d,f,h,p;s=e.fire,i=e.delegate,l=e.getData,t=e.$,p=e.refreshCSRFTokens,n=e.CSRFProtection,r=e.enableElement,o=e.disableElement,c=e.handleDisabledElement,u=e.handleConfirm,h=e.handleRemote,a=e.formSubmitButtonClick,d=e.handleMetaClick,f=e.handleMethod,"undefined"==typeof jQuery||null===jQuery||null==jQuery.ajax||jQuery.rails||(jQuery.rails=e,jQuery.ajaxPrefilter(function(t,e,i){if(!t.crossDomain)return n(i)})),e.start=function(){if(window._rails_loaded)throw new Error("rails-ujs has already been loaded!");return window.addEventListener("pageshow",function(){return t(e.formEnableSelector).forEach(function(t){if(l(t,"ujs:disabled"))return r(t)}),t(e.linkDisableSelector).forEach(function(t){if(l(t,"ujs:disabled"))return r(t)})}),i(document,e.linkDisableSelector,"ajax:complete",r),i(document,e.linkDisableSelector,"ajax:stopped",r),i(document,e.buttonDisableSelector,"ajax:complete",r),i(document,e.buttonDisableSelector,"ajax:stopped",r),i(document,e.linkClickSelector,"click",c),i(document,e.linkClickSelector,"click",u),i(document,e.linkClickSelector,"click",d),i(document,e.linkClickSelector,"click",o),i(document,e.linkClickSelector,"click",h),i(document,e.linkClickSelector,"click",f),i(document,e.buttonClickSelector,"click",c),i(document,e.buttonClickSelector,"click",u),i(document,e.buttonClickSelector,"click",o),i(document,e.buttonClickSelector,"click",h),i(document,e.inputChangeSelector,"change",c),i(document,e.inputChangeSelector,"change",u),i(document,e.inputChangeSelector,"change",h),i(document,e.formSubmitSelector,"submit",c),i(document,e.formSubmitSelector,"submit",u),i(document,e.formSubmitSelector,"submit",h),i(document,e.formSubmitSelector,"submit",function(t){return setTimeout(function(){return o(t)},13)}),i(document,e.formSubmitSelector,"ajax:send",o),i(document,e.formSubmitSelector,"ajax:complete",r),i(document,e.formInputClickSelector,"click",c),i(document,e.formInputClickSelector,"click",u),i(document,e.formInputClickSelector,"click",a),document.addEventListener("DOMContentLoaded",p),window._rails_loaded=!0},window.Rails===e&&s(document,"rails:attachBindings")&&e.start()}.call(this)}).call(this),"object"==typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd&&define(e)}).call(this),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=6)}([function(t){t.exports=jQuery},function(t,e,n){"use strict";function i(){return"rtl"===a()("html").attr("dir")}function o(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")}function r(t){var e,n={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},i=document.createElement("div");for(var o in n)"undefined"!=typeof i.style[o]&&(e=n[o]);return e||(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}n.d(e,"a",function(){return i}),n.d(e,"b",function(){return o}),n.d(e,"c",function(){return r});var s=n(0),a=n.n(s)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n.n(i),r=n(3),s=n(1),a=n(4);r.a.addToJquery(o.a),r.a.rtl=s.a,r.a.GetYoDigits=s.b,r.a.transitionend=s.c,r.a.Plugin=a.a,window.Foundation=r.a},function(t,e,n){"use strict";function i(t){if(Function.prototype.name===undefined){var e=/function\s([^(]{1,})\(/,n=e.exec(t.toString());return n&&n.length>1?n[1].trim():""}return t.prototype===undefined?t.constructor.name:t.prototype.constructor.name}function o(t){return"true"===t||"false"!==t&&(isNaN(1*t)?t:parseFloat(t))}function r(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}n.d(e,"a",function(){return d});var s=n(0),a=n.n(s),l=n(1),u=n(5),c="6.4.1",d={version:c,_plugins:{},_uuids:[],plugin:function(t,e){var n=e||i(t),o=r(n);this._plugins[o]=this[n]=t},registerPlugin:function(t,e){var o=e?r(e):i(t.constructor).toLowerCase();t.uuid=n.i(l.b)(6,o),t.$element.attr("data-"+o)||t.$element.attr("data-"+o,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+o),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var e=r(i(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+e).removeData("zfPlugin").trigger("destroyed.zf."+e);for(var n in t)t[n]=null},reInit:function(t){var e=t instanceof a.a;try{if(e)t.each(function(){a()(this).data("zfPlugin")._init()});else{var n=typeof t,i=this;({object:function(t){t.forEach(function(t){t=r(t),a()("[data-"+t+"]").foundation("_init")})},string:function(){t=r(t),a()("[data-"+t+"]").foundation("_init")},undefined:function(){this.object(Object.keys(i._plugins))}})[n](t)}}catch(t){console.error(t)}finally{return t}},reflow:function(t,e){void 0===e?e=Object.keys(this._plugins):"string"==typeof e&&(e=[e]);var n=this;a.a.each(e,function(e,i){var r=n._plugins[i];a()(t).find("[data-"+i+"]").addBack("[data-"+i+"]").each(function(){var t=a()(this),e={};if(t.data("zfPlugin"))return void console.warn("Tried to initialize "+i+" on an element that already has a Foundation plugin.");t.attr("data-options")&&t.attr("data-options").split(";").forEach(function(t){var n=t.split(":").map(function(t){return t.trim()});n[0]&&(e[n[0]]=o(n[1]))});try{t.data("zfPlugin",new r(a()(this),e))}catch(t){console.error(t)}finally{return}})})},getFnName:i,addToJquery:function(t){var e=function(e){var n=typeof e,o=t(".no-js");if(o.length&&o.removeClass("no-js"),"undefined"===n)u.a._init(),d.reflow(this);else{if("string"!==n)throw new TypeError("We're sorry, "+n+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var r=Array.prototype.slice.call(arguments,1),s=this.data("zfPlugin");if(s===undefined||s[e]===undefined)throw new ReferenceError("We're sorry, '"+e+"' is not an available method for "+(s?i(s):"this element")+".");1===this.length?s[e].apply(s,r):this.each(function(n,i){s[e].apply(t(i).data("zfPlugin"),r)})}return this};return t.fn.foundation=e,t}};d.util={throttle:function(t,e){var n=null;return function(){var i=this,o=arguments;null===n&&(n=setTimeout(function(){t.apply(i,o),n=null},e))}}},window.Foundation=d,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e').appendTo(document.head);var e,n=r()(".foundation-mq").css("font-family");e=i(n);for(var o in e)e.hasOwnProperty(o)&&t.queries.push({name:o,value:"only screen and (min-width: "+e[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return!!e&&s(e).matches},is:function(t){return t=t.trim().split(" "),t.length>1&&"only"===t[1]?t[0]===this._getCurrentSize():this.atLeast(t[0])},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var n=this.queries[e];if(t===n.name)return n.value}return null},_getCurrentSize:function(){for(var t,e=0;e').appendTo(document.head);var e,n=r()(".foundation-mq").css("font-family");e=i(n);for(var o in e)e.hasOwnProperty(o)&&t.queries.push({name:o,value:"only screen and (min-width: "+e[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return!!e&&s(e).matches},is:function(t){return t=t.trim().split(" "),t.length>1&&"only"===t[1]?t[0]===this._getCurrentSize():this.atLeast(t[0])},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var n=this.queries[e];if(t===n.name)return n.value}return null},_getCurrentSize:function(){for(var t,e=0;e1&&arguments[1]!==undefined?arguments[1]:"zf";t.attr("role","menubar");var n=t.find("li").attr({role:"menuitem"}),i="is-"+e+"-submenu",r=i+"-item",s="is-"+e+"-submenu-parent",a="accordion"!==e;n.each(function(){var t=o()(this),n=t.children("ul");n.length&&(t.addClass(s),n.addClass("submenu "+i).attr({"data-submenu":""}),a&&(t.attr({"aria-haspopup":!0,"aria-label":t.children("a:first").text()}),"drilldown"===e&&t.attr({"aria-expanded":!1})),n.addClass("submenu "+i).attr({"data-submenu":"",role:"menu"}),"drilldown"===e&&n.attr({"aria-hidden":!0})),t.parent("[data-submenu]").length&&t.addClass("is-submenu-item "+r)})},Burn:function(t,e){var n="is-"+e+"-submenu",i=n+"-item",o="is-"+e+"-submenu-parent";t.find(">li, .menu, .menu > li").removeClass(n+" "+i+" "+o+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}}}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=106)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},106:function(t,e,n){t.exports=n(40)},40:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(70));i.Foundation.Timer=o.a},70:function(t,e,n){"use strict";function i(t,e,n){var i,o,r=this,s=e.duration,a=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),l=l<=0?s:l,t.data("paused",!1),i=Date.now(),o=setTimeout(function(){e.infinite&&r.restart(),n&&"function"==typeof n&&n()},l),t.trigger("timerstart.zf."+a)},this.pause=function(){this.isPaused=!0,clearTimeout(o),t.data("paused",!0);var e=Date.now();l-=e-i,t.trigger("timerpaused.zf."+a)}}n.d(e,"a",function(){return i});var o=n(0);n.n(o)}}),function(t){function e(t,e,n){var i,o,r=this,s=e.duration,a=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),l=l<=0?s:l,t.data("paused",!1),i=Date.now(),o=setTimeout(function(){e.infinite&&r.restart(),n&&"function"==typeof n&&n()},l),t.trigger("timerstart.zf."+a)},this.pause=function(){this.isPaused=!0,clearTimeout(o),t.data("paused",!0);var e=Date.now();l-=e-i,t.trigger("timerpaused.zf."+a)}}function n(e,n){function i(){0===--o&&n()}var o=e.length;0===o&&n(),e.each(function(){if(this.complete||4===this.readyState||"complete"===this.readyState)i();else{var e=t(this).attr("src");t(this).attr("src",e+(e.indexOf("?")>=0?"&":"?")+(new Date).getTime()),t(this).one("load",function(){i()})}})}Foundation.Timer=e,Foundation.onImagesLoaded=n}(jQuery),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=107)}({0:function(t){t.exports=jQuery},107:function(t,e,n){t.exports=n(41)},41:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n.n(i),r=n(71);r.a.init(o.a),window.Foundation.Touch=r.a},71:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(){this.removeEventListener("touchmove",r),this.removeEventListener("touchend",o),m=!1}function r(t){if(h.a.spotSwipe.preventDefault&&t.preventDefault(),m){var e,n=t.touches[0].pageX,i=(t.touches[0].pageY,l-n);d=(new Date).getTime()-c,Math.abs(i)>=h.a.spotSwipe.moveThreshold&&d<=h.a.spotSwipe.timeThreshold&&(e=i>0?"left":"right"),e&&(t.preventDefault(),o.call(this),h()(this).trigger("swipe",e).trigger("swipe"+e))}}function s(t){1==t.touches.length&&(l=t.touches[0].pageX,u=t.touches[0].pageY,m=!0,c=(new Date).getTime(),this.addEventListener("touchmove",r,!1),this.addEventListener("touchend",o,!1))}function a(){this.addEventListener&&this.addEventListener("touchstart",s,!1)}n.d(e,"a",function(){return g});var l,u,c,d,f=n(0),h=n.n(f),p=function(){function t(t,e){for(var n=0;n1&&arguments[1]!==undefined?arguments[1]:{};this.$element=t,this.options=a.a.extend({},e.defaults,this.$element.data(),n),this.className="Abide",this._init()}},{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var t=this;this.$element.off(".abide").on("reset.zf.abide",function(){t.resetForm()}).on("submit.zf.abide",function(){return t.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(e){t.validateInput(a()(e.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(e){t.validateInput(a()(e.target))}),this.options.validateOnBlur&&this.$inputs.off("blur.zf.abide").on("blur.zf.abide",function(e){t.validateInput(a()(e.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var n=t.find("option:selected");n.length&&n.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t[0].id,n=t.siblings(this.options.formErrorSelector);return n.length||(n=t.parent().find(this.options.formErrorSelector)),n=n.add(this.$element.find('[data-form-error-for="'+e+'"]'))}},{key:"findLabel",value:function(t){var e=t[0].id,n=this.$element.find('label[for="'+e+'"]');return n.length?n:t.closest("label")}},{key:"findRadioLabels",value:function(t){var e=this,n=t.map(function(t,n){var i=n.id,o=e.$element.find('label[for="'+i+'"]');return o.length||(o=a()(n).closest("label")),o[0]});return a()(n)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),n=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),n.length&&n.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),n=this.findRadioLabels(e),i=this.findFormError(e);n.length&&n.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),n=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this.requiredCheck(t),n=!1,i=!0,o=t.attr("data-validator"),r=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]')||t.is("[disabled]"))return!0;switch(t[0].type){case"radio":n=this.validateRadio(t.attr("name"));break;case"checkbox":n=e;break;case"select":case"select-one":case"select-multiple":n=e;break;default:n=this.validateText(t)}o&&(i=this.matchValidation(t,o,t.attr("required"))),t.attr("data-equalto")&&(r=this.options.validators.equalTo(t));var s=-1===[e,n,i,r].indexOf(!1),l=(s?"valid":"invalid")+".zf.abide";if(s){var u=this.$element.find('[data-equalto="'+t.attr("id")+'"]');if(u.length){var c=this;u.each(function(){a()(this).val()&&c.validateInput(a()(this))})}}return this[s?"removeErrorClasses":"addErrorClasses"](t),t.trigger(l,[t]),s}},{key:"validateForm",value:function(){var t=[],e=this;this.$inputs.each(function(){t.push(e.validateInput(a()(this)))});var n=-1===t.indexOf(!1);return this.$element.find("[data-abide-error]").css("display",n?"none":"block"),this.$element.trigger((n?"formvalid":"forminvalid")+".zf.abide",[this.$element]),n}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var n=t.val(),i=!1;return n.length?i=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(n):e===t.attr("type")||new RegExp(e).test(n):t.prop("required")||(i=!0),i}},{key:"validateRadio",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),n=!1,i=!1;return e.each(function(t,e){a()(e).attr("required")&&(i=!0)}),i||(n=!0),n||e.each(function(t,e){a()(e).prop("checked")&&(n=!0)}),n}},{key:"matchValidation",value:function(t,e,n){var i=this;return n=!!n,-1===e.split(" ").map(function(e){return i.options.validators[e](t,n,t.parent())}).indexOf(!1)}},{key:"resetForm",value:function(){var t=this.$element,e=this.options;a()("."+e.labelErrorClass,t).not("small").removeClass(e.labelErrorClass),a()("."+e.inputErrorClass,t).not("small").removeClass(e.inputErrorClass),a()(e.formErrorSelector+"."+e.formErrorClass).removeClass(e.formErrorClass),t.find("[data-abide-error]").css("display","none"),a()(":input",t).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),a()(":input:radio",t).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),a()(":input:checkbox",t).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t.trigger("formreset.zf.abide",[t])}},{key:"_destroy",value:function(){var t=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){t.removeErrorClasses(a()(this))})}}]),e}(l.Plugin);c.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",liveValidate:!1,validateOnBlur:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,website:{test:function(t){return c.defaults.patterns.domain.test(t)||c.defaults.patterns.url.test(t)}}},validators:{equalTo:function(t){return a()("#"+t.attr("data-equalto")).val()===t.val()}}}},79:function(t,e,n){t.exports=n(13)}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=80)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},14:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(44));i.Foundation.plugin(o.a,"Accordion")},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},3:function(t){t.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend}},44:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return f});var s=n(0),a=n.n(s),l=n(5),u=(n.n(l),n(3)),c=(n.n(u),n(2)),d=(n.n(c),function(){function t(t,e){for(var n=0;n'+t.options.submenuToggleText+"")):i.attr({"aria-controls":r,"aria-expanded":s,id:e}),o.attr({"aria-labelledby":e,"aria-hidden":!s,role:"group",id:r})}),this.$element.find("li").attr({role:"treeitem"});var e=this.$element.find(".is-active");if(e.length){var t=this;e.each(function(){t.down(a()(this))})}this._events()}},{key:"_events",value:function(){var t=this;this.$element.find("li").each(function(){var e=a()(this).children("[data-submenu]");e.length&&(t.options.submenuToggle?a()(this).children(".submenu-toggle").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(){t.toggle(e)}):a()(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(n){n.preventDefault(),t.toggle(e)}))}).on("keydown.zf.accordionmenu",function(e){var n,i,o=a()(this),r=o.parent("ul").children("li"),s=o.children("[data-submenu]");r.each(function(t){if(a()(this).is(o))return n=r.eq(Math.max(0,t-1)).find("a").first(),i=r.eq(Math.min(t+1,r.length-1)).find("a").first(),a()(this).children("[data-submenu]:visible").length&&(i=o.find("li:first-child").find("a").first()),a()(this).is(":first-child")?n=o.parents("li").first().find("a").first():n.parents("li").first().children("[data-submenu]:visible").length&&(n=n.parents("li").find("li:last-child").find("a").first()),void(a()(this).is(":last-child")&&(i=o.parents("li").first().next("li").find("a").first()))}),l.Keyboard.handleKey(e,"AccordionMenu",{open:function(){s.is(":hidden")&&(t.down(s),s.find("li").first().find("a").first().focus())},close:function(){s.length&&!s.is(":hidden")?t.up(s):o.parent("[data-submenu]").length&&(t.up(o.parent("[data-submenu]")),o.parents("li").first().find("a").first().focus())},up:function(){return n.focus(),!0},down:function(){return i.focus(),!0},toggle:function(){return!t.options.submenuToggle&&(o.children("[data-submenu]").length?(t.toggle(o.children("[data-submenu]")),!0):void 0)},closeAll:function(){t.hideAll()},handled:function(t){t&&e.preventDefault(),e.stopImmediatePropagation()}})})}},{key:"hideAll",value:function(){this.up(this.$element.find("[data-submenu]"))}},{key:"showAll",value:function(){this.down(this.$element.find("[data-submenu]"))}},{key:"toggle",value:function(t){t.is(":animated")||(t.is(":hidden")?this.down(t):this.up(t))}},{key:"down",value:function(t){var e=this;this.options.multiOpen||this.up(this.$element.find(".is-active").not(t.parentsUntil(this.$element).add(t))),t.addClass("is-active").attr({"aria-hidden":!1}),this.options.submenuToggle?t.prev(".submenu-toggle").attr({"aria-expanded":!0}):t.parent(".is-accordion-submenu-parent").attr({"aria-expanded":!0}),t.slideDown(e.options.slideSpeed,function(){e.$element.trigger("down.zf.accordionMenu",[t])})}},{key:"up",value:function(t){var e=this;t.slideUp(e.options.slideSpeed,function(){e.$element.trigger("up.zf.accordionMenu",[t])});var n=t.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden",!0);this.options.submenuToggle?n.prev(".submenu-toggle").attr("aria-expanded",!1):n.parent(".is-accordion-submenu-parent").attr("aria-expanded",!1)}},{key:"_destroy",value:function(){this.$element.find("[data-submenu]").slideDown(0).css("display",""),this.$element.find("a").off("click.zf.accordionMenu"),this.options.submenuToggle&&(this.$element.find(".has-submenu-toggle").removeClass("has-submenu-toggle"),this.$element.find(".submenu-toggle").remove()),u.Nest.Burn(this.$element,"accordion")}}]),e}(d.Plugin);h.defaults={slideSpeed:250,submenuToggle:!1,submenuToggleText:"Toggle menu",multiOpen:!0}},5:function(t){t.exports={Keyboard:window.Foundation.Keyboard}},81:function(t,e,n){t.exports=n(15)},9:function(t){t.exports={Nest:window.Foundation.Nest}}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=82)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},16:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(46));i.Foundation.plugin(o.a,"Drilldown")},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},3:function(t){t.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend}},46:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return p});var s=n(0),a=n.n(s),l=n(5),u=(n.n(l),n(9)),c=(n.n(u),n(3)),d=(n.n(c),n(8)),f=(n.n(d),n(2)),h=(n.n(f),function(){function t(t,e){for(var n=0;n'),e.data("savedHref",e.attr("href")).removeAttr("href").attr("tabindex",0),e.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"group"}),t._events(e)}),this.$submenus.each(function(){var e=a()(this);if(!e.find(".js-drilldown-back").length)switch(t.options.backButtonPosition){case"bottom":e.append(t.options.backButton);break;case"top":e.prepend(t.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+t.options.backButtonPosition+"'")}t._back(e)}),this.$submenus.addClass("invisible"),this.options.autoHeight||this.$submenus.addClass("drilldown-submenu-cover-previous"),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=a()(this.options.wrapper).addClass("is-drilldown"),this.options.animateHeight&&this.$wrapper.addClass("animate-height"),this.$element.wrap(this.$wrapper)),this.$wrapper=this.$element.parent(),this.$wrapper.css(this._getMaxDims())}},{key:"_resize",value:function(){this.$wrapper.css({"max-width":"none","min-height":"none"}),this.$wrapper.css(this._getMaxDims())}},{key:"_events",value:function(t){var e=this;t.off("click.zf.drilldown").on("click.zf.drilldown",function(n){if(a()(n.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&(n.stopImmediatePropagation(),n.preventDefault()),e._show(t.parent("li")),e.options.closeOnClick){var i=a()("body");i.off(".zf.drilldown").on("click.zf.drilldown",function(t){t.target===e.$element[0]||a.a.contains(e.$element[0],t.target)||(t.preventDefault(),e._hideAll(),i.off(".zf.drilldown"))})}})}},{key:"_registerEvents",value:function(){this.options.scrollTop&&(this._bindHandler=this._scrollTop.bind(this),this.$element.on("open.zf.drilldown hide.zf.drilldown closed.zf.drilldown",this._bindHandler)),this.$element.on("mutateme.zf.trigger",this._resize.bind(this))}},{key:"_scrollTop",value:function(){var t=this,e=""!=t.options.scrollTopElement?a()(t.options.scrollTopElement):t.$element,n=parseInt(e.offset().top+t.options.scrollTopOffset,10);a()("html, body").stop(!0).animate({scrollTop:n},t.options.animationDuration,t.options.animationEasing,function(){this===a()("html")[0]&&t.$element.trigger("scrollme.zf.drilldown")})}},{key:"_keyboardEvents",value:function(){var t=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown",function(e){var i,o,r=a()(this),s=r.parent("li").parent("ul").children("li").children("a");s.each(function(t){if(a()(this).is(r))return i=s.eq(Math.max(0,t-1)),void(o=s.eq(Math.min(t+1,s.length-1)))}),l.Keyboard.handleKey(e,"Drilldown",{next:function(){if(r.is(t.$submenuAnchors))return t._show(r.parent("li")),r.parent("li").one(n.i(c.transitionend)(r),function(){r.parent("li").find("ul li a").filter(t.$menuItems).first().focus()}),!0},previous:function(){return t._hide(r.parent("li").parent("ul")),r.parent("li").parent("ul").one(n.i(c.transitionend)(r),function(){setTimeout(function(){r.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return i.focus(),!r.is(t.$element.find("> li:first-child > a"))},down:function(){return o.focus(),!r.is(t.$element.find("> li:last-child > a"))},close:function(){r.is(t.$element.find("> li > a"))||(t._hide(r.parent().parent()),r.parent().parent().siblings("a").focus())},open:function(){return r.is(t.$menuItems)?r.is(t.$submenuAnchors)?(t._show(r.parent("li")),r.parent("li").one(n.i(c.transitionend)(r),function(){r.parent("li").find("ul li a").filter(t.$menuItems).first().focus()}),!0):void 0:(t._hide(r.parent("li").parent("ul")),r.parent("li").parent("ul").one(n.i(c.transitionend)(r),function(){setTimeout(function(){r.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0)},handled:function(t){t&&e.preventDefault(),e.stopImmediatePropagation()}})})}},{key:"_hideAll",value:function(){var t=this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")}),t.one(n.i(c.transitionend)(t),function(){t.removeClass("is-active is-closing")}),this.$element.trigger("closed.zf.drilldown")}},{key:"_back",value:function(t){var e=this;t.off("click.zf.drilldown"),t.children(".js-drilldown-back").on("click.zf.drilldown",function(n){n.stopImmediatePropagation(),e._hide(t);var i=t.parent("li").parent("ul").parent("li");i.length&&e._show(i)})}},{key:"_menuLinkEvents",value:function(){var t=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(){setTimeout(function(){t._hideAll()},0)})}},{key:"_show",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.children("[data-submenu]").data("calcHeight")}),t.attr("aria-expanded",!0),t.children("[data-submenu]").addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),this.$element.trigger("open.zf.drilldown",[t])}},{key:"_hide",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")});t.parent("li").attr("aria-expanded",!1),t.attr("aria-hidden",!0).addClass("is-closing"),t.addClass("is-closing").one(n.i(c.transitionend)(t),function(){t.removeClass("is-active is-closing"),t.blur().addClass("invisible")}),t.trigger("hide.zf.drilldown",[t])}},{key:"_getMaxDims",value:function(){var t=0,e={},n=this;return this.$submenus.add(this.$element).each(function(){var i=(a()(this).children("li").length,d.Box.GetDimensions(this).height);t=i>t?i:t,n.options.autoHeight&&(a()(this).data("calcHeight",i),a()(this).hasClass("is-drilldown-submenu")||(e.height=i))}),this.options.autoHeight||(e["min-height"]=t+"px"),e["max-width"]=this.$element[0].getBoundingClientRect().width+"px",e}},{key:"_destroy",value:function(){this.options.scrollTop&&this.$element.off(".zf.drilldown",this._bindHandler),this._hideAll(),this.$element.off("mutateme.zf.trigger"),u.Nest.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){a()(this).off(".zf.drilldown")}),this.$submenus.removeClass("drilldown-submenu-cover-previous invisible"),this.$element.find("a").each(function(){var t=a()(this);t.removeAttr("tabindex"),t.data("savedHref")&&t.attr("href",t.data("savedHref")).removeData("savedHref")})}}]),e}(f.Plugin);p.defaults={autoApplyClass:!0,backButton:'
  • Back
  • ',backButtonPosition:"top",wrapper:"
    ",parentLink:!1,closeOnClick:!1,autoHeight:!1,animateHeight:!1,scrollTop:!1,scrollTopElement:"",scrollTopOffset:0,animationDuration:500,animationEasing:"swing"}},5:function(t){t.exports={Keyboard:window.Foundation.Keyboard}},8:function(t){t.exports={Box:window.Foundation.Box}},82:function(t,e,n){t.exports=n(16)},9:function(t){t.exports={Nest:window.Foundation.Nest}}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=83)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},11:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){var n=e.indexOf(t);return n===e.length-1?e[0]:e[n+1]}n.d(e,"a",function(){return g});var a=n(8),l=(n.n(a),n(2)),u=(n.n(l),n(3)),c=(n.n(u),function(){function t(t,e){for(var n=0;n-1,s=r?t.$tabs:o.siblings("li").add(o);s.each(function(t){if(a()(this).is(o))return n=s.eq(t-1),void(i=s.eq(t+1))});var u=function(){o.is(":last-child")||(i.children("a:first").focus(),e.preventDefault())},c=function(){n.children("a:first").focus(),e.preventDefault()},d=function(){var n=o.children("ul.is-dropdown-submenu");n.length&&(t._show(n),o.find("li > a:first").focus(),e.preventDefault())},f=function(){var n=o.parent("ul").parent("li");n.children("a:first").focus(),t._hide(n),e.preventDefault()},h={open:d,close:function(){t._hide(t.$element),t.$menuItems.eq(0).children("a").focus(),e.preventDefault()},handled:function(){e.stopImmediatePropagation()}};r?t._isVertical()?t._isRtl()?a.a.extend(h,{down:u,up:c,next:f,previous:d}):a.a.extend(h,{down:u,up:c,next:d,previous:f}):t._isRtl()?a.a.extend(h,{next:c,previous:u,down:d,up:f}):a.a.extend(h,{next:u,previous:c,down:d,up:f}):t._isRtl()?a.a.extend(h,{next:f,previous:d,down:u,up:c}):a.a.extend(h,{next:d,previous:f,down:u,up:c}),l.Keyboard.handleKey(e,"DropdownMenu",h)})}},{key:"_addBodyHandler",value:function(){var t=a()(document.body),e=this;t.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu",function(n){e.$element.find(n.target).length||(e._hide(),t.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu"))})}},{key:"_show",value:function(t){var e=this.$tabs.index(this.$tabs.filter(function(e,n){return a()(n).find(t).length>0})),n=t.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent");this._hide(n,e),t.css("visibility","hidden").addClass("js-dropdown-active").parent("li.is-dropdown-submenu-parent").addClass("is-active");var i=c.Box.ImNotTouchingYou(t,null,!0);if(!i){var o="left"===this.options.alignment?"-right":"-left",r=t.parent(".is-dropdown-submenu-parent");r.removeClass("opens"+o).addClass("opens-"+this.options.alignment),i=c.Box.ImNotTouchingYou(t,null,!0),i||r.removeClass("opens-"+this.options.alignment).addClass("opens-inner"),this.changed=!0}t.css("visibility",""),this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdownmenu",[t])}},{key:"_hide",value:function(t,e){var n;if(n=t&&t.length?t:e!==undefined?this.$tabs.not(function(t){return t===e}):this.$element,n.hasClass("is-active")||n.find(".is-active").length>0){if(n.find("li.is-active").add(n).attr({"data-is-click":!1}).removeClass("is-active"),n.find("ul.js-dropdown-active").removeClass("js-dropdown-active"),this.changed||n.find("opens-inner").length){var i="left"===this.options.alignment?"right":"left";n.find("li.is-dropdown-submenu-parent").add(n).removeClass("opens-inner opens-"+this.options.alignment).addClass("opens-"+i),this.changed=!1}this.$element.trigger("hide.zf.dropdownmenu",[n])}}},{key:"_destroy",value:function(){this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"),a()(document.body).off(".zf.dropdownmenu"),u.Nest.Burn(this.$element,"dropdown")}}]),e}(f.Plugin);p.defaults={disableHover:!1,autoclose:!0,hoverDelay:50,clickOpen:!1,closingTime:500,alignment:"auto",closeOnClick:!0,closeOnClickInside:!0,verticalClass:"vertical",rightClass:"align-right",forceFollow:!0}},5:function(t){t.exports={Keyboard:window.Foundation.Keyboard}},8:function(t){t.exports={Box:window.Foundation.Box}},84:function(t,e,n){t.exports=n(18)},9:function(t){t.exports={Nest:window.Foundation.Nest}}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=85)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},10:function(t){t.exports={onImagesLoaded:window.Foundation.onImagesLoaded}},19:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(49));i.Foundation.plugin(o.a,"Equalizer")},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},3:function(t){t.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend}},49:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return h});var s=n(0),a=n.n(s),l=n(6),u=(n.n(l),n(10)),c=(n.n(u),n(3)),d=(n.n(c),n(2)),f=(n.n(d),function(){function t(t,e){for(var n=0;n0,this.isNested=this.$element.parentsUntil(document.body,"[data-equalizer]").length>0,this.isOn=!1,this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var i,o=this.$element.find("img");this.options.equalizeOn?(i=this._checkMQ(),a()(window).on("changed.zf.mediaquery",this._checkMQ.bind(this))):this._events(),(i!==undefined&&!1===i||i===undefined)&&(o.length?n.i(u.onImagesLoaded)(o,this._reflow.bind(this)):this._reflow())}},{key:"_pauseEvents",value:function(){this.isOn=!1,this.$element.off({".zf.equalizer":this._bindHandler.onPostEqualizedBound,"resizeme.zf.trigger":this._bindHandler.onResizeMeBound,"mutateme.zf.trigger":this._bindHandler.onResizeMeBound})}},{key:"_onResizeMe",value:function(){this._reflow()}},{key:"_onPostEqualized",value:function(t){t.target!==this.$element[0]&&this._reflow()}},{key:"_events",value:function(){this._pauseEvents(),this.hasNested?this.$element.on("postequalized.zf.equalizer",this._bindHandler.onPostEqualizedBound):(this.$element.on("resizeme.zf.trigger",this._bindHandler.onResizeMeBound),this.$element.on("mutateme.zf.trigger",this._bindHandler.onResizeMeBound)),this.isOn=!0}},{key:"_checkMQ",value:function(){var t=!l.MediaQuery.is(this.options.equalizeOn);return t?this.isOn&&(this._pauseEvents(),this.$watched.css("height","auto")):this.isOn||this._events(),t}},{key:"_killswitch",value:function(){}},{key:"_reflow",value:function(){if(!this.options.equalizeOnStack&&this._isStacked())return this.$watched.css("height","auto"),!1;this.options.equalizeByRow?this.getHeightsByRow(this.applyHeightByRow.bind(this)):this.getHeights(this.applyHeight.bind(this))}},{key:"_isStacked",value:function(){return!this.$watched[0]||!this.$watched[1]||this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top}},{key:"getHeights",value:function(t){for(var e=[],n=0,i=this.$watched.length;n0,e.allowDown=e.scrollTop1&&this.geoSync(),this.options.accessible&&this.$wrapper.attr("tabindex",0)}},{key:"_loadBullets",value:function(){this.$bullets=this.$element.find("."+this.options.boxOfBullets).find("button")}},{key:"geoSync",value:function(){var t=this;this.timer=new c.Timer(this.$element,{duration:this.options.timerDelay,infinite:!1},function(){t.changeSlide(!0)}),this.timer.start()}},{key:"_prepareForOrbit",value:function(){this._setWrapperHeight()}},{key:"_setWrapperHeight",value:function(t){var e,n=0,i=0,o=this;this.$slides.each(function(){e=this.getBoundingClientRect().height,a()(this).attr("data-slide",i),o.$slides.filter(".is-active")[0]!==o.$slides.eq(i)[0]&&a()(this).css({position:"relative",display:"none"}),n=e>n?e:n,i++}),i===this.$slides.length&&(this.$wrapper.css({height:n}),t&&t(n))}},{key:"_setSlideHeight",value:function(t){this.$slides.each(function(){a()(this).css("max-height",t)})}},{key:"_events",value:function(){var t=this;if(this.$element.off(".resizeme.zf.trigger").on({"resizeme.zf.trigger":this._prepareForOrbit.bind(this)}),this.$slides.length>1){if(this.options.swipe&&this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!0)}).on("swiperight.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!1)}),this.options.autoPlay&&(this.$slides.on("click.zf.orbit",function(){t.$element.data("clickedOn",!t.$element.data("clickedOn")),t.timer[t.$element.data("clickedOn")?"pause":"start"]()}),this.options.pauseOnHover&&this.$element.on("mouseenter.zf.orbit",function(){t.timer.pause()}).on("mouseleave.zf.orbit",function(){t.$element.data("clickedOn")||t.timer.start()})),this.options.navButtons){this.$element.find("."+this.options.nextClass+", ."+this.options.prevClass).attr("tabindex",0).on("click.zf.orbit touchend.zf.orbit",function(e){e.preventDefault(),t.changeSlide(a()(this).hasClass(t.options.nextClass))})}this.options.bullets&&this.$bullets.on("click.zf.orbit touchend.zf.orbit",function(){if(/is-active/g.test(this.className))return!1;var e=a()(this).data("slide"),n=e>t.$slides.filter(".is-active").data("slide"),i=t.$slides.eq(e);t.changeSlide(n,i,e)}),this.options.accessible&&this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(e){l.Keyboard.handleKey(e,"Orbit",{next:function(){t.changeSlide(!0)},previous:function(){t.changeSlide(!1)},handled:function(){a()(e.target).is(t.$bullets)&&t.$bullets.filter(".is-active").focus()}})})}}},{key:"_reset",value:function(){"undefined"!=typeof this.$slides&&this.$slides.length>1&&(this.$element.off(".zf.orbit").find("*").off(".zf.orbit"),this.options.autoPlay&&this.timer.restart(),this.$slides.each(function(t){a()(t).removeClass("is-active is-active is-in").removeAttr("aria-live").hide()}),this.$slides.first().addClass("is-active").show(),this.$element.trigger("slidechange.zf.orbit",[this.$slides.first()]),this.options.bullets&&this._updateBullets(0))}},{key:"changeSlide",value:function(t,e,n){if(this.$slides){var i=this.$slides.filter(".is-active").eq(0);if(/mui/g.test(i[0].className))return!1;var o,r=this.$slides.first(),s=this.$slides.last(),a=t?"Right":"Left",l=t?"Left":"Right",c=this;o=e||(t?this.options.infiniteWrap?i.next("."+this.options.slideClass).length?i.next("."+this.options.slideClass):r:i.next("."+this.options.slideClass):this.options.infiniteWrap?i.prev("."+this.options.slideClass).length?i.prev("."+this.options.slideClass):s:i.prev("."+this.options.slideClass)),o.length&&(this.$element.trigger("beforeslidechange.zf.orbit",[i,o]),this.options.bullets&&(n=n||this.$slides.index(o),this._updateBullets(n)),this.options.useMUI&&!this.$element.is(":hidden")?(u.Motion.animateIn(o.addClass("is-active").css({position:"absolute",top:0}),this.options["animInFrom"+a],function(){o.css({position:"relative",display:"block"}).attr("aria-live","polite")}),u.Motion.animateOut(i.removeClass("is-active"),this.options["animOutTo"+l],function(){i.removeAttr("aria-live"),c.options.autoPlay&&!c.timer.isPaused&&c.timer.restart()})):(i.removeClass("is-active is-in").removeAttr("aria-live").hide(),o.addClass("is-active is-in").attr("aria-live","polite").show(),this.options.autoPlay&&!this.timer.isPaused&&this.timer.restart()),this.$element.trigger("slidechange.zf.orbit",[o]))}}},{key:"_updateBullets",value:function(t){var e=this.$element.find("."+this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(),n=e.find("span:last").detach();this.$bullets.eq(t).addClass("is-active").append(n)}},{key:"_destroy",value:function(){this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide()}}]),e}(h.Plugin);m.defaults={bullets:!0,navButtons:!0,animInFromRight:"slide-in-right",animOutToRight:"slide-out-right",animInFromLeft:"slide-in-left",animOutToLeft:"slide-out-left",autoPlay:!0,timerDelay:5e3,infiniteWrap:!0,swipe:!0,pauseOnHover:!0,accessible:!0,containerClass:"orbit-container",slideClass:"orbit-slide",boxOfBullets:"orbit-bullets",nextClass:"orbit-next",prevClass:"orbit-previous",useMUI:!0}},78:function(t){t.exports={Timer:window.Foundation.Timer}},89:function(t,e,n){t.exports=n(23)}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=90)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},24:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(54));i.Foundation.plugin(o.a,"ResponsiveAccordionTabs")},3:function(t){t.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend}},54:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return g});var s=n(0),a=n.n(s),l=n(6),u=(n.n(l),n(3)),c=(n.n(u),n(2)),d=(n.n(c),n(72)),f=(n.n(d),n(77)),h=(n.n(f),function(){function t(t,e){for(var n=0;n1?i[0]:"small",r=i.length>1?i[1]:i[0];null!==p[r]&&(t[o]=p[r])}this.rules=t}this._getAllOptions(),a.a.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_getAllOptions",value:function(){var t=this;t.allOptions={};for(var e in p)if(p.hasOwnProperty(e)){var n=p[e];try{var i=a()("
      "),o=new n.plugin(i,t.options);for(var r in o.options)if(o.options.hasOwnProperty(r)&&"zfPlugin"!==r){var s=o.options[r];t.allOptions[r]=s}o.destroy()}catch(t){}}}},{key:"_events",value:function(){var t=this;a()(window).on("changed.zf.mediaquery",function(){t._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var t,e=this;a.a.each(this.rules,function(e){l.MediaQuery.atLeast(e)&&(t=e)}),t&&(this.currentPlugin instanceof this.rules[t].plugin||(a.a.each(p,function(t,n){e.$element.removeClass(n.cssClass)}),this.$element.addClass(this.rules[t].cssClass),this.currentPlugin&&(!this.currentPlugin.$element.data("zfPlugin")&&this.storezfData&&this.currentPlugin.$element.data("zfPlugin",this.storezfData),this.currentPlugin.destroy()),this._handleMarkup(this.rules[t].cssClass),this.currentPlugin=new this.rules[t].plugin(this.$element,{}),this.storezfData=this.currentPlugin.$element.data("zfPlugin")))}},{key:"_handleMarkup",value:function(t){var e=this,i="accordion",o=a()("[data-tabs-content="+this.$element.attr("id")+"]");if(o.length&&(i="tabs"),i!==t){var r=e.allOptions.linkClass?e.allOptions.linkClass:"tabs-title",s=e.allOptions.panelClass?e.allOptions.panelClass:"tabs-panel";this.$element.removeAttr("role");var l=this.$element.children("."+r+",[data-accordion-item]").removeClass(r).removeClass("accordion-item").removeAttr("data-accordion-item"),c=l.children("a").removeClass("accordion-title");if("tabs"===i?(o=o.children("."+s).removeClass(s).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby"),o.children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected")):o=l.children("[data-tab-content]").removeClass("accordion-content"),o.css({display:"",visibility:""}),l.css({display:"",visibility:""}),"accordion"===t)o.each(function(t,n){a()(n).appendTo(l.get(t)).addClass("accordion-content").attr("data-tab-content","").removeClass("is-active").css({height:""}),a()("[data-tabs-content="+e.$element.attr("id")+"]").after('
      ').detach(),l.addClass("accordion-item").attr("data-accordion-item",""),c.addClass("accordion-title")});else if("tabs"===t){var d=a()("[data-tabs-content="+e.$element.attr("id")+"]"),f=a()("#tabs-placeholder-"+e.$element.attr("id"));f.length?(d=a()('
      ').insertAfter(f).attr("data-tabs-content",e.$element.attr("id")),f.remove()):d=a()('
      ').insertAfter(e.$element).attr("data-tabs-content",e.$element.attr("id")),o.each(function(t,e){var i=a()(e).appendTo(d).addClass(s),o=c.get(t).hash.slice(1),r=a()(e).attr("id")||n.i(u.GetYoDigits)(6,"accordion");o!==r&&(""!==o?a()(e).attr("id",o):(o=r,a()(e).attr("id",o),a()(c.get(t)).attr("href",a()(c.get(t)).attr("href").replace("#","")+"#"+o))),a()(l.get(t)).hasClass("is-active")&&i.addClass("is-active")}),l.addClass(r)}}}},{key:"_destroy",value:function(){this.currentPlugin&&this.currentPlugin.destroy(),a()(window).off(".zf.ResponsiveAccordionTabs")}}]),e}(c.Plugin);g.defaults={}},6:function(t){t.exports={MediaQuery:window.Foundation.MediaQuery}},72:function(t){t.exports={Accordion:window.Foundation.Accordion}},77:function(t){t.exports={Tabs:window.Foundation.Tabs}},90:function(t,e,n){t.exports=n(24)}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=91)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},25:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(55));i.Foundation.plugin(o.a,"ResponsiveMenu")},3:function(t){t.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend}},55:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return m});var s=n(0),a=n.n(s),l=n(6),u=(n.n(l),n(3)),c=(n.n(u),n(2)),d=(n.n(c),n(75)),f=(n.n(d),n(74)),h=(n.n(f),n(73)),p=(n.n(h),function(){function t(t,e){for(var n=0;n1?o[0]:"small",s=o.length>1?o[1]:o[0];null!==g[s]&&(t[r]=g[s])}this.rules=t}a.a.isEmptyObject(this.rules)||this._checkMediaQueries(),this.$element.attr("data-mutate",this.$element.attr("data-mutate")||n.i(u.GetYoDigits)(6,"responsive-menu"))}},{key:"_events",value:function(){var t=this;a()(window).on("changed.zf.mediaquery",function(){t._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var t,e=this;a.a.each(this.rules,function(e){l.MediaQuery.atLeast(e)&&(t=e)}),t&&(this.currentPlugin instanceof this.rules[t].plugin||(a.a.each(g,function(t,n){e.$element.removeClass(n.cssClass)}),this.$element.addClass(this.rules[t].cssClass),this.currentPlugin&&this.currentPlugin.destroy(),this.currentPlugin=new this.rules[t].plugin(this.$element,{})))}},{key:"_destroy",value:function(){this.currentPlugin.destroy(),a()(window).off(".zf.ResponsiveMenu")}}]),e}(c.Plugin);m.defaults={}},6:function(t){t.exports={MediaQuery:window.Foundation.MediaQuery}},73:function(t){t.exports={AccordionMenu:window.Foundation.AccordionMenu}},74:function(t){t.exports={Drilldown:window.Foundation.Drilldown}},75:function(t){t.exports={DropdownMenu:window.Foundation.DropdownMenu}},91:function(t,e,n){t.exports=n(25)}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=92)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},26:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(56));i.Foundation.plugin(o.a,"ResponsiveToggle")},4:function(t){t.exports={Motion:window.Foundation.Motion,Move:window.Foundation.Move}},56:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return f});var s=n(0),a=n.n(s),l=n(6),u=(n.n(l),n(4)),c=(n.n(u),n(2)),d=(n.n(c),function(){function t(t,e){for(var n=0;n
      ").addClass("reveal-overlay"+t).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var t,e,n=this.$element.outerWidth(),i=c()(window).width(),o=this.$element.outerHeight(),r=c()(window).height();t="auto"===this.options.hOffset?parseInt((i-n)/2,10):parseInt(this.options.hOffset,10),e="auto"===this.options.vOffset?o>r?parseInt(Math.min(100,r/10),10):parseInt((r-o)/4,10):parseInt(this.options.vOffset,10),this.$element.css({top:e+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:t+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var t=this,e=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(n,i){if(n.target===e.$element[0]||c()(n.target).parents("[data-closable]")[0]===i)return t.close.apply(t)},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){e._updatePosition()}}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.reveal",function(t){t.target!==e.$element[0]&&!c.a.contains(e.$element[0],t.target)&&c.a.contains(document,t.target)&&e.close()}),this.options.deepLink&&c()(window).on("popstate.zf.reveal:"+this.id,this._handleState.bind(this))}},{key:"_handleState",value:function(){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"open",value:function(){function t(){i.isMobile?(i.originalScrollPos||(i.originalScrollPos=window.pageYOffset),c()("html, body").addClass("is-reveal-open")):c()("body").addClass("is-reveal-open")}var e=this;if(this.options.deepLink){var n="#"+this.id;window.history.pushState?this.options.updateHistory?window.history.pushState({},"",n):window.history.replaceState({},"",n):window.location.hash=n}this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id);var i=this;if(this.options.animationIn){var o=function(){i.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),t(),d.Keyboard.trapFocus(i.$element)};this.options.overlay&&h.Motion.animateIn(this.$overlay,"fade-in"),h.Motion.animateIn(this.$element,this.options.animationIn,function(){e.$element&&(e.focusableElements=d.Keyboard.findFocusable(e.$element),o())})}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay) +;this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),d.Keyboard.trapFocus(this.$element),t(),this._extraHandlers(),this.$element.trigger("open.zf.reveal")}},{key:"_extraHandlers",value:function(){var t=this;this.$element&&(this.focusableElements=d.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||c()("body").on("click.zf.reveal",function(e){e.target!==t.$element[0]&&!c.a.contains(t.$element[0],e.target)&&c.a.contains(document,e.target)&&t.close()}),this.options.closeOnEsc&&c()(window).on("keydown.zf.reveal",function(e){d.Keyboard.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&t.close()}})}))}},{key:"close",value:function(){function t(){e.isMobile?(0===c()(".reveal:visible").length&&c()("html, body").removeClass("is-reveal-open"),e.originalScrollPos&&(c()("body").scrollTop(e.originalScrollPos),e.originalScrollPos=null)):0===c()(".reveal:visible").length&&c()("body").removeClass("is-reveal-open"),d.Keyboard.releaseFocus(e.$element),e.$element.attr("aria-hidden",!0),e.$element.trigger("closed.zf.reveal")}if(!this.isActive||!this.$element.is(":visible"))return!1;var e=this;this.options.animationOut?(this.options.overlay&&h.Motion.animateOut(this.$overlay,"fade-out"),h.Motion.animateOut(this.$element,this.options.animationOut,t)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,t):t()),this.options.closeOnEsc&&c()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&c()("body").off("click.zf.reveal"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,e.options.deepLink&&(window.history.replaceState?window.history.replaceState("",document.title,window.location.href.replace("#"+this.id,"")):window.location.hash=""),this.$anchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(c()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),c()(window).off(".zf.reveal:"+this.id)}}]),e}(p.Plugin);v.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,btmOffsetPct:10,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},6:function(t){t.exports={MediaQuery:window.Foundation.MediaQuery}},7:function(t,e,n){"use strict";function i(t,e,n){var i=void 0,o=Array.prototype.slice.call(arguments,3);r()(window).off(e).on(e,function(){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},t||10)})}n.d(e,"a",function(){return u});var o=n(0),r=n.n(o),s=n(4),a=(n.n(s),function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e1?this.inputs.eq(1):c()("#"+this.$handle2.attr("aria-controls")),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),!0,this._setInitAttr(1)),this.setHandles(),this._events()}},{key:"setHandles",value:function(){var t=this;this.handles[1]?this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0,function(){t._setHandlePos(t.$handle2,t.inputs.eq(1).val(),!0)}):this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0)}},{key:"_reflow",value:function(){this.setHandles()}},{key:"_pctOfBar",value:function(t){var e=s(t-this.options.start,this.options.end-this.options.start);switch(this.options.positionValueFunction){case"pow":e=this._logTransform(e);break;case"log":e=this._powTransform(e)}return e.toFixed(2)}},{key:"_value",value:function(t){switch(this.options.positionValueFunction){case"pow":t=this._powTransform(t);break;case"log":t=this._logTransform(t)}return(this.options.end-this.options.start)*t+this.options.start}},{key:"_logTransform",value:function(t){return l(this.options.nonLinearBase,t*(this.options.nonLinearBase-1)+1)}},{key:"_powTransform",value:function(t){return(Math.pow(this.options.nonLinearBase,t)-1)/(this.options.nonLinearBase-1)}},{key:"_setHandlePos",value:function(t,e,i,o){if(!this.$element.hasClass(this.options.disabledClass)){e=parseFloat(e),ethis.options.end&&(e=this.options.end);var r=this.options.doubleSided;if(r)if(0===this.handles.index(t)){var a=parseFloat(this.$handle2.attr("aria-valuenow"));e=e>=a?a-this.options.step:e}else{var l=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=l?l+this.options.step:e}this.options.vertical&&!i&&(e=this.options.end-e);var u=this,c=this.options.vertical,d=c?"height":"width",h=c?"top":"left",p=t[0].getBoundingClientRect()[d],g=this.$element[0].getBoundingClientRect()[d],m=this._pctOfBar(e),v=(g-p)*m,y=(100*s(v,g)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var b={};if(this._setValues(t,e),r){var w,z=0===this.handles.index(t),_=~~(100*s(p,g));if(z)b[h]=y+"%",w=parseFloat(this.$handle2[0].style[h])-y+_,o&&"function"==typeof o&&o();else{var k=parseFloat(this.$handle[0].style[h]);w=y-(isNaN(k)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):k)+_}b["min-"+d]=w+"%"}this.$element.one("finished.zf.animate",function(){u.$element.trigger("moved.zf.slider",[t])});var L=this.$element.data("dragging")?1e3/60:this.options.moveTime;n.i(f.Move)(L,t,function(){isNaN(y)?t.css(h,100*m+"%"):t.css(h,y+"%"),u.options.doubleSided?u.$fill.css(b):u.$fill.css(d,100*m+"%")}),clearTimeout(u.timeout),u.timeout=setTimeout(function(){u.$element.trigger("changed.zf.slider",[t])},u.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,i=this.inputs.eq(t).attr("id")||n.i(h.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:i,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":i,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var n=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(n).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,i){var o,r;if(i)o=this._adjustValue(null,i),r=!0;else{t.preventDefault();var l=this,u=this.options.vertical,d=u?"height":"width",f=u?"top":"left",p=u?t.pageY:t.pageX,g=(this.$handle[0].getBoundingClientRect()[d],this.$element[0].getBoundingClientRect()[d]),m=u?c()(window).scrollTop():c()(window).scrollLeft(),v=this.$element.offset()[f];t.clientY===t.pageY&&(p+=m);var y,b=p-v;y=b<0?0:b>g?g:b;var w=s(y,g);if(o=this._value(w),n.i(h.rtl)()&&!this.options.vertical&&(o=this.options.end-o),o=l._adjustValue(null,o),r=!1,!e){e=a(this.$handle,f,y,d)<=a(this.$handle2,f,y,d)?this.$handle:this.$handle2}}this._setHandlePos(e,o,r)}},{key:"_adjustValue",value:function(t,e){var n,i,o,r,s=this.options.step,a=parseFloat(s/2);return n=t?parseFloat(t.attr("aria-valuenow")):e,i=n%s,o=n-i,r=o+s,0===i?n:n=n>=o+a?r:o}},{key:"_events",value:function(){this._eventsForHandle(this.$handle),this.handles[1]&&this._eventsForHandle(this.$handle2)}},{key:"_eventsForHandle",value:function(t){var e,n=this;if(this.inputs.off("change.zf.slider").on("change.zf.slider",function(t){var e=n.inputs.index(c()(this));n._handleEvent(t,n.handles.eq(e),c()(this).val())}),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(t){if(n.$element.data("dragging"))return!1;c()(t.target).is("[data-slider-handle]")||(n.options.doubleSided?n._handleEvent(t):n._handleEvent(t,n.$handle))}),this.options.draggable){this.handles.addTouch();var i=c()("body");t.off("mousedown.zf.slider").on("mousedown.zf.slider",function(o){t.addClass("is-dragging"),n.$fill.addClass("is-dragging"),n.$element.data("dragging",!0),e=c()(o.currentTarget),i.on("mousemove.zf.slider",function(t){t.preventDefault(),n._handleEvent(t,e)}).on("mouseup.zf.slider",function(o){n._handleEvent(o,e),t.removeClass("is-dragging"),n.$fill.removeClass("is-dragging"),n.$element.data("dragging",!1),i.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}t.off("keydown.zf.slider").on("keydown.zf.slider",function(t){var e,i=c()(this),o=n.options.doubleSided?n.handles.index(i):0,r=parseFloat(n.inputs.eq(o).val());d.Keyboard.handleKey(t,"Slider",{decrease:function(){e=r-n.options.step},increase:function(){e=r+n.options.step},decrease_fast:function(){e=r-10*n.options.step},increase_fast:function(){e=r+10*n.options.step},min:function(){e=n.options.start},max:function(){e=n.options.end},handled:function(){t.preventDefault(),n._setHandlePos(i,e,!0)}})})}},{key:"_destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),clearTimeout(this.timeout)}}]),e}(p.Plugin);y.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500,nonLinearBase:5,positionValueFunction:"linear"}},7:function(t,e,n){"use strict";function i(t,e,n){var i=void 0,o=Array.prototype.slice.call(arguments,3);r()(window).off(e).on(e,function(){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},t||10)})}n.d(e,"a",function(){return u});var o=n(0),r=n.n(o),s=n(4),a=(n.n(s),function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e1&&arguments[1]!==undefined?arguments[1]:e.defaults,i=arguments[2];if(!a()(t).length)return!1;var o=Math.round(a()(t).offset().top-n.threshold/2-n.offset);a()("html, body").stop(!0).animate({scrollTop:o},n.animationDuration,n.animationEasing,function(){i&&"function"==typeof i&&i()})}}]),e}(u.Plugin);d.defaults={animationDuration:500,animationEasing:"linear",threshold:50,offset:0}},95:function(t,e,n){t.exports=n(29)}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=96)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},3:function(t){t.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend}},30:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(60));i.Foundation.plugin(o.a,"Sticky")},4:function(t){t.exports={Motion:window.Foundation.Motion,Move:window.Foundation.Move}},6:function(t){t.exports={MediaQuery:window.Foundation.MediaQuery}},60:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}n.d(e,"a",function(){return p});var a=n(0),l=n.n(a),u=n(3),c=(n.n(u),n(6)),d=(n.n(c),n(2)),f=(n.n(d),n(7)),h=function(){function t(t,e){for(var n=0;n=i.topPoint))}),i._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=""==this.options.topAnchor?1:this.options.topAnchor,e=""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor,n=[t,e],i={},o=0,r=n.length;o=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,n="top"===e?"marginTop":"marginBottom",i="top"===e?"bottom":"top",o={};o[n]=this.options[n]+"em",o[e]=0,o[i]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-"+i).addClass("is-stuck is-at-"+e).css(o).trigger("sticky.zf.stuckto:"+e),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,n="top"===e,i={},o=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,r=n?"marginTop":"marginBottom",s=t?"top":"bottom";i[r]=0,i.bottom="auto",i.top=t?0:o,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-"+e).addClass("is-anchored is-at-"+s).css(i).trigger("sticky.zf.unstuckfrom:"+s)}},{key:"_setSizes",value:function(t){this.canStick=c.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,n=window.getComputedStyle(this.$container[0]),i=parseInt(n["padding-left"],10),o=parseInt(n["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":e-i-o+"px"});var r=this.$element[0].getBoundingClientRect().height||this.containerHeight;if("none"==this.$element.css("display")&&(r=0),this.containerHeight=r,this.$container.css({height:r}),this.elemHeight=r,!this.isStuck&&this.$element.hasClass("is-at-bottom")){ +var s=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",s)}this._setBreakPoints(r,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var n=s(this.options.marginTop),i=s(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,r=this.points?this.points[1]:o+this.anchorHeight,a=window.innerHeight;"top"===this.options.stickTo?(o-=n,r-=t+n):"bottom"===this.options.stickTo&&(o-=a-(t+i),r-=a-i),this.topPoint=o,this.bottomPoint=r,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass(this.options.stickyClass+" is-anchored is-at-top").css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),l()(window).off(this.scrollListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}]),e}(d.Plugin);p.defaults={container:"
      ",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",checkEvery:-1}},7:function(t,e,n){"use strict";function i(t,e,n){var i=void 0,o=Array.prototype.slice.call(arguments,3);r()(window).off(e).on(e,function(){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},t||10)})}n.d(e,"a",function(){return u});var o=n(0),r=n.n(o),s=n(4),a=(n.n(s),function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;et?o:t}).css("height",t+"px")}},{key:"_destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&a()(window).off("changed.zf.mediaquery",this._setHeightMqHandler),this.options.deepLink&&a()(window).off("popstate",this._checkDeepLink)}}]),e}(c.Plugin);f.defaults={deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1,autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,activeCollapse:!1,linkClass:"tabs-title",linkActiveClass:"is-active",panelClass:"tabs-panel",panelActiveClass:"is-active"}},97:function(t,e,n){t.exports=n(31)}}),function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=98)}({0:function(t){t.exports=jQuery},1:function(t){t.exports={Foundation:window.Foundation}},2:function(t){t.exports={Plugin:window.Foundation.Plugin}},32:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=(n.n(i),n(62));i.Foundation.plugin(o.a,"Toggler")},4:function(t){t.exports={Motion:window.Foundation.Motion,Move:window.Foundation.Move}},62:function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return f});var s=n(0),a=n.n(s),l=n(4),u=(n.n(l),n(2)),c=(n.n(u),n(7)),d=function(){function t(t,e){for(var n=0;n
      ").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){h(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!u.MediaQuery.is(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.template.removeClass("top bottom left right").addClass(this.position),this.template.removeClass("align-top align-bottom align-left align-right align-center").addClass("align-"+this.alignment),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(){if(e=!0,t.isClick)return t.options.clickOpen||(e=!1),!1;t.show()}).on("focusout.zf.tooltip",function(){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"_destroy",value:function(){ +this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tooltip").removeClass("has-tip top right left").removeAttr("aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"),this.template.remove()}}]),e}(d.a);p.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!1,vOffset:0,hOffset:0,tooltipHeight:14,tooltipWidth:12,allowHtml:!1}},7:function(t,e,n){"use strict";function i(t,e,n){var i=void 0,o=Array.prototype.slice.call(arguments,3);r()(window).off(e).on(e,function(){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},t||10)})}n.d(e,"a",function(){return u});var o=n(0),r=n.n(o),s=n(4),a=(n.n(s),function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e1?r[0]:"small",a=r.length>1?r[1]:r[0];null!==n[a]&&(e[s]=n[a])}this.rules=e}this._getAllOptions(),t.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_getAllOptions",value:function(){var e=this;e.allOptions={};for(var i in n)if(n.hasOwnProperty(i)){var o=n[i];try{var r=t(""),s=new o.plugin(r,e.options);for(var a in s.options)if(s.options.hasOwnProperty(a)&&"zfPlugin"!==a){var l=s.options[a];e.allOptions[a]=l}s.destroy()}catch(t){}}}},{key:"_events",value:function(){var e=this;t(window).on("changed.zf.mediaquery",function(){e._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var e,i=this;t.each(this.rules,function(t){Foundation.MediaQuery.atLeast(t)&&(e=t)}),e&&(this.currentPlugin instanceof this.rules[e].plugin||(t.each(n,function(t,e){i.$element.removeClass(e.cssClass)}),this.$element.addClass(this.rules[e].cssClass),this.currentPlugin&&(!this.currentPlugin.$element.data("zfPlugin")&&this.storezfData&&this.currentPlugin.$element.data("zfPlugin",this.storezfData),this.currentPlugin.destroy()),this._handleMarkup(this.rules[e].cssClass),this.currentPlugin=new this.rules[e].plugin(this.$element,{}),this.storezfData=this.currentPlugin.$element.data("zfPlugin")))}},{key:"_handleMarkup",value:function(e){var n=this,i="accordion",o=t("[data-tabs-content="+this.$element.attr("id")+"]");if(o.length&&(i="tabs"),i!==e){var r=n.allOptions.linkClass?n.allOptions.linkClass:"tabs-title",s=n.allOptions.panelClass?n.allOptions.panelClass:"tabs-panel";this.$element.removeAttr("role");var a=this.$element.children("."+r+",[data-accordion-item]").removeClass(r).removeClass("accordion-item").removeAttr("data-accordion-item"),l=a.children("a").removeClass("accordion-title");if("tabs"===i?(o=o.children("."+s).removeClass(s).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby"),o.children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected")):o=a.children("[data-tab-content]").removeClass("accordion-content"),o.css({display:"",visibility:""}),a.css({display:"",visibility:""}),"accordion"===e)o.each(function(e,i){t(i).appendTo(a.get(e)).addClass("accordion-content").attr("data-tab-content","").removeClass("is-active").css({height:""}),t("[data-tabs-content="+n.$element.attr("id")+"]").after('
      ').remove(),a.addClass("accordion-item").attr("data-accordion-item",""),l.addClass("accordion-title")});else if("tabs"===e){var u=t("[data-tabs-content="+n.$element.attr("id")+"]"),c=t("#tabs-placeholder-"+n.$element.attr("id"));c.length?(u=t('
      ').insertAfter(c).attr("data-tabs-content",n.$element.attr("id")),c.remove()):u=t('
      ').insertAfter(n.$element).attr("data-tabs-content",n.$element.attr("id")),o.each(function(e,n){var i=t(n).appendTo(u).addClass(s),o=l.get(e).hash.slice(1),r=t(n).attr("id")||Foundation.GetYoDigits(6,"accordion");o!==r&&(""!==o?t(n).attr("id",o):(o=r,t(n).attr("id",o),t(l.get(e)).attr("href",t(l.get(e)).attr("href").replace("#","")+"#"+o))),t(a.get(e)).hasClass("is-active")&&i.addClass("is-active")}),a.addClass(r)}}}},{key:"destroy",value:function(){this.currentPlugin&&this.currentPlugin.destroy(),t(window).off(".zf.ResponsiveAccordionTabs"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={};var n={tabs:{cssClass:"tabs",plugin:Foundation._plugins.tabs||null},accordion:{cssClass:"accordion",plugin:Foundation._plugins.accordion||null}};Foundation.plugin(e,"ResponsiveAccordionTabs")}(jQuery),function(){(function(){(function(){this.Turbolinks={supported:function(){return null!=window.history.pushState&&null!=window.requestAnimationFrame&&null!=window.addEventListener}(),visit:function(e,n){return t.controller.visit(e,n)},clearCache:function(){return t.controller.clearCache()}}}).call(this)}).call(this);var t=this.Turbolinks;(function(){(function(){var e,n,i=[].slice;t.copyObject=function(t){var e,n,i;n={};for(e in t)i=t[e],n[e]=i;return n},t.closest=function(t,n){return e.call(t,n)},e=function(){var t,e;return t=document.documentElement,null!=(e=t.closest)?e:function(t){var e;for(e=this;e;){if(e.nodeType===Node.ELEMENT_NODE&&n.call(e,t))return e;e=e.parentNode}}}(),t.defer=function(t){return setTimeout(t,1)},t.throttle=function(t){var e;return e=null,function(){var n;return n=1<=arguments.length?i.call(arguments,0):[],null!=e?e:e=requestAnimationFrame(function(i){return function(){return e=null,t.apply(i,n)}}(this))}},t.dispatch=function(t,e){var n,i,o,r,s;return r=null!=e?e:{},s=r.target,n=r.cancelable,i=r.data,o=document.createEvent("Events"),o.initEvent(t,!0,!0===n),o.data=null!=i?i:{},(null!=s?s:document).dispatchEvent(o),o},t.match=function(t,e){return n.call(t,e)},n=function(){var t,e,n,i;return t=document.documentElement,null!=(e=null!=(n=null!=(i=t.matchesSelector)?i:t.webkitMatchesSelector)?n:t.msMatchesSelector)?e:t.mozMatchesSelector}(),t.uuid=function(){var t,e,n;for(n="",t=e=1;36>=e;t=++e)n+=9===t||14===t||19===t||24===t?"-":15===t?"4":20===t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(15*Math.random()).toString(16);return n}}).call(this),function(){t.Location=function(){function t(t){var e,n;null==t&&(t=""),n=document.createElement("a"),n.href=t.toString(),this.absoluteURL=n.href,e=n.hash.length,2>e?this.requestURL=this.absoluteURL:(this.requestURL=this.absoluteURL.slice(0,-e),this.anchor=n.hash.slice(1))}var e,n,i,o;return t.wrap=function(t){return t instanceof this?t:new this(t)},t.prototype.getOrigin=function(){return this.absoluteURL.split("/",3).join("/")},t.prototype.getPath=function(){var t,e;return null!=(t=null!=(e=this.absoluteURL.match(/\/\/[^\/]*(\/[^?;]*)/))?e[1]:void 0)?t:"/"},t.prototype.getPathComponents=function(){return this.getPath().split("/").slice(1)},t.prototype.getLastPathComponent=function(){return this.getPathComponents().slice(-1)[0]},t.prototype.getExtension=function(){var t,e;return null!=(t=null!=(e=this.getLastPathComponent().match(/\.[^.]*$/))?e[0]:void 0)?t:""},t.prototype.isHTML=function(){return this.getExtension().match(/^(?:|\.(?:htm|html|xhtml))$/)},t.prototype.isPrefixedBy=function(t){var e;return e=n(t),this.isEqualTo(t)||o(this.absoluteURL,e)},t.prototype.isEqualTo=function(t){return this.absoluteURL===(null!=t?t.absoluteURL:void 0)},t.prototype.toCacheKey=function(){return this.requestURL},t.prototype.toJSON=function(){return this.absoluteURL},t.prototype.toString=function(){return this.absoluteURL},t.prototype.valueOf=function(){return this.absoluteURL},n=function(t){return e(t.getOrigin()+t.getPath())},e=function(t){return i(t,"/")?t:t+"/"},o=function(t,e){return t.slice(0,e.length)===e},i=function(t,e){return t.slice(-e.length)===e},t}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.HttpRequest=function(){function n(n,i,o){this.delegate=n,this.requestCanceled=e(this.requestCanceled,this),this.requestTimedOut=e(this.requestTimedOut,this),this.requestFailed=e(this.requestFailed,this),this.requestLoaded=e(this.requestLoaded,this),this.requestProgressed=e(this.requestProgressed,this),this.url=t.Location.wrap(i).requestURL,this.referrer=t.Location.wrap(o).absoluteURL,this.createXHR()}return n.NETWORK_FAILURE=0,n.TIMEOUT_FAILURE=-1,n.timeout=60,n.prototype.send=function(){var t;return this.xhr&&!this.sent?(this.notifyApplicationBeforeRequestStart(),this.setProgress(0),this.xhr.send(),this.sent=!0,"function"==typeof(t=this.delegate).requestStarted?t.requestStarted():void 0):void 0},n.prototype.cancel=function(){return this.xhr&&this.sent?this.xhr.abort():void 0},n.prototype.requestProgressed=function(t){return t.lengthComputable?this.setProgress(t.loaded/t.total):void 0},n.prototype.requestLoaded=function(){return this.endRequest(function(t){return function(){var e;return 200<=(e=t.xhr.status)&&300>e?t.delegate.requestCompletedWithResponse(t.xhr.responseText,t.xhr.getResponseHeader("Turbolinks-Location")):(t.failed=!0,t.delegate.requestFailedWithStatusCode(t.xhr.status,t.xhr.responseText))}}(this))},n.prototype.requestFailed=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE)}}(this))},n.prototype.requestTimedOut=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE)}}(this))},n.prototype.requestCanceled=function(){return this.endRequest()},n.prototype.notifyApplicationBeforeRequestStart=function(){return t.dispatch("turbolinks:request-start",{data:{url:this.url,xhr:this.xhr}})},n.prototype.notifyApplicationAfterRequestEnd=function(){return t.dispatch("turbolinks:request-end",{data:{url:this.url,xhr:this.xhr}})},n.prototype.createXHR=function(){return this.xhr=new XMLHttpRequest,this.xhr.open("GET",this.url,!0),this.xhr.timeout=1e3*this.constructor.timeout,this.xhr.setRequestHeader("Accept","text/html, application/xhtml+xml"),this.xhr.setRequestHeader("Turbolinks-Referrer",this.referrer),this.xhr.onprogress=this.requestProgressed,this.xhr.onload=this.requestLoaded,this.xhr.onerror=this.requestFailed,this.xhr.ontimeout=this.requestTimedOut,this.xhr.onabort=this.requestCanceled},n.prototype.endRequest=function(t){return this.xhr?(this.notifyApplicationAfterRequestEnd(),null!=t&&t.call(this),this.destroy()):void 0},n.prototype.setProgress=function(t){var e;return this.progress=t,"function"==typeof(e=this.delegate).requestProgressed?e.requestProgressed(this.progress):void 0},n.prototype.destroy=function(){var t;return this.setProgress(1),"function"==typeof(t=this.delegate).requestFinished&&t.requestFinished(),this.delegate=null,this.xhr=null},n}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.ProgressBar=function(){function t(){this.trickle=e(this.trickle,this),this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement()}var n;return n=300,t.defaultCSS=".turbolinks-progress-bar {\n position: fixed;\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n background: #0076ff;\n z-index: 9999;\n transition: width "+n+"ms ease-out, opacity "+n/2+"ms "+n/2+"ms ease-in;\n transform: translate3d(0, 0, 0);\n}",t.prototype.show=function(){return this.visible?void 0:(this.visible=!0,this.installStylesheetElement(),this.installProgressElement(),this.startTrickling())},t.prototype.hide=function(){return this.visible&&!this.hiding?(this.hiding=!0,this.fadeProgressElement(function(t){return function(){return t.uninstallProgressElement(),t.stopTrickling(),t.visible=!1,t.hiding=!1}}(this))):void 0},t.prototype.setValue=function(t){return this.value=t,this.refresh()},t.prototype.installStylesheetElement=function(){return document.head.insertBefore(this.stylesheetElement,document.head.firstChild)},t.prototype.installProgressElement=function(){return this.progressElement.style.width=0,this.progressElement.style.opacity=1,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()},t.prototype.fadeProgressElement=function(t){return this.progressElement.style.opacity=0,setTimeout(t,1.5*n)},t.prototype.uninstallProgressElement=function(){return this.progressElement.parentNode?document.documentElement.removeChild(this.progressElement):void 0},t.prototype.startTrickling=function(){return null!=this.trickleInterval?this.trickleInterval:this.trickleInterval=setInterval(this.trickle,n)},t.prototype.stopTrickling=function(){return clearInterval(this.trickleInterval),this.trickleInterval=null},t.prototype.trickle=function(){return this.setValue(this.value+Math.random()/100)},t.prototype.refresh=function(){return requestAnimationFrame(function(t){return function(){return t.progressElement.style.width=10+90*t.value+"%"}}(this))},t.prototype.createStylesheetElement=function(){var t;return t=document.createElement("style"),t.type="text/css",t.textContent=this.constructor.defaultCSS,t},t.prototype.createProgressElement=function(){var t;return t=document.createElement("div"),t.className="turbolinks-progress-bar",t},t}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.BrowserAdapter=function(){function n(n){this.controller=n,this.showProgressBar=e(this.showProgressBar,this),this.progressBar=new t.ProgressBar}var i,o,r,s;return s=t.HttpRequest,i=s.NETWORK_FAILURE,r=s.TIMEOUT_FAILURE,o=500,n.prototype.visitProposedToLocationWithAction=function(t,e){return this.controller.startVisitToLocationWithAction(t,e)},n.prototype.visitStarted=function(t){return t.issueRequest(),t.changeHistory(),t.loadCachedSnapshot()},n.prototype.visitRequestStarted=function(t){return this.progressBar.setValue(0),t.hasCachedSnapshot()||"restore"!==t.action?this.showProgressBarAfterDelay():this.showProgressBar()},n.prototype.visitRequestProgressed=function(t){return this.progressBar.setValue(t.progress)},n.prototype.visitRequestCompleted=function(t){return t.loadResponse()},n.prototype.visitRequestFailedWithStatusCode=function(t,e){switch(e){case i:case r:return this.reload();default:return t.loadResponse()}},n.prototype.visitRequestFinished=function(){return this.hideProgressBar()},n.prototype.visitCompleted=function(t){return t.followRedirect()},n.prototype.pageInvalidated=function(){return this.reload()},n.prototype.showProgressBarAfterDelay=function(){return this.progressBarTimeout=setTimeout(this.showProgressBar,o)},n.prototype.showProgressBar=function(){return this.progressBar.show()},n.prototype.hideProgressBar=function(){return this.progressBar.hide(),clearTimeout(this.progressBarTimeout)},n.prototype.reload=function(){return window.location.reload()},n}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.History=function(){function n(t){this.delegate=t,this.onPageLoad=e(this.onPageLoad,this),this.onPopState=e(this.onPopState,this)}return n.prototype.start=function(){return this.started?void 0:(addEventListener("popstate",this.onPopState,!1),addEventListener("load",this.onPageLoad,!1),this.started=!0)},n.prototype.stop=function(){return this.started?(removeEventListener("popstate",this.onPopState,!1),removeEventListener("load",this.onPageLoad,!1),this.started=!1):void 0},n.prototype.push=function(e,n){return e=t.Location.wrap(e),this.update("push",e,n)},n.prototype.replace=function(e,n){return e=t.Location.wrap(e),this.update("replace",e,n)},n.prototype.onPopState=function(e){var n,i,o,r;return this.shouldHandlePopState()&&(r=null!=(i=e.state)?i.turbolinks:void 0)?(n=t.Location.wrap(window.location),o=r.restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(n,o)):void 0},n.prototype.onPageLoad=function(){return t.defer(function(t){return function(){return t.pageLoaded=!0}}(this))},n.prototype.shouldHandlePopState=function(){return this.pageIsLoaded()},n.prototype.pageIsLoaded=function(){return this.pageLoaded||"complete"===document.readyState},n.prototype.update=function(t,e,n){var i;return i={turbolinks:{restorationIdentifier:n}},history[t+"State"](i,null,e)},n}()}.call(this),function(){t.Snapshot=function(){function e(t){var e,n;n=t.head,e=t.body,this.head=null!=n?n:document.createElement("head"),this.body=null!=e?e:document.createElement("body")}return e.wrap=function(t){return t instanceof this?t:this.fromHTML(t)},e.fromHTML=function(t){var e;return e=document.createElement("html"),e.innerHTML=t,this.fromElement(e)},e.fromElement=function(t){return new this({head:t.querySelector("head"),body:t.querySelector("body")})},e.prototype.clone=function(){return new e({head:this.head.cloneNode(!0),body:this.body.cloneNode(!0)})},e.prototype.getRootLocation=function(){var e,n;return n=null!=(e=this.getSetting("root"))?e:"/",new t.Location(n)},e.prototype.getCacheControlValue=function(){return this.getSetting("cache-control")},e.prototype.hasAnchor=function(t){try{return null!=this.body.querySelector("[id='"+t+"']")}catch(t){}},e.prototype.isPreviewable=function(){return"no-preview"!==this.getCacheControlValue()},e.prototype.isCacheable=function(){return"no-cache"!==this.getCacheControlValue()},e.prototype.getSetting=function(t){var e,n;return n=this.head.querySelectorAll("meta[name='turbolinks-"+t+"']"),e=n[n.length-1],null!=e?e.getAttribute("content"):void 0},e}()}.call(this),function(){var e=[].slice;t.Renderer=function(){function t(){}var n;return t.render=function(){var t,n,i,o;return i=arguments[0],n=arguments[1],t=3<=arguments.length?e.call(arguments,2):[],o=function(t,e,n){n.prototype=t.prototype;var i=new n,o=t.apply(i,e);return Object(o)===o?o:i}(this,t,function(){}),o.delegate=i,o.render(n),o},t.prototype.renderView=function(t){return this.delegate.viewWillRender(this.newBody),t(),this.delegate.viewRendered(this.newBody)},t.prototype.invalidateView=function(){return this.delegate.viewInvalidated()},t.prototype.createScriptElement=function(t){var e;return"false"===t.getAttribute("data-turbolinks-eval")?t:(e=document.createElement("script"),e.textContent=t.textContent,n(e,t),e)},n=function(t,e){var n,i,o,r,s,a,l;for(r=e.attributes,a=[],n=0,i=r.length;i>n;n++)s=r[n],o=s.name,l=s.value,a.push(t.setAttribute(o,l));return a},t}()}.call(this),function(){t.HeadDetails=function(){function t(t){var e,n,r,s,a,l,u;for(this.element=t,this.elements={},u=this.element.childNodes,s=0,l=u.length;l>s;s++)r=u[s],r.nodeType===Node.ELEMENT_NODE&&(a=r.outerHTML,n=null!=(e=this.elements)[a]?e[a]:e[a]={type:o(r),tracked:i(r),elements:[]},n.elements.push(r))}var e,n,i,o;return t.prototype.hasElementWithKey=function(t){return t in this.elements},t.prototype.getTrackedElementSignature=function(){var t,e;return function(){var n,i;n=this.elements,i=[];for(t in n)(e=n[t].tracked)&&i.push(t);return i}.call(this).join("")},t.prototype.getScriptElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("script",t)},t.prototype.getStylesheetElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("stylesheet",t)},t.prototype.getElementsMatchingTypeNotInDetails=function(t,e){var n,i,o,r,s,a;o=this.elements,s=[];for(i in o)r=o[i],a=r.type,n=r.elements,a!==t||e.hasElementWithKey(i)||s.push(n[0]);return s},t.prototype.getProvisionalElements=function(){var t,e,n,i,o,r,s;n=[],i=this.elements;for(e in i)o=i[e],s=o.type,r=o.tracked,t=o.elements,null!=s||r?t.length>1&&n.push.apply(n,t.slice(1)):n.push.apply(n,t);return n},o=function(t){return e(t)?"script":n(t)?"stylesheet":void 0},i=function(t){return"reload"===t.getAttribute("data-turbolinks-track")},e=function(t){return"script"===t.tagName.toLowerCase()},n=function(t){var e;return"style"===(e=t.tagName.toLowerCase())||"link"===e&&"stylesheet"===t.getAttribute("rel")},t}()}.call(this),function(){var e=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;t.SnapshotRenderer=function(n){function i(e,n){this.currentSnapshot=e,this.newSnapshot=n,this.currentHeadDetails=new t.HeadDetails(this.currentSnapshot.head),this.newHeadDetails=new t.HeadDetails(this.newSnapshot.head),this.newBody=this.newSnapshot.body}return e(i,n),i.prototype.render=function(t){return this.trackedElementsAreIdentical()?(this.mergeHead(),this.renderView(function(e){return function(){return e.replaceBody(),e.focusFirstAutofocusableElement(),t()}}(this))):this.invalidateView()},i.prototype.mergeHead=function(){return this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()},i.prototype.replaceBody=function(){return this.activateBodyScriptElements(),this.importBodyPermanentElements(),this.assignNewBody()},i.prototype.trackedElementsAreIdentical=function(){return this.currentHeadDetails.getTrackedElementSignature()===this.newHeadDetails.getTrackedElementSignature()},i.prototype.copyNewHeadStylesheetElements=function(){var t,e,n,i,o;for(i=this.getNewHeadStylesheetElements(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(document.head.appendChild(t));return o},i.prototype.copyNewHeadScriptElements=function(){var t,e,n,i,o;for(i=this.getNewHeadScriptElements(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(document.head.appendChild(this.createScriptElement(t)));return o},i.prototype.removeCurrentHeadProvisionalElements=function(){var t,e,n,i,o;for(i=this.getCurrentHeadProvisionalElements(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(document.head.removeChild(t));return o},i.prototype.copyNewHeadProvisionalElements=function(){var t,e,n,i,o;for(i=this.getNewHeadProvisionalElements(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(document.head.appendChild(t));return o},i.prototype.importBodyPermanentElements=function(){var t,e,n,i,o,r;for(i=this.getNewBodyPermanentElements(),r=[],e=0,n=i.length;n>e;e++)o=i[e],(t=this.findCurrentBodyPermanentElement(o))?r.push(o.parentNode.replaceChild(t,o)):r.push(void 0);return r},i.prototype.activateBodyScriptElements=function(){var t,e,n,i,o,r;for(i=this.getNewBodyScriptElements(),r=[],e=0,n=i.length;n>e;e++)o=i[e],t=this.createScriptElement(o),r.push(o.parentNode.replaceChild(t,o));return r},i.prototype.assignNewBody=function(){return document.body=this.newBody},i.prototype.focusFirstAutofocusableElement=function(){var t;return null!=(t=this.findFirstAutofocusableElement())?t.focus():void 0},i.prototype.getNewHeadStylesheetElements=function(){return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails)},i.prototype.getNewHeadScriptElements=function(){return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails)},i.prototype.getCurrentHeadProvisionalElements=function(){return this.currentHeadDetails.getProvisionalElements()},i.prototype.getNewHeadProvisionalElements=function(){return this.newHeadDetails.getProvisionalElements()},i.prototype.getNewBodyPermanentElements=function(){return this.newBody.querySelectorAll("[id][data-turbolinks-permanent]")},i.prototype.findCurrentBodyPermanentElement=function(t){return document.body.querySelector("#"+t.id+"[data-turbolinks-permanent]")},i.prototype.getNewBodyScriptElements=function(){return this.newBody.querySelectorAll("script")},i.prototype.findFirstAutofocusableElement=function(){return document.body.querySelector("[autofocus]")},i}(t.Renderer)}.call(this),function(){var e=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;t.ErrorRenderer=function(t){function n(t){this.html=t}return e(n,t),n.prototype.render=function(t){return this.renderView(function(e){return function(){return e.replaceDocumentHTML(),e.activateBodyScriptElements(),t()}}(this))},n.prototype.replaceDocumentHTML=function(){return document.documentElement.innerHTML=this.html},n.prototype.activateBodyScriptElements=function(){var t,e,n,i,o,r;for(i=this.getScriptElements(),r=[],e=0,n=i.length;n>e;e++)o=i[e],t=this.createScriptElement(o),r.push(o.parentNode.replaceChild(t,o));return r},n.prototype.getScriptElements=function(){return document.documentElement.querySelectorAll("script")},n}(t.Renderer)}.call(this),function(){t.View=function(){function e(t){this.delegate=t,this.element=document.documentElement}return e.prototype.getRootLocation=function(){return this.getSnapshot().getRootLocation()},e.prototype.getSnapshot=function(){return t.Snapshot.fromElement(this.element)},e.prototype.render=function(t,e){var n,i,o;return o=t.snapshot,n=t.error,i=t.isPreview,this.markAsPreview(i),null!=o?this.renderSnapshot(o,e):this.renderError(n,e)},e.prototype.markAsPreview=function(t){return t?this.element.setAttribute("data-turbolinks-preview",""):this.element.removeAttribute("data-turbolinks-preview")},e.prototype.renderSnapshot=function(e,n){return t.SnapshotRenderer.render(this.delegate,n,this.getSnapshot(),t.Snapshot.wrap(e))},e.prototype.renderError=function(e,n){return t.ErrorRenderer.render(this.delegate,n,e)},e}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.ScrollManager=function(){function n(n){this.delegate=n,this.onScroll=e(this.onScroll,this),this.onScroll=t.throttle(this.onScroll)}return n.prototype.start=function(){return this.started?void 0:(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)},n.prototype.stop=function(){return this.started?(removeEventListener("scroll",this.onScroll,!1),this.started=!1):void 0},n.prototype.scrollToElement=function(t){return t.scrollIntoView()},n.prototype.scrollToPosition=function(t){var e,n;return e=t.x,n=t.y,window.scrollTo(e,n)},n.prototype.onScroll=function(){return this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},n.prototype.updatePosition=function(t){var e;return this.position=t,null!=(e=this.delegate)?e.scrollPositionChanged(this.position):void 0},n}()}.call(this),function(){t.SnapshotCache=function(){function e(t){this.size=t,this.keys=[],this.snapshots={}}var n;return e.prototype.has=function(t){return n(t)in this.snapshots},e.prototype.get=function(t){var e;if(this.has(t))return e=this.read(t),this.touch(t),e},e.prototype.put=function(t,e){return this.write(t,e),this.touch(t),e},e.prototype.read=function(t){var e;return e=n(t),this.snapshots[e]},e.prototype.write=function(t,e){var i;return i=n(t),this.snapshots[i]=e},e.prototype.touch=function(t){var e,i;return i=n(t),e=this.keys.indexOf(i),e>-1&&this.keys.splice(e,1),this.keys.unshift(i),this.trim()},e.prototype.trim=function(){var t,e,n,i,o;for(i=this.keys.splice(this.size),o=[],t=0,n=i.length;n>t;t++)e=i[t],o.push(delete this.snapshots[e]);return o},n=function(e){return t.Location.wrap(e).toCacheKey()},e}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.Visit=function(){function n(n,i,o){this.controller=n, +this.action=o,this.performScroll=e(this.performScroll,this),this.identifier=t.uuid(),this.location=t.Location.wrap(i),this.adapter=this.controller.adapter,this.state="initialized",this.timingMetrics={}}var i;return n.prototype.start=function(){return"initialized"===this.state?(this.recordTimingMetric("visitStart"),this.state="started",this.adapter.visitStarted(this)):void 0},n.prototype.cancel=function(){var t;return"started"===this.state?(null!=(t=this.request)&&t.cancel(),this.cancelRender(),this.state="canceled"):void 0},n.prototype.complete=function(){var t;return"started"===this.state?(this.recordTimingMetric("visitEnd"),this.state="completed","function"==typeof(t=this.adapter).visitCompleted&&t.visitCompleted(this),this.controller.visitCompleted(this)):void 0},n.prototype.fail=function(){var t;return"started"===this.state?(this.state="failed","function"==typeof(t=this.adapter).visitFailed?t.visitFailed(this):void 0):void 0},n.prototype.changeHistory=function(){var t,e;return this.historyChanged?void 0:(t=this.location.isEqualTo(this.referrer)?"replace":this.action,e=i(t),this.controller[e](this.location,this.restorationIdentifier),this.historyChanged=!0)},n.prototype.issueRequest=function(){return this.shouldIssueRequest()&&null==this.request?(this.progress=0,this.request=new t.HttpRequest(this,this.location,this.referrer),this.request.send()):void 0},n.prototype.getCachedSnapshot=function(){var t;return!(t=this.controller.getCachedSnapshotForLocation(this.location))||null!=this.location.anchor&&!t.hasAnchor(this.location.anchor)||"restore"!==this.action&&!t.isPreviewable()?void 0:t},n.prototype.hasCachedSnapshot=function(){return null!=this.getCachedSnapshot()},n.prototype.loadCachedSnapshot=function(){var t,e;return(e=this.getCachedSnapshot())?(t=this.shouldIssueRequest(),this.render(function(){var n;return this.cacheSnapshot(),this.controller.render({snapshot:e,isPreview:t},this.performScroll),"function"==typeof(n=this.adapter).visitRendered&&n.visitRendered(this),t?void 0:this.complete()})):void 0},n.prototype.loadResponse=function(){return null!=this.response?this.render(function(){var t,e;return this.cacheSnapshot(),this.request.failed?(this.controller.render({error:this.response},this.performScroll),"function"==typeof(t=this.adapter).visitRendered&&t.visitRendered(this),this.fail()):(this.controller.render({snapshot:this.response},this.performScroll),"function"==typeof(e=this.adapter).visitRendered&&e.visitRendered(this),this.complete())}):void 0},n.prototype.followRedirect=function(){return this.redirectedToLocation&&!this.followedRedirect?(this.location=this.redirectedToLocation,this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation,this.restorationIdentifier),this.followedRedirect=!0):void 0},n.prototype.requestStarted=function(){var t;return this.recordTimingMetric("requestStart"),"function"==typeof(t=this.adapter).visitRequestStarted?t.visitRequestStarted(this):void 0},n.prototype.requestProgressed=function(t){var e;return this.progress=t,"function"==typeof(e=this.adapter).visitRequestProgressed?e.visitRequestProgressed(this):void 0},n.prototype.requestCompletedWithResponse=function(e,n){return this.response=e,null!=n&&(this.redirectedToLocation=t.Location.wrap(n)),this.adapter.visitRequestCompleted(this)},n.prototype.requestFailedWithStatusCode=function(t,e){return this.response=e,this.adapter.visitRequestFailedWithStatusCode(this,t)},n.prototype.requestFinished=function(){var t;return this.recordTimingMetric("requestEnd"),"function"==typeof(t=this.adapter).visitRequestFinished?t.visitRequestFinished(this):void 0},n.prototype.performScroll=function(){return this.scrolled?void 0:("restore"===this.action?this.scrollToRestoredPosition()||this.scrollToTop():this.scrollToAnchor()||this.scrollToTop(),this.scrolled=!0)},n.prototype.scrollToRestoredPosition=function(){var t,e;return t=null!=(e=this.restorationData)?e.scrollPosition:void 0,null!=t?(this.controller.scrollToPosition(t),!0):void 0},n.prototype.scrollToAnchor=function(){return null!=this.location.anchor?(this.controller.scrollToAnchor(this.location.anchor),!0):void 0},n.prototype.scrollToTop=function(){return this.controller.scrollToPosition({x:0,y:0})},n.prototype.recordTimingMetric=function(t){var e;return null!=(e=this.timingMetrics)[t]?e[t]:e[t]=(new Date).getTime()},n.prototype.getTimingMetrics=function(){return t.copyObject(this.timingMetrics)},i=function(t){switch(t){case"replace":return"replaceHistoryWithLocationAndRestorationIdentifier";case"advance":case"restore":return"pushHistoryWithLocationAndRestorationIdentifier"}},n.prototype.shouldIssueRequest=function(){return"restore"!==this.action||!this.hasCachedSnapshot()},n.prototype.cacheSnapshot=function(){return this.snapshotCached?void 0:(this.controller.cacheSnapshot(),this.snapshotCached=!0)},n.prototype.render=function(t){return this.cancelRender(),this.frame=requestAnimationFrame(function(e){return function(){return e.frame=null,t.call(e)}}(this))},n.prototype.cancelRender=function(){return this.frame?cancelAnimationFrame(this.frame):void 0},n}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.Controller=function(){function n(){this.clickBubbled=e(this.clickBubbled,this),this.clickCaptured=e(this.clickCaptured,this),this.pageLoaded=e(this.pageLoaded,this),this.history=new t.History(this),this.view=new t.View(this),this.scrollManager=new t.ScrollManager(this),this.restorationData={},this.clearCache()}return n.prototype.start=function(){return t.supported&&!this.started?(addEventListener("click",this.clickCaptured,!0),addEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.start(),this.startHistory(),this.started=!0,this.enabled=!0):void 0},n.prototype.disable=function(){return this.enabled=!1},n.prototype.stop=function(){return this.started?(removeEventListener("click",this.clickCaptured,!0),removeEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.stop(),this.stopHistory(),this.started=!1):void 0},n.prototype.clearCache=function(){return this.cache=new t.SnapshotCache(10)},n.prototype.visit=function(e,n){var i,o;return null==n&&(n={}),e=t.Location.wrap(e),this.applicationAllowsVisitingLocation(e)?this.locationIsVisitable(e)?(i=null!=(o=n.action)?o:"advance",this.adapter.visitProposedToLocationWithAction(e,i)):window.location=e:void 0},n.prototype.startVisitToLocationWithAction=function(e,n,i){var o;return t.supported?(o=this.getRestorationDataForIdentifier(i),this.startVisit(e,n,{restorationData:o})):window.location=e},n.prototype.startHistory=function(){return this.location=t.Location.wrap(window.location),this.restorationIdentifier=t.uuid(),this.history.start(),this.history.replace(this.location,this.restorationIdentifier)},n.prototype.stopHistory=function(){return this.history.stop()},n.prototype.pushHistoryWithLocationAndRestorationIdentifier=function(e,n){return this.restorationIdentifier=n,this.location=t.Location.wrap(e),this.history.push(this.location,this.restorationIdentifier)},n.prototype.replaceHistoryWithLocationAndRestorationIdentifier=function(e,n){return this.restorationIdentifier=n,this.location=t.Location.wrap(e),this.history.replace(this.location,this.restorationIdentifier)},n.prototype.historyPoppedToLocationWithRestorationIdentifier=function(e,n){var i;return this.restorationIdentifier=n,this.enabled?(i=this.getRestorationDataForIdentifier(this.restorationIdentifier),this.startVisit(e,"restore",{restorationIdentifier:this.restorationIdentifier,restorationData:i,historyChanged:!0}),this.location=t.Location.wrap(e)):this.adapter.pageInvalidated()},n.prototype.getCachedSnapshotForLocation=function(t){var e;return e=this.cache.get(t),e?e.clone():void 0},n.prototype.shouldCacheSnapshot=function(){return this.view.getSnapshot().isCacheable()},n.prototype.cacheSnapshot=function(){var t;return this.shouldCacheSnapshot()?(this.notifyApplicationBeforeCachingSnapshot(),t=this.view.getSnapshot(),this.cache.put(this.lastRenderedLocation,t.clone())):void 0},n.prototype.scrollToAnchor=function(t){var e;return(e=document.getElementById(t))?this.scrollToElement(e):this.scrollToPosition({x:0,y:0})},n.prototype.scrollToElement=function(t){return this.scrollManager.scrollToElement(t)},n.prototype.scrollToPosition=function(t){return this.scrollManager.scrollToPosition(t)},n.prototype.scrollPositionChanged=function(t){var e;return e=this.getCurrentRestorationData(),e.scrollPosition=t},n.prototype.render=function(t,e){return this.view.render(t,e)},n.prototype.viewInvalidated=function(){return this.adapter.pageInvalidated()},n.prototype.viewWillRender=function(t){return this.notifyApplicationBeforeRender(t)},n.prototype.viewRendered=function(){return this.lastRenderedLocation=this.currentVisit.location,this.notifyApplicationAfterRender()},n.prototype.pageLoaded=function(){return this.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()},n.prototype.clickCaptured=function(){return removeEventListener("click",this.clickBubbled,!1),addEventListener("click",this.clickBubbled,!1)},n.prototype.clickBubbled=function(t){var e,n,i;return this.enabled&&this.clickEventIsSignificant(t)&&(n=this.getVisitableLinkForNode(t.target))&&(i=this.getVisitableLocationForLink(n))&&this.applicationAllowsFollowingLinkToLocation(n,i)?(t.preventDefault(),e=this.getActionForLink(n),this.visit(i,{action:e})):void 0},n.prototype.applicationAllowsFollowingLinkToLocation=function(t,e){var n;return n=this.notifyApplicationAfterClickingLinkToLocation(t,e),!n.defaultPrevented},n.prototype.applicationAllowsVisitingLocation=function(t){var e;return e=this.notifyApplicationBeforeVisitingLocation(t),!e.defaultPrevented},n.prototype.notifyApplicationAfterClickingLinkToLocation=function(e,n){return t.dispatch("turbolinks:click",{target:e,data:{url:n.absoluteURL},cancelable:!0})},n.prototype.notifyApplicationBeforeVisitingLocation=function(e){return t.dispatch("turbolinks:before-visit",{data:{url:e.absoluteURL},cancelable:!0})},n.prototype.notifyApplicationAfterVisitingLocation=function(e){return t.dispatch("turbolinks:visit",{data:{url:e.absoluteURL}})},n.prototype.notifyApplicationBeforeCachingSnapshot=function(){return t.dispatch("turbolinks:before-cache")},n.prototype.notifyApplicationBeforeRender=function(e){return t.dispatch("turbolinks:before-render",{data:{newBody:e}})},n.prototype.notifyApplicationAfterRender=function(){return t.dispatch("turbolinks:render")},n.prototype.notifyApplicationAfterPageLoad=function(e){return null==e&&(e={}),t.dispatch("turbolinks:load",{data:{url:this.location.absoluteURL,timing:e}})},n.prototype.startVisit=function(t,e,n){var i;return null!=(i=this.currentVisit)&&i.cancel(),this.currentVisit=this.createVisit(t,e,n),this.currentVisit.start(),this.notifyApplicationAfterVisitingLocation(t)},n.prototype.createVisit=function(e,n,i){var o,r,s,a,l;return r=null!=i?i:{},a=r.restorationIdentifier,s=r.restorationData,o=r.historyChanged,l=new t.Visit(this,e,n),l.restorationIdentifier=null!=a?a:t.uuid(),l.restorationData=t.copyObject(s),l.historyChanged=o,l.referrer=this.location,l},n.prototype.visitCompleted=function(t){return this.notifyApplicationAfterPageLoad(t.getTimingMetrics())},n.prototype.clickEventIsSignificant=function(t){return!(t.defaultPrevented||t.target.isContentEditable||t.which>1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)},n.prototype.getVisitableLinkForNode=function(e){return this.nodeIsVisitable(e)?t.closest(e,"a[href]:not([target]):not([download])"):void 0},n.prototype.getVisitableLocationForLink=function(e){var n;return n=new t.Location(e.getAttribute("href")),this.locationIsVisitable(n)?n:void 0},n.prototype.getActionForLink=function(t){var e;return null!=(e=t.getAttribute("data-turbolinks-action"))?e:"advance"},n.prototype.nodeIsVisitable=function(e){var n;return!(n=t.closest(e,"[data-turbolinks]"))||"false"!==n.getAttribute("data-turbolinks")},n.prototype.locationIsVisitable=function(t){return t.isPrefixedBy(this.view.getRootLocation())&&t.isHTML()},n.prototype.getCurrentRestorationData=function(){return this.getRestorationDataForIdentifier(this.restorationIdentifier)},n.prototype.getRestorationDataForIdentifier=function(t){var e;return null!=(e=this.restorationData)[t]?e[t]:e[t]={}},n}()}.call(this),function(){var e,n,i;t.start=function(){return n()?(null==t.controller&&(t.controller=e()),t.controller.start()):void 0},n=function(){return null==window.Turbolinks&&(window.Turbolinks=t),i()},e=function(){var e;return e=new t.Controller,e.adapter=new t.BrowserAdapter(e),e},(i=function(){return window.Turbolinks===t})()&&t.start()}.call(this)}).call(this),"object"==typeof module&&module.exports?module.exports=t:"function"==typeof define&&define.amd&&define(t)}.call(this),function(){var t=this;(function(){(function(){var t=[].slice;this.ActionCable={INTERNAL:{message_types:{welcome:"welcome",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},WebSocket:window.WebSocket,logger:window.console,createConsumer:function(t){var n;return null==t&&(t=null!=(n=this.getConfig("url"))?n:this.INTERNAL.default_mount_path),new e.Consumer(this.createWebSocketURL(t))},getConfig:function(t){var e;return e=document.head.querySelector("meta[name='action-cable-"+t+"']"),null!=e?e.getAttribute("content"):void 0},createWebSocketURL:function(t){var e;return t&&!/^wss?:/i.test(t)?(e=document.createElement("a"),e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href):t},startDebugging:function(){return this.debugging=!0},stopDebugging:function(){return this.debugging=null},log:function(){var e,n;if(e=1<=arguments.length?t.call(arguments,0):[],this.debugging)return e.push(Date.now()),(n=this.logger).log.apply(n,["[ActionCable]"].concat(t.call(e)))}}}).call(this)}).call(t);var e=t.ActionCable;(function(){(function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ConnectionMonitor=function(){function n(e){this.connection=e,this.visibilityDidChange=t(this.visibilityDidChange,this),this.reconnectAttempts=0}var i,o,r;return n.pollInterval={min:3,max:30},n.staleThreshold=6,n.prototype.start=function(){if(!this.isRunning())return this.startedAt=o(),delete this.stoppedAt,this.startPolling(),document.addEventListener("visibilitychange",this.visibilityDidChange),e.log("ConnectionMonitor started. pollInterval = "+this.getPollInterval()+" ms")},n.prototype.stop=function(){if(this.isRunning())return this.stoppedAt=o(),this.stopPolling(),document.removeEventListener("visibilitychange",this.visibilityDidChange),e.log("ConnectionMonitor stopped")},n.prototype.isRunning=function(){return null!=this.startedAt&&null==this.stoppedAt},n.prototype.recordPing=function(){return this.pingedAt=o()},n.prototype.recordConnect=function(){return this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,e.log("ConnectionMonitor recorded connect")},n.prototype.recordDisconnect=function(){return this.disconnectedAt=o(),e.log("ConnectionMonitor recorded disconnect")},n.prototype.startPolling=function(){return this.stopPolling(),this.poll()},n.prototype.stopPolling=function(){return clearTimeout(this.pollTimeout)},n.prototype.poll=function(){return this.pollTimeout=setTimeout(function(t){return function(){return t.reconnectIfStale(),t.poll()}}(this),this.getPollInterval())},n.prototype.getPollInterval=function(){var t,e,n,o;return o=this.constructor.pollInterval,n=o.min,e=o.max,t=5*Math.log(this.reconnectAttempts+1),Math.round(1e3*i(t,n,e))},n.prototype.reconnectIfStale=function(){if(this.connectionIsStale())return e.log("ConnectionMonitor detected stale connection. reconnectAttempts = "+this.reconnectAttempts+", pollInterval = "+this.getPollInterval()+" ms, time disconnected = "+r(this.disconnectedAt)+" s, stale threshold = "+this.constructor.staleThreshold+" s"),this.reconnectAttempts++,this.disconnectedRecently()?e.log("ConnectionMonitor skipping reopening recent disconnect"):(e.log("ConnectionMonitor reopening"),this.connection.reopen())},n.prototype.connectionIsStale=function(){var t;return r(null!=(t=this.pingedAt)?t:this.startedAt)>this.constructor.staleThreshold},n.prototype.disconnectedRecently=function(){return this.disconnectedAt&&r(this.disconnectedAt)=0},t.prototype.isState=function(){var t,e;return e=1<=arguments.length?s.call(arguments,0):[],t=this.getState(),l.call(e,t)>=0},t.prototype.getState=function(){var t,e;for(e in WebSocket)if(WebSocket[e]===(null!=(t=this.webSocket)?t.readyState:void 0))return e.toLowerCase();return null},t.prototype.installEventHandlers=function(){var t,e;for(t in this.events)e=this.events[t].bind(this),this.webSocket["on"+t]=e},t.prototype.uninstallEventHandlers=function(){var t;for(t in this.events)this.webSocket["on"+t]=function(){}},t.prototype.events={message:function(t){var e,i,o,r;if(this.isProtocolSupported())switch(o=JSON.parse(t.data),e=o.identifier,i=o.message,r=o.type,r){case n.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case n.ping:return this.monitor.recordPing();case n.confirmation:return this.subscriptions.notify(e,"connected");case n.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",i)}},open:function(){if(e.log("WebSocket onopen event, using '"+this.getProtocol()+"' subprotocol"),this.disconnected=!1,!this.isProtocolSupported())return e.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close:function(){if(e.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error:function(){return e.log("WebSocket onerror event")}},t}()}.call(this),function(){var t=[].slice;e.Subscriptions=function(){function n(t){this.consumer=t,this.subscriptions=[]}return n.prototype.create=function(t,n){var i,o,r;return i=t,o="object"==typeof i?i:{channel:i},r=new e.Subscription(this.consumer,o,n),this.add(r)},n.prototype.add=function(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.sendCommand(t,"subscribe"),t},n.prototype.remove=function(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t},n.prototype.reject=function(t){var e,n,i,o,r;for(i=this.findAll(t),o=[],e=0,n=i.length;e"; + if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) { + formContent += ""; + } + formContent += ''; + form.method = 'post'; + form.action = href; + form.target = link.target; + form.innerHTML = formContent; + form.style.display = 'none'; + document.body.appendChild(form); + form.querySelector('[type="submit"]').click(); + return stopEverything(e); + }; + + }).call(this); + (function() { + var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything, + slice = [].slice; + + matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement; + + isRemote = function(element) { + var value; + value = element.getAttribute('data-remote'); + return (value != null) && value !== 'false'; + }; + + Rails.handleRemote = function(e) { + var button, data, dataType, element, method, url, withCredentials; + element = this; + if (!isRemote(element)) { + return true; + } + if (!fire(element, 'ajax:before')) { + fire(element, 'ajax:stopped'); + return false; + } + withCredentials = element.getAttribute('data-with-credentials'); + dataType = element.getAttribute('data-type') || 'script'; + if (matches(element, Rails.formSubmitSelector)) { + button = getData(element, 'ujs:submit-button'); + method = getData(element, 'ujs:submit-button-formmethod') || element.method; + url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href; + if (method.toUpperCase() === 'GET') { + url = url.replace(/\?.*$/, ''); + } + if (element.enctype === 'multipart/form-data') { + data = new FormData(element); + if (button != null) { + data.append(button.name, button.value); + } + } else { + data = serializeElement(element, button); + } + setData(element, 'ujs:submit-button', null); + setData(element, 'ujs:submit-button-formmethod', null); + setData(element, 'ujs:submit-button-formaction', null); + } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) { + method = element.getAttribute('data-method'); + url = element.getAttribute('data-url'); + data = serializeElement(element, element.getAttribute('data-params')); + } else { + method = element.getAttribute('data-method'); + url = Rails.href(element); + data = element.getAttribute('data-params'); + } + ajax({ + type: method || 'GET', + url: url, + data: data, + dataType: dataType, + beforeSend: function(xhr, options) { + if (fire(element, 'ajax:beforeSend', [xhr, options])) { + return fire(element, 'ajax:send', [xhr]); + } else { + fire(element, 'ajax:stopped'); + return xhr.abort(); + } + }, + success: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:success', args); + }, + error: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:error', args); + }, + complete: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:complete', args); + }, + crossDomain: isCrossDomain(url), + withCredentials: (withCredentials != null) && withCredentials !== 'false' + }); + return stopEverything(e); + }; + + Rails.formSubmitButtonClick = function(e) { + var button, form; + button = this; + form = button.form; + if (!form) { + return; + } + if (button.name) { + setData(form, 'ujs:submit-button', { + name: button.name, + value: button.value + }); + } + setData(form, 'ujs:formnovalidate-button', button.formNoValidate); + setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction')); + return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod')); + }; + + Rails.handleMetaClick = function(e) { + var data, link, metaClick, method; + link = this; + method = (link.getAttribute('data-method') || 'GET').toUpperCase(); + data = link.getAttribute('data-params'); + metaClick = e.metaKey || e.ctrlKey; + if (metaClick && method === 'GET' && !data) { + return e.stopImmediatePropagation(); + } + }; + + }).call(this); + (function() { + var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMetaClick, handleMethod, handleRemote, refreshCSRFTokens; + + fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMetaClick = Rails.handleMetaClick, handleMethod = Rails.handleMethod; + + if ((typeof jQuery !== "undefined" && jQuery !== null) && (jQuery.ajax != null) && !jQuery.rails) { + jQuery.rails = Rails; + jQuery.ajaxPrefilter(function(options, originalOptions, xhr) { + if (!options.crossDomain) { + return CSRFProtection(xhr); + } + }); + } + + Rails.start = function() { + if (window._rails_loaded) { + throw new Error('rails-ujs has already been loaded!'); + } + window.addEventListener('pageshow', function() { + $(Rails.formEnableSelector).forEach(function(el) { + if (getData(el, 'ujs:disabled')) { + return enableElement(el); + } + }); + return $(Rails.linkDisableSelector).forEach(function(el) { + if (getData(el, 'ujs:disabled')) { + return enableElement(el); + } + }); + }); + delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement); + delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement); + delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement); + delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement); + delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.linkClickSelector, 'click', handleConfirm); + delegate(document, Rails.linkClickSelector, 'click', handleMetaClick); + delegate(document, Rails.linkClickSelector, 'click', disableElement); + delegate(document, Rails.linkClickSelector, 'click', handleRemote); + delegate(document, Rails.linkClickSelector, 'click', handleMethod); + delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.buttonClickSelector, 'click', handleConfirm); + delegate(document, Rails.buttonClickSelector, 'click', disableElement); + delegate(document, Rails.buttonClickSelector, 'click', handleRemote); + delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement); + delegate(document, Rails.inputChangeSelector, 'change', handleConfirm); + delegate(document, Rails.inputChangeSelector, 'change', handleRemote); + delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement); + delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm); + delegate(document, Rails.formSubmitSelector, 'submit', handleRemote); + delegate(document, Rails.formSubmitSelector, 'submit', function(e) { + return setTimeout((function() { + return disableElement(e); + }), 13); + }); + delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement); + delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement); + delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.formInputClickSelector, 'click', handleConfirm); + delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick); + document.addEventListener('DOMContentLoaded', refreshCSRFTokens); + return window._rails_loaded = true; + }; + + if (window.Rails === Rails && fire(document, 'rails:attachBindings')) { + Rails.start(); + } + + }).call(this); + }).call(this); + + if (typeof module === "object" && module.exports) { + module.exports = Rails; + } else if (typeof define === "function" && define.amd) { + define(Rails); + } +}).call(this); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 6); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return rtl; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return GetYoDigits; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return transitionend; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); + + + + +// Core Foundation Utilities, utilized in a number of places. + +/** + * Returns a boolean for RTL support + */ +function rtl() { + return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('html').attr('dir') === 'rtl'; +} + +/** + * returns a random base-36 uid with namespacing + * @function + * @param {Number} length - number of random base-36 digits desired. Increase for more random strings. + * @param {String} namespace - name of plugin to be incorporated in uid, optional. + * @default {String} '' - if no plugin name is provided, nothing is appended to the uid. + * @returns {String} - unique id + */ +function GetYoDigits(length, namespace) { + length = length || 6; + return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : ''); +} + +function transitionend($elem) { + var transitions = { + 'transition': 'transitionend', + 'WebkitTransition': 'webkitTransitionEnd', + 'MozTransition': 'transitionend', + 'OTransition': 'otransitionend' + }; + var elem = document.createElement('div'), + end; + + for (var t in transitions) { + if (typeof elem.style[t] !== 'undefined') { + end = transitions[t]; + } + } + if (end) { + return end; + } else { + end = setTimeout(function () { + $elem.triggerHandler('transitionend', [$elem]); + }, 1); + return 'transitionend'; + } +} + + + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_core__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__ = __webpack_require__(4); + + + +__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].addToJquery(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a); + +// These are now separated out, but historically were a part of this module, +// and since this is here for backwards compatibility we include them in +// this entry. + +__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].rtl = __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a" /* rtl */]; +__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].GetYoDigits = __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["b" /* GetYoDigits */]; +__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].transitionend = __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["c" /* transitionend */]; + +// Every plugin depends on plugin now, we can include that on the core for the +// script inclusion path. + + +__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Plugin = __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a" /* Plugin */]; + +window.Foundation = __WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */]; + +/***/ }), +/* 3 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Foundation; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__ = __webpack_require__(5); + + + + + + +var FOUNDATION_VERSION = '6.4.1'; + +// Global Foundation object +// This is attached to the window, or used as a module for AMD/Browserify +var Foundation = { + version: FOUNDATION_VERSION, + + /** + * Stores initialized plugins. + */ + _plugins: {}, + + /** + * Stores generated unique ids for plugin instances + */ + _uuids: [], + + /** + * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing. + * @param {Object} plugin - The constructor of the plugin. + */ + plugin: function (plugin, name) { + // Object key to use when adding to global Foundation object + // Examples: Foundation.Reveal, Foundation.OffCanvas + var className = name || functionName(plugin); + // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin + // Examples: data-reveal, data-off-canvas + var attrName = hyphenate(className); + + // Add to the Foundation object and the plugins list (for reflowing) + this._plugins[attrName] = this[className] = plugin; + }, + /** + * @function + * Populates the _uuids array with pointers to each individual plugin instance. + * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls. + * Also fires the initialization event for each plugin, consolidating repetitive code. + * @param {Object} plugin - an instance of a plugin, usually `this` in context. + * @param {String} name - the name of the plugin, passed as a camelCased string. + * @fires Plugin#init + */ + registerPlugin: function (plugin, name) { + var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase(); + plugin.uuid = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["b" /* GetYoDigits */])(6, pluginName); + + if (!plugin.$element.attr('data-' + pluginName)) { + plugin.$element.attr('data-' + pluginName, plugin.uuid); + } + if (!plugin.$element.data('zfPlugin')) { + plugin.$element.data('zfPlugin', plugin); + } + /** + * Fires when the plugin has initialized. + * @event Plugin#init + */ + plugin.$element.trigger('init.zf.' + pluginName); + + this._uuids.push(plugin.uuid); + + return; + }, + /** + * @function + * Removes the plugins uuid from the _uuids array. + * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute. + * Also fires the destroyed event for the plugin, consolidating repetitive code. + * @param {Object} plugin - an instance of a plugin, usually `this` in context. + * @fires Plugin#destroyed + */ + unregisterPlugin: function (plugin) { + var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor)); + + this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1); + plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin') + /** + * Fires when the plugin has been destroyed. + * @event Plugin#destroyed + */ + .trigger('destroyed.zf.' + pluginName); + for (var prop in plugin) { + plugin[prop] = null; //clean up script to prep for garbage collection. + } + return; + }, + + /** + * @function + * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc. + * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'` + * @default If no argument is passed, reflow all currently active plugins. + */ + reInit: function (plugins) { + var isJQ = plugins instanceof __WEBPACK_IMPORTED_MODULE_0_jquery___default.a; + try { + if (isJQ) { + plugins.each(function () { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('zfPlugin')._init(); + }); + } else { + var type = typeof plugins, + _this = this, + fns = { + 'object': function (plgs) { + plgs.forEach(function (p) { + p = hyphenate(p); + __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-' + p + ']').foundation('_init'); + }); + }, + 'string': function () { + plugins = hyphenate(plugins); + __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-' + plugins + ']').foundation('_init'); + }, + 'undefined': function () { + this['object'](Object.keys(_this._plugins)); + } + }; + fns[type](plugins); + } + } catch (err) { + console.error(err); + } finally { + return plugins; + } + }, + + /** + * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized. + * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object. + * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything. + */ + reflow: function (elem, plugins) { + + // If plugins is undefined, just grab everything + if (typeof plugins === 'undefined') { + plugins = Object.keys(this._plugins); + } + // If plugins is a string, convert it to an array with one item + else if (typeof plugins === 'string') { + plugins = [plugins]; + } + + var _this = this; + + // Iterate through each plugin + __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(plugins, function (i, name) { + // Get the current plugin + var plugin = _this._plugins[name]; + + // Localize the search to all elements inside elem, as well as elem itself, unless elem === document + var $elem = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']'); + + // For each plugin found, initialize it + $elem.each(function () { + var $el = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), + opts = {}; + // Don't double-dip on plugins + if ($el.data('zfPlugin')) { + console.warn("Tried to initialize " + name + " on an element that already has a Foundation plugin."); + return; + } + + if ($el.attr('data-options')) { + var thing = $el.attr('data-options').split(';').forEach(function (e, i) { + var opt = e.split(':').map(function (el) { + return el.trim(); + }); + if (opt[0]) opts[opt[0]] = parseValue(opt[1]); + }); + } + try { + $el.data('zfPlugin', new plugin(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), opts)); + } catch (er) { + console.error(er); + } finally { + return; + } + }); + }); + }, + getFnName: functionName, + + addToJquery: function ($) { + // TODO: consider not making this a jQuery function + // TODO: need way to reflow vs. re-initialize + /** + * The Foundation jQuery method. + * @param {String|Array} method - An action to perform on the current jQuery object. + */ + var foundation = function (method) { + var type = typeof method, + $noJS = $('.no-js'); + + if ($noJS.length) { + $noJS.removeClass('no-js'); + } + + if (type === 'undefined') { + //needs to initialize the Foundation object, or an individual plugin. + __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a" /* MediaQuery */]._init(); + Foundation.reflow(this); + } else if (type === 'string') { + //an individual method to invoke on a plugin or group of plugins + var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary + var plugClass = this.data('zfPlugin'); //determine the class of plugin + + if (plugClass !== undefined && plugClass[method] !== undefined) { + //make sure both the class and method exist + if (this.length === 1) { + //if there's only one, call it directly. + plugClass[method].apply(plugClass, args); + } else { + this.each(function (i, el) { + //otherwise loop through the jQuery collection and invoke the method on each + plugClass[method].apply($(el).data('zfPlugin'), args); + }); + } + } else { + //error for no class or no method + throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.'); + } + } else { + //error for invalid argument type + throw new TypeError('We\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.'); + } + return this; + }; + $.fn.foundation = foundation; + return $; + } +}; + +Foundation.util = { + /** + * Function for applying a debounce effect to a function call. + * @function + * @param {Function} func - Function to be called at end of timeout. + * @param {Number} delay - Time in ms to delay the call of `func`. + * @returns function + */ + throttle: function (func, delay) { + var timer = null; + + return function () { + var context = this, + args = arguments; + + if (timer === null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + } +}; + +window.Foundation = Foundation; + +// Polyfill for requestAnimationFrame +(function () { + if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () { + return new Date().getTime(); + }; + + var vendors = ['webkit', 'moz']; + for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { + var vp = vendors[i]; + window.requestAnimationFrame = window[vp + 'RequestAnimationFrame']; + window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame']; + } + if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) { + var lastTime = 0; + window.requestAnimationFrame = function (callback) { + var now = Date.now(); + var nextTime = Math.max(lastTime + 16, now); + return setTimeout(function () { + callback(lastTime = nextTime); + }, nextTime - now); + }; + window.cancelAnimationFrame = clearTimeout; + } + /** + * Polyfill for performance.now, required by rAF + */ + if (!window.performance || !window.performance.now) { + window.performance = { + start: Date.now(), + now: function () { + return Date.now() - this.start; + } + }; + } +})(); +if (!Function.prototype.bind) { + Function.prototype.bind = function (oThis) { + if (typeof this !== 'function') { + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function () {}, + fBound = function () { + return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + if (this.prototype) { + // native functions don't have a prototype + fNOP.prototype = this.prototype; + } + fBound.prototype = new fNOP(); + + return fBound; + }; +} +// Polyfill to get the name of a function in IE9 +function functionName(fn) { + if (Function.prototype.name === undefined) { + var funcNameRegex = /function\s([^(]{1,})\(/; + var results = funcNameRegex.exec(fn.toString()); + return results && results.length > 1 ? results[1].trim() : ""; + } else if (fn.prototype === undefined) { + return fn.constructor.name; + } else { + return fn.prototype.constructor.name; + } +} +function parseValue(str) { + if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str); + return str; +} +// Convert PascalCase to kebab-case +// Thank you: http://stackoverflow.com/a/8955580 +function hyphenate(str) { + return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); +} + + + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Plugin; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__ = __webpack_require__(1); + + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST +// {function} _setup (replaces previous constructor), +// {function} _destroy (replaces previous destroy) + +var Plugin = function () { + function Plugin(element, options) { + _classCallCheck(this, Plugin); + + this._setup(element, options); + var pluginName = getPluginName(this); + this.uuid = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["b" /* GetYoDigits */])(6, pluginName); + + if (!this.$element.attr('data-' + pluginName)) { + this.$element.attr('data-' + pluginName, this.uuid); + } + if (!this.$element.data('zfPlugin')) { + this.$element.data('zfPlugin', this); + } + /** + * Fires when the plugin has initialized. + * @event Plugin#init + */ + this.$element.trigger('init.zf.' + pluginName); + } + + _createClass(Plugin, [{ + key: 'destroy', + value: function destroy() { + this._destroy(); + var pluginName = getPluginName(this); + this.$element.removeAttr('data-' + pluginName).removeData('zfPlugin') + /** + * Fires when the plugin has been destroyed. + * @event Plugin#destroyed + */ + .trigger('destroyed.zf.' + pluginName); + for (var prop in this) { + this[prop] = null; //clean up script to prep for garbage collection. + } + } + }]); + + return Plugin; +}(); + +// Convert PascalCase to kebab-case +// Thank you: http://stackoverflow.com/a/8955580 + + +function hyphenate(str) { + return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); +} + +function getPluginName(obj) { + if (typeof obj.constructor.name !== 'undefined') { + return hyphenate(obj.constructor.name); + } else { + return hyphenate(obj.className); + } +} + + + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MediaQuery; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); + + + + +// Default set of media queries +var defaultQueries = { + 'default': 'only screen', + landscape: 'only screen and (orientation: landscape)', + portrait: 'only screen and (orientation: portrait)', + retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)' +}; + +// matchMedia() polyfill - Test a CSS media type/query in JS. +// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license +var matchMedia = window.matchMedia || function () { + 'use strict'; + + // For browsers that support matchMedium api such as IE 9 and webkit + + var styleMedia = window.styleMedia || window.media; + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script && script.parentNode && script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function (media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function (media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; +}(); + +var MediaQuery = { + queries: [], + + current: '', + + /** + * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher. + * @function + * @private + */ + _init: function () { + var self = this; + var $meta = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('meta.foundation-mq'); + if (!$meta.length) { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()('').appendTo(document.head); + } + + var extractedStyles = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family'); + var namedQueries; + + namedQueries = parseStyleToObject(extractedStyles); + + for (var key in namedQueries) { + if (namedQueries.hasOwnProperty(key)) { + self.queries.push({ + name: key, + value: 'only screen and (min-width: ' + namedQueries[key] + ')' + }); + } + } + + this.current = this._getCurrentSize(); + + this._watcher(); + }, + + + /** + * Checks if the screen is at least as wide as a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to check. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller. + */ + atLeast: function (size) { + var query = this.get(size); + + if (query) { + return matchMedia(query).matches; + } + + return false; + }, + + + /** + * Checks if the screen matches to a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not. + */ + is: function (size) { + size = size.trim().split(' '); + if (size.length > 1 && size[1] === 'only') { + if (size[0] === this._getCurrentSize()) return true; + } else { + return this.atLeast(size[0]); + } + return false; + }, + + + /** + * Gets the media query of a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to get. + * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist. + */ + get: function (size) { + for (var i in this.queries) { + if (this.queries.hasOwnProperty(i)) { + var query = this.queries[i]; + if (size === query.name) return query.value; + } + } + + return null; + }, + + + /** + * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one). + * @function + * @private + * @returns {String} Name of the current breakpoint. + */ + _getCurrentSize: function () { + var matched; + + for (var i = 0; i < this.queries.length; i++) { + var query = this.queries[i]; + + if (matchMedia(query.value).matches) { + matched = query; + } + } + + if (typeof matched === 'object') { + return matched.name; + } else { + return matched; + } + }, + + + /** + * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes. + * @function + * @private + */ + _watcher: function () { + var _this = this; + + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () { + var newSize = _this._getCurrentSize(), + currentSize = _this.current; + + if (newSize !== currentSize) { + // Change the current media query + _this.current = newSize; + + // Broadcast the media query change on the window + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]); + } + }); + } +}; + +// Thank you: https://github.com/sindresorhus/query-string +function parseStyleToObject(str) { + var styleObject = {}; + + if (typeof str !== 'string') { + return styleObject; + } + + str = str.trim().slice(1, -1); // browsers re-quote string style values + + if (!str) { + return styleObject; + } + + styleObject = str.split('&').reduce(function (ret, param) { + var parts = param.replace(/\+/g, ' ').split('='); + var key = parts[0]; + var val = parts[1]; + key = decodeURIComponent(key); + + // missing `=` should be `null`: + // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters + val = val === undefined ? null : decodeURIComponent(val); + + if (!ret.hasOwnProperty(key)) { + ret[key] = val; + } else if (Array.isArray(ret[key])) { + ret[key].push(val); + } else { + ret[key] = [ret[key], val]; + } + return ret; + }, {}); + + return styleObject; +} + + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(2); + + +/***/ }) +/******/ ]); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 100); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 100: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(34); + + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = {rtl: window.Foundation.rtl, GetYoDigits: window.Foundation.GetYoDigits, transitionend: window.Foundation.transitionend}; + +/***/ }), + +/***/ 34: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_box__ = __webpack_require__(64); + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Box = __WEBPACK_IMPORTED_MODULE_1__foundation_util_box__["a" /* Box */]; + +/***/ }), + +/***/ 64: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Box; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_util_core__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_util_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__); + + + + +var Box = { + ImNotTouchingYou: ImNotTouchingYou, + OverlapArea: OverlapArea, + GetDimensions: GetDimensions, + GetOffsets: GetOffsets, + GetExplicitOffsets: GetExplicitOffsets +}; + +/** + * Compares the dimensions of an element to a container and determines collision events with container. + * @function + * @param {jQuery} element - jQuery object to test for collisions. + * @param {jQuery} parent - jQuery object to use as bounding container. + * @param {Boolean} lrOnly - set to true to check left and right values only. + * @param {Boolean} tbOnly - set to true to check top and bottom values only. + * @default if no parent object passed, detects collisions with `window`. + * @returns {Boolean} - true if collision free, false if a collision in any direction. + */ +function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) { + return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0; +}; + +function OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) { + var eleDims = GetDimensions(element), + topOver, + bottomOver, + leftOver, + rightOver; + if (parent) { + var parDims = GetDimensions(parent); + + bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height); + topOver = eleDims.offset.top - parDims.offset.top; + leftOver = eleDims.offset.left - parDims.offset.left; + rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width); + } else { + bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height); + topOver = eleDims.offset.top - eleDims.windowDims.offset.top; + leftOver = eleDims.offset.left - eleDims.windowDims.offset.left; + rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width); + } + + bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0); + topOver = Math.min(topOver, 0); + leftOver = Math.min(leftOver, 0); + rightOver = Math.min(rightOver, 0); + + if (lrOnly) { + return leftOver + rightOver; + } + if (tbOnly) { + return topOver + bottomOver; + } + + // use sum of squares b/c we care about overlap area. + return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver); +} + +/** + * Uses native methods to return an object of dimension values. + * @function + * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window. + * @returns {Object} - nested object of integer pixel values + * TODO - if element is window, return only those values. + */ +function GetDimensions(elem, test) { + elem = elem.length ? elem[0] : elem; + + if (elem === window || elem === document) { + throw new Error("I'm sorry, Dave. I'm afraid I can't do that."); + } + + var rect = elem.getBoundingClientRect(), + parRect = elem.parentNode.getBoundingClientRect(), + winRect = document.body.getBoundingClientRect(), + winY = window.pageYOffset, + winX = window.pageXOffset; + + return { + width: rect.width, + height: rect.height, + offset: { + top: rect.top + winY, + left: rect.left + winX + }, + parentDims: { + width: parRect.width, + height: parRect.height, + offset: { + top: parRect.top + winY, + left: parRect.left + winX + } + }, + windowDims: { + width: winRect.width, + height: winRect.height, + offset: { + top: winY, + left: winX + } + } + }; +} + +/** + * Returns an object of top and left integer pixel values for dynamically rendered elements, + * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where + * you don't know alignment, but generally from + * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment. + * @function + * @param {jQuery} element - jQuery object for the element being positioned. + * @param {jQuery} anchor - jQuery object for the element's anchor point. + * @param {String} position - a string relating to the desired position of the element, relative to it's anchor + * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element. + * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element. + * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset. + * TODO alter/rewrite to work with `em` values as well/instead of pixels + */ +function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) { + console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5"); + switch (position) { + case 'top': + return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__["rtl"])() ? GetExplicitOffsets(element, anchor, 'top', 'left', vOffset, hOffset, isOverflow) : GetExplicitOffsets(element, anchor, 'top', 'right', vOffset, hOffset, isOverflow); + case 'bottom': + return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__["rtl"])() ? GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow) : GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow); + case 'center top': + return GetExplicitOffsets(element, anchor, 'top', 'center', vOffset, hOffset, isOverflow); + case 'center bottom': + return GetExplicitOffsets(element, anchor, 'bottom', 'center', vOffset, hOffset, isOverflow); + case 'center left': + return GetExplicitOffsets(element, anchor, 'left', 'center', vOffset, hOffset, isOverflow); + case 'center right': + return GetExplicitOffsets(element, anchor, 'right', 'center', vOffset, hOffset, isOverflow); + case 'left bottom': + return GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow); + case 'right bottom': + return GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow); + // Backwards compatibility... this along with the reveal and reveal full + // classes are the only ones that didn't reference anchor + case 'center': + return { + left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2 + hOffset, + top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - ($eleDims.height / 2 + vOffset) + }; + case 'reveal': + return { + left: ($eleDims.windowDims.width - $eleDims.width) / 2 + hOffset, + top: $eleDims.windowDims.offset.top + vOffset + }; + case 'reveal full': + return { + left: $eleDims.windowDims.offset.left, + top: $eleDims.windowDims.offset.top + }; + break; + default: + return { + left: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__["rtl"])() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset : $anchorDims.offset.left + hOffset, + top: $anchorDims.offset.top + $anchorDims.height + vOffset + }; + + } +} + +function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) { + var $eleDims = GetDimensions(element), + $anchorDims = anchor ? GetDimensions(anchor) : null; + + var topVal, leftVal; + + // set position related attribute + + switch (position) { + case 'top': + topVal = $anchorDims.offset.top - ($eleDims.height + vOffset); + break; + case 'bottom': + topVal = $anchorDims.offset.top + $anchorDims.height + vOffset; + break; + case 'left': + leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset); + break; + case 'right': + leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset; + break; + } + + // set alignment related attribute + switch (position) { + case 'top': + case 'bottom': + switch (alignment) { + case 'left': + leftVal = $anchorDims.offset.left + hOffset; + break; + case 'right': + leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset; + break; + case 'center': + leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset; + break; + } + break; + case 'right': + case 'left': + switch (alignment) { + case 'bottom': + topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height; + break; + case 'top': + topVal = $anchorDims.offset.top + vOffset; + break; + case 'center': + topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2; + break; + } + break; + } + return { top: topVal, left: leftVal }; +} + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 101); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 101: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(35); + + +/***/ }), + +/***/ 35: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_imageLoader__ = __webpack_require__(65); + + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].onImagesLoaded = __WEBPACK_IMPORTED_MODULE_1__foundation_util_imageLoader__["a" /* onImagesLoaded */]; + +/***/ }), + +/***/ 65: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return onImagesLoaded; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); + + + + +/** + * Runs a callback function when images are fully loaded. + * @param {Object} images - Image(s) to check if loaded. + * @param {Func} callback - Function to execute when image is fully loaded. + */ +function onImagesLoaded(images, callback) { + var self = this, + unloaded = images.length; + + if (unloaded === 0) { + callback(); + } + + images.each(function () { + // Check if image is loaded + if (this.complete && this.naturalWidth !== undefined) { + singleImageLoaded(); + } else { + // If the above check failed, simulate loading on detached element. + var image = new Image(); + // Still count image as loaded if it finalizes with an error. + var events = "load.zf.images error.zf.images"; + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(image).one(events, function me(event) { + // Unbind the event listeners. We're using 'one' but only one of the two events will have fired. + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).off(events, me); + singleImageLoaded(); + }); + image.src = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('src'); + } + }); + + function singleImageLoaded() { + unloaded--; + if (unloaded === 0) { + callback(); + } + } +} + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 102); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 102: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(36); + + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = {rtl: window.Foundation.rtl, GetYoDigits: window.Foundation.GetYoDigits, transitionend: window.Foundation.transitionend}; + +/***/ }), + +/***/ 36: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__ = __webpack_require__(66); + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Keyboard = __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a" /* Keyboard */]; + +/***/ }), + +/***/ 66: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Keyboard; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__); +/******************************************* + * * + * This util was created by Marius Olbertz * + * Please thank Marius on GitHub /owlbertz * + * or the web http://www.mariusolbertz.de/ * + * * + ******************************************/ + + + + + + +var keyCodes = { + 9: 'TAB', + 13: 'ENTER', + 27: 'ESCAPE', + 32: 'SPACE', + 35: 'END', + 36: 'HOME', + 37: 'ARROW_LEFT', + 38: 'ARROW_UP', + 39: 'ARROW_RIGHT', + 40: 'ARROW_DOWN' +}; + +var commands = {}; + +// Functions pulled out to be referenceable from internals +function findFocusable($element) { + if (!$element) { + return false; + } + return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () { + if (!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':visible') || __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('tabindex') < 0) { + return false; + } //only have visible elements and those that have a tabindex greater or equal 0 + return true; + }); +} + +function parseKey(event) { + var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); + + // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events + key = key.replace(/\W+/, ''); + + if (event.shiftKey) key = 'SHIFT_' + key; + if (event.ctrlKey) key = 'CTRL_' + key; + if (event.altKey) key = 'ALT_' + key; + + // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`) + key = key.replace(/_$/, ''); + + return key; +} + +var Keyboard = { + keys: getKeyCodes(keyCodes), + + /** + * Parses the (keyboard) event and returns a String that represents its key + * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE + * @param {Event} event - the event generated by the event handler + * @return String key - String that represents the key pressed + */ + parseKey: parseKey, + + /** + * Handles the given (keyboard) event + * @param {Event} event - the event generated by the event handler + * @param {String} component - Foundation component's name, e.g. Slider or Reveal + * @param {Objects} functions - collection of functions that are to be executed + */ + handleKey: function (event, component, functions) { + var commandList = commands[component], + keyCode = this.parseKey(event), + cmds, + command, + fn; + + if (!commandList) return console.warn('Component not defined!'); + + if (typeof commandList.ltr === 'undefined') { + // this component does not differentiate between ltr and rtl + cmds = commandList; // use plain list + } else { + // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa + if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["rtl"])()) cmds = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({}, commandList.ltr, commandList.rtl);else cmds = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({}, commandList.rtl, commandList.ltr); + } + command = cmds[keyCode]; + + fn = functions[command]; + if (fn && typeof fn === 'function') { + // execute function if exists + var returnValue = fn.apply(); + if (functions.handled || typeof functions.handled === 'function') { + // execute function when event was handled + functions.handled(returnValue); + } + } else { + if (functions.unhandled || typeof functions.unhandled === 'function') { + // execute function when event was not handled + functions.unhandled(); + } + } + }, + + + /** + * Finds all focusable elements within the given `$element` + * @param {jQuery} $element - jQuery object to search within + * @return {jQuery} $focusable - all focusable elements within `$element` + */ + + findFocusable: findFocusable, + + /** + * Returns the component name name + * @param {Object} component - Foundation component, e.g. Slider or Reveal + * @return String componentName + */ + + register: function (componentName, cmds) { + commands[componentName] = cmds; + }, + + + // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context? + // + /** + * Traps the focus in the given element. + * @param {jQuery} $element jQuery object to trap the foucs into. + */ + trapFocus: function ($element) { + var $focusable = findFocusable($element), + $firstFocusable = $focusable.eq(0), + $lastFocusable = $focusable.eq(-1); + + $element.on('keydown.zf.trapfocus', function (event) { + if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') { + event.preventDefault(); + $firstFocusable.focus(); + } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') { + event.preventDefault(); + $lastFocusable.focus(); + } + }); + }, + + /** + * Releases the trapped focus from the given element. + * @param {jQuery} $element jQuery object to release the focus for. + */ + releaseFocus: function ($element) { + $element.off('keydown.zf.trapfocus'); + } +}; + +/* + * Constants for easier comparing. + * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE + */ +function getKeyCodes(kcs) { + var k = {}; + for (var kc in kcs) { + k[kcs[kc]] = kcs[kc]; + }return k; +} + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 103); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 103: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(37); + + +/***/ }), + +/***/ 37: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__ = __webpack_require__(67); + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].MediaQuery = __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a" /* MediaQuery */]; + +/***/ }), + +/***/ 67: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MediaQuery; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); + + + + +// Default set of media queries +var defaultQueries = { + 'default': 'only screen', + landscape: 'only screen and (orientation: landscape)', + portrait: 'only screen and (orientation: portrait)', + retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)' +}; + +// matchMedia() polyfill - Test a CSS media type/query in JS. +// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license +var matchMedia = window.matchMedia || function () { + 'use strict'; + + // For browsers that support matchMedium api such as IE 9 and webkit + + var styleMedia = window.styleMedia || window.media; + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script && script.parentNode && script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function (media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function (media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; +}(); + +var MediaQuery = { + queries: [], + + current: '', + + /** + * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher. + * @function + * @private + */ + _init: function () { + var self = this; + var $meta = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('meta.foundation-mq'); + if (!$meta.length) { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()('').appendTo(document.head); + } + + var extractedStyles = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family'); + var namedQueries; + + namedQueries = parseStyleToObject(extractedStyles); + + for (var key in namedQueries) { + if (namedQueries.hasOwnProperty(key)) { + self.queries.push({ + name: key, + value: 'only screen and (min-width: ' + namedQueries[key] + ')' + }); + } + } + + this.current = this._getCurrentSize(); + + this._watcher(); + }, + + + /** + * Checks if the screen is at least as wide as a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to check. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller. + */ + atLeast: function (size) { + var query = this.get(size); + + if (query) { + return matchMedia(query).matches; + } + + return false; + }, + + + /** + * Checks if the screen matches to a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not. + */ + is: function (size) { + size = size.trim().split(' '); + if (size.length > 1 && size[1] === 'only') { + if (size[0] === this._getCurrentSize()) return true; + } else { + return this.atLeast(size[0]); + } + return false; + }, + + + /** + * Gets the media query of a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to get. + * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist. + */ + get: function (size) { + for (var i in this.queries) { + if (this.queries.hasOwnProperty(i)) { + var query = this.queries[i]; + if (size === query.name) return query.value; + } + } + + return null; + }, + + + /** + * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one). + * @function + * @private + * @returns {String} Name of the current breakpoint. + */ + _getCurrentSize: function () { + var matched; + + for (var i = 0; i < this.queries.length; i++) { + var query = this.queries[i]; + + if (matchMedia(query.value).matches) { + matched = query; + } + } + + if (typeof matched === 'object') { + return matched.name; + } else { + return matched; + } + }, + + + /** + * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes. + * @function + * @private + */ + _watcher: function () { + var _this = this; + + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () { + var newSize = _this._getCurrentSize(), + currentSize = _this.current; + + if (newSize !== currentSize) { + // Change the current media query + _this.current = newSize; + + // Broadcast the media query change on the window + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]); + } + }); + } +}; + +// Thank you: https://github.com/sindresorhus/query-string +function parseStyleToObject(str) { + var styleObject = {}; + + if (typeof str !== 'string') { + return styleObject; + } + + str = str.trim().slice(1, -1); // browsers re-quote string style values + + if (!str) { + return styleObject; + } + + styleObject = str.split('&').reduce(function (ret, param) { + var parts = param.replace(/\+/g, ' ').split('='); + var key = parts[0]; + var val = parts[1]; + key = decodeURIComponent(key); + + // missing `=` should be `null`: + // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters + val = val === undefined ? null : decodeURIComponent(val); + + if (!ret.hasOwnProperty(key)) { + ret[key] = val; + } else if (Array.isArray(ret[key])) { + ret[key].push(val); + } else { + ret[key] = [ret[key], val]; + } + return ret; + }, {}); + + return styleObject; +} + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 104); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 104: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(38); + + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = {rtl: window.Foundation.rtl, GetYoDigits: window.Foundation.GetYoDigits, transitionend: window.Foundation.transitionend}; + +/***/ }), + +/***/ 38: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__ = __webpack_require__(68); + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Motion = __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["a" /* Motion */]; +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Move = __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["b" /* Move */]; + +/***/ }), + +/***/ 68: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Move; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Motion; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__); + + + + + +/** + * Motion module. + * @module foundation.motion + */ + +var initClasses = ['mui-enter', 'mui-leave']; +var activeClasses = ['mui-enter-active', 'mui-leave-active']; + +var Motion = { + animateIn: function (element, animation, cb) { + animate(true, element, animation, cb); + }, + + animateOut: function (element, animation, cb) { + animate(false, element, animation, cb); + } +}; + +function Move(duration, elem, fn) { + var anim, + prog, + start = null; + // console.log('called'); + + if (duration === 0) { + fn.apply(elem); + elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); + return; + } + + function move(ts) { + if (!start) start = ts; + // console.log(start, ts); + prog = ts - start; + fn.apply(elem); + + if (prog < duration) { + anim = window.requestAnimationFrame(move, elem); + } else { + window.cancelAnimationFrame(anim); + elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); + } + } + anim = window.requestAnimationFrame(move); +} + +/** + * Animates an element in or out using a CSS transition class. + * @function + * @private + * @param {Boolean} isIn - Defines if the animation is in or out. + * @param {Object} element - jQuery or HTML object to animate. + * @param {String} animation - CSS class to use. + * @param {Function} cb - Callback to run when animation is finished. + */ +function animate(isIn, element, animation, cb) { + element = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(element).eq(0); + + if (!element.length) return; + + var initClass = isIn ? initClasses[0] : initClasses[1]; + var activeClass = isIn ? activeClasses[0] : activeClasses[1]; + + // Set up the animation + reset(); + + element.addClass(animation).css('transition', 'none'); + + requestAnimationFrame(function () { + element.addClass(initClass); + if (isIn) element.show(); + }); + + // Start the animation + requestAnimationFrame(function () { + element[0].offsetWidth; + element.css('transition', '').addClass(activeClass); + }); + + // Clean up the animation when it finishes + element.one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["transitionend"])(element), finish); + + // Hides the element (for out animations), resets the element, and runs a callback + function finish() { + if (!isIn) element.hide(); + reset(); + if (cb) cb.apply(element); + } + + // Resets transitions and removes motion-specific classes + function reset() { + element[0].style.transitionDuration = 0; + element.removeClass(initClass + ' ' + activeClass + ' ' + animation); + } +} + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 105); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 105: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(39); + + +/***/ }), + +/***/ 39: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_nest__ = __webpack_require__(69); + + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Nest = __WEBPACK_IMPORTED_MODULE_1__foundation_util_nest__["a" /* Nest */]; + +/***/ }), + +/***/ 69: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Nest; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); + + + + +var Nest = { + Feather: function (menu) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf'; + + menu.attr('role', 'menubar'); + + var items = menu.find('li').attr({ 'role': 'menuitem' }), + subMenuClass = 'is-' + type + '-submenu', + subItemClass = subMenuClass + '-item', + hasSubClass = 'is-' + type + '-submenu-parent', + applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes. + + items.each(function () { + var $item = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), + $sub = $item.children('ul'); + + if ($sub.length) { + $item.addClass(hasSubClass); + $sub.addClass('submenu ' + subMenuClass).attr({ 'data-submenu': '' }); + if (applyAria) { + $item.attr({ + 'aria-haspopup': true, + 'aria-label': $item.children('a:first').text() + }); + // Note: Drilldowns behave differently in how they hide, and so need + // additional attributes. We should look if this possibly over-generalized + // utility (Nest) is appropriate when we rework menus in 6.4 + if (type === 'drilldown') { + $item.attr({ 'aria-expanded': false }); + } + } + $sub.addClass('submenu ' + subMenuClass).attr({ + 'data-submenu': '', + 'role': 'menu' + }); + if (type === 'drilldown') { + $sub.attr({ 'aria-hidden': true }); + } + } + + if ($item.parent('[data-submenu]').length) { + $item.addClass('is-submenu-item ' + subItemClass); + } + }); + + return; + }, + Burn: function (menu, type) { + var //items = menu.find('li'), + subMenuClass = 'is-' + type + '-submenu', + subItemClass = subMenuClass + '-item', + hasSubClass = 'is-' + type + '-submenu-parent'; + + menu.find('>li, .menu, .menu > li').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', ''); + } +}; + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 106); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 106: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(40); + + +/***/ }), + +/***/ 40: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_timer__ = __webpack_require__(70); + + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Timer = __WEBPACK_IMPORTED_MODULE_1__foundation_util_timer__["a" /* Timer */]; + +/***/ }), + +/***/ 70: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Timer; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); + + + + +function Timer(elem, options, cb) { + var _this = this, + duration = options.duration, + //options is an object for easily adding features later. + nameSpace = Object.keys(elem.data())[0] || 'timer', + remain = -1, + start, + timer; + + this.isPaused = false; + + this.restart = function () { + remain = -1; + clearTimeout(timer); + this.start(); + }; + + this.start = function () { + this.isPaused = false; + // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. + clearTimeout(timer); + remain = remain <= 0 ? duration : remain; + elem.data('paused', false); + start = Date.now(); + timer = setTimeout(function () { + if (options.infinite) { + _this.restart(); //rerun the timer. + } + if (cb && typeof cb === 'function') { + cb(); + } + }, remain); + elem.trigger('timerstart.zf.' + nameSpace); + }; + + this.pause = function () { + this.isPaused = true; + //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. + clearTimeout(timer); + elem.data('paused', true); + var end = Date.now(); + remain = remain - (end - start); + elem.trigger('timerpaused.zf.' + nameSpace); + }; +} + + + +/***/ }) + +/******/ }); +'use strict'; + +!function ($) { + + function Timer(elem, options, cb) { + var _this = this, + duration = options.duration, + //options is an object for easily adding features later. + nameSpace = Object.keys(elem.data())[0] || 'timer', + remain = -1, + start, + timer; + + this.isPaused = false; + + this.restart = function () { + remain = -1; + clearTimeout(timer); + this.start(); + }; + + this.start = function () { + this.isPaused = false; + // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. + clearTimeout(timer); + remain = remain <= 0 ? duration : remain; + elem.data('paused', false); + start = Date.now(); + timer = setTimeout(function () { + if (options.infinite) { + _this.restart(); //rerun the timer. + } + if (cb && typeof cb === 'function') { + cb(); + } + }, remain); + elem.trigger('timerstart.zf.' + nameSpace); + }; + + this.pause = function () { + this.isPaused = true; + //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. + clearTimeout(timer); + elem.data('paused', true); + var end = Date.now(); + remain = remain - (end - start); + elem.trigger('timerpaused.zf.' + nameSpace); + }; + } + + /** + * Runs a callback function when images are fully loaded. + * @param {Object} images - Image(s) to check if loaded. + * @param {Func} callback - Function to execute when image is fully loaded. + */ + function onImagesLoaded(images, callback) { + var self = this, + unloaded = images.length; + + if (unloaded === 0) { + callback(); + } + + images.each(function () { + // Check if image is loaded + if (this.complete || this.readyState === 4 || this.readyState === 'complete') { + singleImageLoaded(); + } + // Force load the image + else { + // fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/ + var src = $(this).attr('src'); + $(this).attr('src', src + (src.indexOf('?') >= 0 ? '&' : '?') + new Date().getTime()); + $(this).one('load', function () { + singleImageLoaded(); + }); + } + }); + + function singleImageLoaded() { + unloaded--; + if (unloaded === 0) { + callback(); + } + } + } + + Foundation.Timer = Timer; + Foundation.onImagesLoaded = onImagesLoaded; +}(jQuery); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 107); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 107: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(41); + + +/***/ }), + +/***/ 41: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__ = __webpack_require__(71); + + + + +__WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__["a" /* Touch */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a); + +window.Foundation.Touch = __WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__["a" /* Touch */]; + +/***/ }), + +/***/ 71: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Touch; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +//************************************************** +//**Work inspired by multiple jquery swipe plugins** +//**Done by Yohai Ararat *************************** +//************************************************** + + + +var Touch = {}; + +var startPosX, + startPosY, + startTime, + elapsedTime, + isMoving = false; + +function onTouchEnd() { + // alert(this); + this.removeEventListener('touchmove', onTouchMove); + this.removeEventListener('touchend', onTouchEnd); + isMoving = false; +} + +function onTouchMove(e) { + if (__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.preventDefault) { + e.preventDefault(); + } + if (isMoving) { + var x = e.touches[0].pageX; + var y = e.touches[0].pageY; + var dx = startPosX - x; + var dy = startPosY - y; + var dir; + elapsedTime = new Date().getTime() - startTime; + if (Math.abs(dx) >= __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.moveThreshold && elapsedTime <= __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.timeThreshold) { + dir = dx > 0 ? 'left' : 'right'; + } + // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) { + // dir = dy > 0 ? 'down' : 'up'; + // } + if (dir) { + e.preventDefault(); + onTouchEnd.call(this); + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('swipe', dir).trigger('swipe' + dir); + } + } +} + +function onTouchStart(e) { + if (e.touches.length == 1) { + startPosX = e.touches[0].pageX; + startPosY = e.touches[0].pageY; + isMoving = true; + startTime = new Date().getTime(); + this.addEventListener('touchmove', onTouchMove, false); + this.addEventListener('touchend', onTouchEnd, false); + } +} + +function init() { + this.addEventListener && this.addEventListener('touchstart', onTouchStart, false); +} + +function teardown() { + this.removeEventListener('touchstart', onTouchStart); +} + +var SpotSwipe = function () { + function SpotSwipe($) { + _classCallCheck(this, SpotSwipe); + + this.version = '1.0.0'; + this.enabled = 'ontouchstart' in document.documentElement; + this.preventDefault = false; + this.moveThreshold = 75; + this.timeThreshold = 200; + this.$ = $; + this._init(); + } + + _createClass(SpotSwipe, [{ + key: '_init', + value: function _init() { + var $ = this.$; + $.event.special.swipe = { setup: init }; + + $.each(['left', 'up', 'down', 'right'], function () { + $.event.special['swipe' + this] = { setup: function () { + $(this).on('swipe', $.noop); + } }; + }); + } + }]); + + return SpotSwipe; +}(); + +/**************************************************** + * As far as I can tell, both setupSpotSwipe and * + * setupTouchHandler should be idempotent, * + * because they directly replace functions & * + * values, and do not add event handlers directly. * + ****************************************************/ + +Touch.setupSpotSwipe = function ($) { + $.spotSwipe = new SpotSwipe($); +}; + +/**************************************************** + * Method for adding pseudo drag events to elements * + ***************************************************/ +Touch.setupTouchHandler = function ($) { + $.fn.addTouch = function () { + this.each(function (i, el) { + $(el).bind('touchstart touchmove touchend touchcancel', function () { + //we pass the original event object because the jQuery event + //object is normalized to w3c specs and does not provide the TouchList + handleTouch(event); + }); + }); + + var handleTouch = function (event) { + var touches = event.changedTouches, + first = touches[0], + eventTypes = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup' + }, + type = eventTypes[event.type], + simulatedEvent; + + if ('MouseEvent' in window && typeof window.MouseEvent === 'function') { + simulatedEvent = new window.MouseEvent(type, { + 'bubbles': true, + 'cancelable': true, + 'screenX': first.screenX, + 'screenY': first.screenY, + 'clientX': first.clientX, + 'clientY': first.clientY + }); + } else { + simulatedEvent = document.createEvent('MouseEvent'); + simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null); + } + first.target.dispatchEvent(simulatedEvent); + }; + }; +}; + +Touch.init = function ($) { + if (typeof $.spotSwipe === 'undefined') { + Touch.setupSpotSwipe($); + Touch.setupTouchHandler($); + } +}; + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 108); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 108: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(42); + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = {Motion: window.Foundation.Motion, Move: window.Foundation.Move}; + +/***/ }), + +/***/ 42: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation_util_triggers__ = __webpack_require__(7); + + + + +__WEBPACK_IMPORTED_MODULE_2__foundation_util_triggers__["a" /* Triggers */].init(__WEBPACK_IMPORTED_MODULE_1_jquery___default.a, __WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"]); + +/***/ }), + +/***/ 7: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Triggers; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__); + + + + + +var MutationObserver = function () { + var prefixes = ['WebKit', 'Moz', 'O', 'Ms', '']; + for (var i = 0; i < prefixes.length; i++) { + if (prefixes[i] + 'MutationObserver' in window) { + return window[prefixes[i] + 'MutationObserver']; + } + } + return false; +}(); + +var triggers = function (el, type) { + el.data(type).split(' ').forEach(function (id) { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]); + }); +}; + +var Triggers = { + Listeners: { + Basic: {}, + Global: {} + }, + Initializers: {} +}; + +Triggers.Listeners.Basic = { + openListener: function () { + triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'open'); + }, + closeListener: function () { + var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('close'); + if (id) { + triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'close'); + } else { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('close.zf.trigger'); + } + }, + toggleListener: function () { + var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle'); + if (id) { + triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'toggle'); + } else { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('toggle.zf.trigger'); + } + }, + closeableListener: function (e) { + e.stopPropagation(); + var animation = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('closable'); + + if (animation !== '') { + __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["Motion"].animateOut(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), animation, function () { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('closed.zf'); + }); + } else { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).fadeOut().trigger('closed.zf'); + } + }, + toggleFocusListener: function () { + var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle-focus'); + __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#' + id).triggerHandler('toggle.zf.trigger', [__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)]); + } +}; + +// Elements with [data-open] will reveal a plugin that supports it when clicked. +Triggers.Initializers.addOpenListener = function ($elem) { + $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener); + $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener); +}; + +// Elements with [data-close] will close a plugin that supports it when clicked. +// If used without a value on [data-close], the event will bubble, allowing it to close a parent component. +Triggers.Initializers.addCloseListener = function ($elem) { + $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener); + $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener); +}; + +// Elements with [data-toggle] will toggle a plugin that supports it when clicked. +Triggers.Initializers.addToggleListener = function ($elem) { + $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener); + $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener); +}; + +// Elements with [data-closable] will respond to close.zf.trigger events. +Triggers.Initializers.addCloseableListener = function ($elem) { + $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener); + $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener); +}; + +// Elements with [data-toggle-focus] will respond to coming in and out of focus +Triggers.Initializers.addToggleFocusListener = function ($elem) { + $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener); + $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener); +}; + +// More Global/complex listeners and triggers +Triggers.Listeners.Global = { + resizeListener: function ($nodes) { + if (!MutationObserver) { + //fallback for IE 9 + $nodes.each(function () { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('resizeme.zf.trigger'); + }); + } + //trigger all listening elements and signal a resize event + $nodes.attr('data-events', "resize"); + }, + scrollListener: function ($nodes) { + if (!MutationObserver) { + //fallback for IE 9 + $nodes.each(function () { + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('scrollme.zf.trigger'); + }); + } + //trigger all listening elements and signal a scroll event + $nodes.attr('data-events', "scroll"); + }, + closeMeListener: function (e, pluginId) { + var plugin = e.namespace.split('.')[0]; + var plugins = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]'); + + plugins.each(function () { + var _this = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this); + _this.triggerHandler('close.zf.trigger', [_this]); + }); + } +}; + +// Global, parses whole document. +Triggers.Initializers.addClosemeListener = function (pluginName) { + var yetiBoxes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-yeti-box]'), + plugNames = ['dropdown', 'tooltip', 'reveal']; + + if (pluginName) { + if (typeof pluginName === 'string') { + plugNames.push(pluginName); + } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') { + plugNames.concat(pluginName); + } else { + console.error('Plugin names must be strings'); + } + } + if (yetiBoxes.length) { + var listeners = plugNames.map(function (name) { + return 'closeme.zf.' + name; + }).join(' '); + + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener); + } +}; + +function debounceGlobalListener(debounce, trigger, listener) { + var timer = void 0, + args = Array.prototype.slice.call(arguments, 3); + __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(trigger).on(trigger, function (e) { + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(function () { + listener.apply(null, args); + }, debounce || 10); //default time to emit scroll event + }); +} + +Triggers.Initializers.addResizeListener = function (debounce) { + var $nodes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-resize]'); + if ($nodes.length) { + debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes); + } +}; + +Triggers.Initializers.addScrollListener = function (debounce) { + var $nodes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-scroll]'); + if ($nodes.length) { + debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes); + } +}; + +Triggers.Initializers.addMutationEventsListener = function ($elem) { + if (!MutationObserver) { + return false; + } + var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); + + //element callback + var listeningElementsMutation = function (mutationRecordsList) { + var $target = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(mutationRecordsList[0].target); + + //trigger the event handler for the element depending on type + switch (mutationRecordsList[0].type) { + case "attributes": + if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") { + $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]); + } + if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") { + $target.triggerHandler('resizeme.zf.trigger', [$target]); + } + if (mutationRecordsList[0].attributeName === "style") { + $target.closest("[data-mutate]").attr("data-events", "mutate"); + $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); + } + break; + + case "childList": + $target.closest("[data-mutate]").attr("data-events", "mutate"); + $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); + break; + + default: + return false; + //nothing + } + }; + + if ($nodes.length) { + //for each element that needs to listen for resizing, scrolling, or mutation add a single observer + for (var i = 0; i <= $nodes.length - 1; i++) { + var elementObserver = new MutationObserver(listeningElementsMutation); + elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] }); + } + } +}; + +Triggers.Initializers.addSimpleListeners = function () { + var $document = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document); + + Triggers.Initializers.addOpenListener($document); + Triggers.Initializers.addCloseListener($document); + Triggers.Initializers.addToggleListener($document); + Triggers.Initializers.addCloseableListener($document); + Triggers.Initializers.addToggleFocusListener($document); +}; + +Triggers.Initializers.addGlobalListeners = function () { + var $document = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document); + Triggers.Initializers.addMutationEventsListener($document); + Triggers.Initializers.addResizeListener(); + Triggers.Initializers.addScrollListener(); + Triggers.Initializers.addClosemeListener(); +}; + +Triggers.init = function ($, Foundation) { + if (typeof $.triggersInitialized === 'undefined') { + var $document = $(document); + + if (document.readyState === "complete") { + Triggers.Initializers.addSimpleListeners(); + Triggers.Initializers.addGlobalListeners(); + } else { + $(window).on('load', function () { + Triggers.Initializers.addSimpleListeners(); + Triggers.Initializers.addGlobalListeners(); + }); + } + + $.triggersInitialized = true; + } + + if (Foundation) { + Foundation.Triggers = Triggers; + // Legacy included to be backwards compatible for now. + Foundation.IHearYou = Triggers.Initializers.addGlobalListeners; + } +}; + + + +/***/ }) + +/******/ }); +/******/ + (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 79); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = jQuery; + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = {Foundation: window.Foundation}; + +/***/ }), + +/***/ 13: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_abide__ = __webpack_require__(43); + + + +__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].plugin(__WEBPACK_IMPORTED_MODULE_1__foundation_abide__["a" /* Abide */], 'Abide'); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = {Plugin: window.Foundation.Plugin}; + +/***/ }), + +/***/ 43: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Abide; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_plugin__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_plugin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_plugin__); + + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + + + +/** + * Abide module. + * @module foundation.abide + */ + +var Abide = function (_Plugin) { + _inherits(Abide, _Plugin); + + function Abide() { + _classCallCheck(this, Abide); + + return _possibleConstructorReturn(this, (Abide.__proto__ || Object.getPrototypeOf(Abide)).apply(this, arguments)); + } + + _createClass(Abide, [{ + key: '_setup', + + /** + * Creates a new instance of Abide. + * @class + * @name Abide + * @fires Abide#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + this.$element = element; + this.options = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({}, Abide.defaults, this.$element.data(), options); + + this.className = 'Abide'; // ie9 back compat + this._init(); + } + + /** + * Initializes the Abide plugin and calls functions to get Abide functioning on load. + * @private + */ + + }, { + key: '_init', + value: function _init() { + this.$inputs = this.$element.find('input, textarea, select'); + + this._events(); + } + + /** + * Initializes events for Abide. + * @private + */ + + }, { + key: '_events', + value: function _events() { + var _this3 = this; + + this.$element.off('.abide').on('reset.zf.abide', function () { + _this3.resetForm(); + }).on('submit.zf.abide', function () { + return _this3.validateForm(); + }); + + if (this.options.validateOn === 'fieldChange') { + this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) { + _this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target)); + }); + } + + if (this.options.liveValidate) { + this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) { + _this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target)); + }); + } + + if (this.options.validateOnBlur) { + this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) { + _this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target)); + }); + } + } + + /** + * Calls necessary functions to update Abide upon DOM change + * @private + */ + + }, { + key: '_reflow', + value: function _reflow() { + this._init(); + } + + /** + * Checks whether or not a form element has the required attribute and if it's checked or not + * @param {Object} element - jQuery object to check for required attribute + * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty + */ + + }, { + key: 'requiredCheck', + value: function requiredCheck($el) { + if (!$el.attr('required')) return true; + + var isGood = true; + + switch ($el[0].type) { + case 'checkbox': + isGood = $el[0].checked; + break; + + case 'select': + case 'select-one': + case 'select-multiple': + var opt = $el.find('option:selected'); + if (!opt.length || !opt.val()) isGood = false; + break; + + default: + if (!$el.val() || !$el.val().length) isGood = false; + } + + return isGood; + } + + /** + * Get: + * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order: + * 1. The element's direct sibling('s). + * 2. The element's parent's children. + * - Element(s) with the attribute `[data-form-error-for]` set with the element's id. + * + * This allows for multiple form errors per input, though if none are found, no form errors will be shown. + * + * @param {Object} $el - jQuery object to use as reference to find the form error selector. + * @returns {Object} jQuery object with the selector. + */ + + }, { + key: 'findFormError', + value: function findFormError($el) { + var id = $el[0].id; + var $error = $el.siblings(this.options.formErrorSelector); + + if (!$error.length) { + $error = $el.parent().find(this.options.formErrorSelector); + } + + $error = $error.add(this.$element.find('[data-form-error-for="' + id + '"]')); + + return $error; + } + + /** + * Get the first element in this order: + * 2. The