' + image_tag(param || 'http://placehold.it/300x300&text=Click%20to%20upload%20an%20Image') + (form.file_field name) + (form.hidden_field (name.to_s + '_cache')) + '
0 ? ' ' + classes.join(' ') : ''}\">" + (label_after ? '' : label_html) + form_html + (label_after ? label_html : '') + "
").html_safe
+ end
+
+ def actions(action)
+ (''
+ objects.each_index do |i|
+ @this = objects[i]
+ result += '- '
+ result += hidden_field_tag (id + "[#{i}]"), objects[i][id]
+ result += hidden_field_tag ('position' + "[#{i}]"), i, :class => 'sortable-position'
+ if block_given?
+ result += capture(objects[i], &block)
+ end
+ result += '
'
+ end
+ result += ''
+ result.html_safe
+ end
+
+ def tabs object, tabs
+ type = object.class.name.downcase
+ tab_list = ''
+
+ tabs.each do |tab|
+ link = nil
+ if self.respond_to?(type + '_' + tab.to_s + '_path')
+ link = self.send(type + '_' + tab.to_s + '_path', object)
+ elsif self.respond_to?(tab.to_s + '_' + type + '_path')
+ link = self.send(tab.to_s + '_' + type + '_path', object)
+ end
+
+ c = ['tab', 'tab-' + (link ? tab.to_s : 'show')]
+ if params[:action] == tab.to_s
+ c << 'current'
+ end
+ tab_list += link_to tab, link || object, :class => c
+ end
+ ('').html_safe
+ end
+
+ def tabs!
+ object = nil
+ tabs = nil
+ case params[:controller]
+ when 'organizations'
+ object = @organization
+ tabs = OrganizationsHelper::TABS
+ when 'conferences'
+ object = @conference
+ tabs = ConferencesHelper::TABS
+ end
+
+ if object && tabs
+ return tabs object, tabs
+ end
+ end
+
+ def sub_tabs object, tabs
+ type = object.class.name.downcase
+ tab_list = ''
+
+ tabs.each do |tab|
+ link = nil
+ if self.respond_to?(type + '_' + tab.to_s + '_path')
+ link = self.send(type + '_' + tab.to_s + '_path', object)
+ elsif self.respond_to?(tab.to_s + '_' + type + '_path')
+ link = self.send(tab.to_s + '_' + type + '_path', object)
+ end
+
+ c = ['sub-tab', 'sub-tab-' + (link ? tab.to_s : 'show')]
+ if current_page?(link)
+ c << 'current'
+ end
+ tab_list += link_to tab, link || object, :class => c
+ end
+ ('').html_safe
+ end
+
+ def sub_tabs!
+ object = nil
+ tabs = nil
+ case params[:controller]
+ when 'organizations'
+ object = @organization
+ tabs = OrganizationsHelper::SUB_TABS
+ when 'conferences'
+ object = @conference
+ tabs = ConferencesHelper::SUB_TABS
+ end
+
+ if object && tabs
+ return sub_tabs object, tabs
+ end
+ end
+
+ def p(object, attribute)
+ ('' + object.send(attribute.to_s).strip.gsub(/\s*\n+\s*/, '
') + '
').html_safe
+ end
+
+ def form_field(f)
+ id = 'field_' + f.id.to_s
+ html = p(f, 'title')#''
+
+ options = JSON.parse(f.options)
+ if f.field_type == 'multiple'
+ if f.help
+ html += ('' + p(f, 'help') + '
').html_safe
+ end
+
+ opts = Hash.new
+ options['options'].split(/\s*\n\s*/).each do |value|
+ kv = value.split(/\s*\|\s*/, 2)
+ opts[kv[0]] = kv[1]
+ end
+ opts.each do |key, value|
+ #html += self.send(options['selection_type'] + '_tag', 'field-' + id)
+ html += field((id + '_' + key), options['selection_type'] + '_tag', label: value)
+ end
+ else
+ html += field(id.to_sym, options['input_type'] + '_tag', label: false, placeholder: f.help)
+ end
+
+ html.html_safe
+ end
- def yield_or_default(section, default = '')
- content_for?(section) ? content_for(section) : default
- end
end
diff --git a/app/helpers/conference_admins_helper.rb b/app/helpers/conference_admins_helper.rb
new file mode 100644
index 0000000..dc89672
--- /dev/null
+++ b/app/helpers/conference_admins_helper.rb
@@ -0,0 +1,2 @@
+module ConferenceAdminsHelper
+end
diff --git a/app/helpers/conference_host_organizations_helper.rb b/app/helpers/conference_host_organizations_helper.rb
new file mode 100644
index 0000000..cd60157
--- /dev/null
+++ b/app/helpers/conference_host_organizations_helper.rb
@@ -0,0 +1,2 @@
+module ConferenceHostOrganizationsHelper
+end
diff --git a/app/helpers/conference_registration_responses_helper.rb b/app/helpers/conference_registration_responses_helper.rb
new file mode 100644
index 0000000..800ccdf
--- /dev/null
+++ b/app/helpers/conference_registration_responses_helper.rb
@@ -0,0 +1,2 @@
+module ConferenceRegistrationResponsesHelper
+end
diff --git a/app/helpers/conference_registrations_helper.rb b/app/helpers/conference_registrations_helper.rb
new file mode 100644
index 0000000..8da1e6f
--- /dev/null
+++ b/app/helpers/conference_registrations_helper.rb
@@ -0,0 +1,2 @@
+module ConferenceRegistrationsHelper
+end
diff --git a/app/helpers/conference_registraton_form_fields_helper.rb b/app/helpers/conference_registraton_form_fields_helper.rb
new file mode 100644
index 0000000..0ed4a48
--- /dev/null
+++ b/app/helpers/conference_registraton_form_fields_helper.rb
@@ -0,0 +1,2 @@
+module ConferenceRegistratonFormFieldsHelper
+end
diff --git a/app/helpers/conference_types_helper.rb b/app/helpers/conference_types_helper.rb
new file mode 100644
index 0000000..059397d
--- /dev/null
+++ b/app/helpers/conference_types_helper.rb
@@ -0,0 +1,2 @@
+module ConferenceTypesHelper
+end
diff --git a/app/helpers/conferences_helper.rb b/app/helpers/conferences_helper.rb
new file mode 100644
index 0000000..c9d66ea
--- /dev/null
+++ b/app/helpers/conferences_helper.rb
@@ -0,0 +1,4 @@
+module ConferencesHelper
+ TABS = [:show, :edit, :hosts, :workshops, :schedule, :registration]
+ SUB_TABS = [:registration, :registration_form, :registration_register, :registration_stats]
+end
diff --git a/app/helpers/locations_helper.rb b/app/helpers/locations_helper.rb
new file mode 100644
index 0000000..46f9428
--- /dev/null
+++ b/app/helpers/locations_helper.rb
@@ -0,0 +1,2 @@
+module LocationsHelper
+end
diff --git a/app/helpers/organization_statuses_helper.rb b/app/helpers/organization_statuses_helper.rb
new file mode 100644
index 0000000..319786b
--- /dev/null
+++ b/app/helpers/organization_statuses_helper.rb
@@ -0,0 +1,2 @@
+module OrganizationStatusesHelper
+end
diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb
new file mode 100644
index 0000000..807b5b9
--- /dev/null
+++ b/app/helpers/organizations_helper.rb
@@ -0,0 +1,3 @@
+module OrganizationsHelper
+ TABS = [:show, :edit, :members, :identity, :settings]
+end
diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb
new file mode 100644
index 0000000..570137a
--- /dev/null
+++ b/app/helpers/pages_helper.rb
@@ -0,0 +1,3 @@
+module PagesHelper
+
+end
diff --git a/app/helpers/registration_form_fields_helper.rb b/app/helpers/registration_form_fields_helper.rb
new file mode 100644
index 0000000..172978b
--- /dev/null
+++ b/app/helpers/registration_form_fields_helper.rb
@@ -0,0 +1,2 @@
+module RegistrationFormFieldsHelper
+end
diff --git a/app/helpers/user_organization_relationships_helper.rb b/app/helpers/user_organization_relationships_helper.rb
new file mode 100644
index 0000000..9d7f27e
--- /dev/null
+++ b/app/helpers/user_organization_relationships_helper.rb
@@ -0,0 +1,2 @@
+module UserOrganizationRelationshipsHelper
+end
diff --git a/app/helpers/user_sessions_helper.rb b/app/helpers/user_sessions_helper.rb
new file mode 100644
index 0000000..2018402
--- /dev/null
+++ b/app/helpers/user_sessions_helper.rb
@@ -0,0 +1,2 @@
+module UserSessionsHelper
+end
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
new file mode 100644
index 0000000..2310a24
--- /dev/null
+++ b/app/helpers/users_helper.rb
@@ -0,0 +1,2 @@
+module UsersHelper
+end
diff --git a/app/helpers/versions_helper.rb b/app/helpers/versions_helper.rb
new file mode 100644
index 0000000..c9d0dd8
--- /dev/null
+++ b/app/helpers/versions_helper.rb
@@ -0,0 +1,2 @@
+module VersionsHelper
+end
diff --git a/app/helpers/workshop_presentation_styles_helper.rb b/app/helpers/workshop_presentation_styles_helper.rb
new file mode 100644
index 0000000..4ba222a
--- /dev/null
+++ b/app/helpers/workshop_presentation_styles_helper.rb
@@ -0,0 +1,2 @@
+module WorkshopPresentationStylesHelper
+end
diff --git a/app/helpers/workshop_resources_helper.rb b/app/helpers/workshop_resources_helper.rb
new file mode 100644
index 0000000..9595758
--- /dev/null
+++ b/app/helpers/workshop_resources_helper.rb
@@ -0,0 +1,2 @@
+module WorkshopResourcesHelper
+end
diff --git a/app/helpers/workshop_streams_helper.rb b/app/helpers/workshop_streams_helper.rb
new file mode 100644
index 0000000..f45b2ef
--- /dev/null
+++ b/app/helpers/workshop_streams_helper.rb
@@ -0,0 +1,2 @@
+module WorkshopStreamsHelper
+end
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
new file mode 100644
index 0000000..791db1d
--- /dev/null
+++ b/app/mailers/user_mailer.rb
@@ -0,0 +1,25 @@
+class UserMailer < ActionMailer::Base
+ default from: "from@example.com"
+
+ # Subject can be set in your I18n file at config/locales/en.yml
+ # with the following lookup:
+ #
+ # en.user_mailer.activation_needed_email.subject
+ #
+ def activation_needed_email(email_address)
+ @greeting = "Hi"
+
+ mail to: 'goodgodwin@hotmail.com'
+ end
+
+ # Subject can be set in your I18n file at config/locales/en.yml
+ # with the following lookup:
+ #
+ # en.user_mailer.activation_success_email.subject
+ #
+ def activation_success_email
+ @greeting = "Hi"
+
+ mail to: "to@example.org"
+ end
+end
diff --git a/app/models/conference.rb b/app/models/conference.rb
new file mode 100644
index 0000000..64ac13a
--- /dev/null
+++ b/app/models/conference.rb
@@ -0,0 +1,19 @@
+class Conference < ActiveRecord::Base
+ mount_uploader :cover, CoverUploader
+ mount_uploader :poster, PosterUploader
+
+ belongs_to :conference_type
+
+ has_many :conference_host_organizations, :dependent => :destroy
+ has_many :organizations, :through => :conference_host_organizations
+
+ has_many :conference_registration_form_fields, :order => 'position ASC', :dependent => :destroy#, :class_name => '::ConferenceRegistrationFormField'
+ has_many :registration_form_fields, :through => :conference_registration_form_fields
+
+ accepts_nested_attributes_for :conference_host_organizations, :reject_if => proc {|u| u[:organization_id].blank?}, :allow_destroy => true
+
+ def to_param
+ slug
+ end
+
+end
diff --git a/app/models/conference_admin.rb b/app/models/conference_admin.rb
new file mode 100644
index 0000000..0762f7d
--- /dev/null
+++ b/app/models/conference_admin.rb
@@ -0,0 +1,2 @@
+class ConferenceAdmin < ActiveRecord::Base
+end
diff --git a/app/models/conference_host_organization.rb b/app/models/conference_host_organization.rb
new file mode 100644
index 0000000..f9ab1a8
--- /dev/null
+++ b/app/models/conference_host_organization.rb
@@ -0,0 +1,4 @@
+class ConferenceHostOrganization < ActiveRecord::Base
+ belongs_to :conference
+ belongs_to :organization
+end
diff --git a/app/models/conference_registration.rb b/app/models/conference_registration.rb
new file mode 100644
index 0000000..fce90c9
--- /dev/null
+++ b/app/models/conference_registration.rb
@@ -0,0 +1,5 @@
+class ConferenceRegistration < ActiveRecord::Base
+ has_many :conference_registration_responses
+
+ AttendingOptions = [:yes, :no]
+end
diff --git a/app/models/conference_registration_form_field.rb b/app/models/conference_registration_form_field.rb
new file mode 100644
index 0000000..b70a7cc
--- /dev/null
+++ b/app/models/conference_registration_form_field.rb
@@ -0,0 +1,6 @@
+class ConferenceRegistrationFormField < ActiveRecord::Base
+ belongs_to :conference
+ belongs_to :registration_form_field
+
+ acts_as_list
+end
diff --git a/app/models/conference_registration_response.rb b/app/models/conference_registration_response.rb
new file mode 100644
index 0000000..6bde61f
--- /dev/null
+++ b/app/models/conference_registration_response.rb
@@ -0,0 +1,5 @@
+class ConferenceRegistrationResponse < ActiveRecord::Base
+ belongs_to :conference_registration
+ belongs_to :user
+ belongs_to :conference, :through => :conference_registration
+end
diff --git a/app/models/conference_type.rb b/app/models/conference_type.rb
new file mode 100644
index 0000000..5eaf36d
--- /dev/null
+++ b/app/models/conference_type.rb
@@ -0,0 +1,3 @@
+class ConferenceType < ActiveRecord::Base
+ #belongs_to :conference
+end
diff --git a/app/models/location.rb b/app/models/location.rb
new file mode 100644
index 0000000..9e85760
--- /dev/null
+++ b/app/models/location.rb
@@ -0,0 +1,20 @@
+class Location < ActiveRecord::Base
+ #attr_accessible :title, :country, :territory, :city, :street, :postal_code, :latitude, :longitude
+ has_many :locations_organization
+ has_many :organizations, :through => :locations_organization
+
+ geocoded_by :full_address
+ reverse_geocoded_by :latitude, :longitude, :address => :full_address
+ after_validation :geocode, if: ->(obj){ obj.country_changed? or obj.territory_changed? or obj.city_changed? or obj.street_changed? or obj.postal_code_changed? }
+
+ def full_address
+ addr = title
+ addr = (addr ? ', ' : '') + (street || '')
+ addr = (addr ? ', ' : '') + (city || '')
+ addr = (addr ? ', ' : '') + (territory || '')
+ addr = (addr ? ' ' : '') + (country || '')
+ addr = (addr ? ' ' : '') + (postal_code || '')
+ addr
+ end
+
+end
diff --git a/app/models/locations_organization.rb b/app/models/locations_organization.rb
new file mode 100644
index 0000000..e3c52f6
--- /dev/null
+++ b/app/models/locations_organization.rb
@@ -0,0 +1,6 @@
+class LocationsOrganization < ActiveRecord::Base
+ belongs_to :location
+ belongs_to :organization
+
+ self.primary_key = :location_id
+end
diff --git a/app/models/organization.rb b/app/models/organization.rb
new file mode 100644
index 0000000..cd2af8a
--- /dev/null
+++ b/app/models/organization.rb
@@ -0,0 +1,19 @@
+class Organization < ActiveRecord::Base
+ mount_uploader :logo, LogoUploader
+ mount_uploader :avatar, AvatarUploader
+ mount_uploader :cover, CoverUploader
+
+ has_many :locations_organization
+ has_many :locations, :through => :locations_organization
+
+ has_many :user_organization_relationships, :dependent => :destroy
+ has_many :users, :through => :user_organization_relationships
+
+ accepts_nested_attributes_for :locations, :reject_if => proc {|l| l[id].blank?}
+ accepts_nested_attributes_for :user_organization_relationships, :reject_if => proc {|u| u[:user_id].blank?}, :allow_destroy => true
+
+ def to_param
+ slug
+ end
+
+end
diff --git a/app/models/organization_status.rb b/app/models/organization_status.rb
new file mode 100644
index 0000000..309f828
--- /dev/null
+++ b/app/models/organization_status.rb
@@ -0,0 +1,2 @@
+class OrganizationStatus < ActiveRecord::Base
+end
diff --git a/app/models/registration_form_field.rb b/app/models/registration_form_field.rb
new file mode 100644
index 0000000..95f41c5
--- /dev/null
+++ b/app/models/registration_form_field.rb
@@ -0,0 +1,67 @@
+class RegistrationFormField < ActiveRecord::Base
+ Types = {
+ :single => [:title, :required, :input_type, :help],
+ :multiple => [:title, :required, :selection_type, :options, :other, :help]
+ }
+
+ Fields = {
+ :title => {:control => 'text_field'},
+ :input_type => {:control => 'select', :options => [[:text_field, :text_area, :number_field, :date_field, :time_field, :phone_field, :checkbox]], :option => true},
+ :selection_type => {:control => 'select', :options => [[:check_box, :radio_button, :select]], :option => true},
+ :options => {:control => 'text_area', :option => true},
+ :help => {:control => 'text_area'},
+ :other => {:control => 'check_box', :option => true},
+ :required => {:control => 'check_box'}
+ }
+
+ def self.TypesForField(field)
+ types = []
+ Types.each do |k, t|
+ if t.include?(field)
+ types << k
+ end
+ end
+ types
+ end
+
+ def input_type
+ get_from_options 'input_type'
+ end
+
+ def selection_type
+ get_from_options 'selection_type'
+ end
+
+ def other
+ get_from_options 'other'
+ end
+
+ def self.GetOptions(type, values)
+ o = {}
+ Fields.each do |k, f|
+ if f[:option] && Types[type.to_sym].include?(k)
+ o[k] = values[k]
+ end
+ end
+ o
+ end
+
+ def self.GetNonOptionKeys(type, values)
+ o = []
+ Fields.each do |k, f|
+ if !f[:option] && Types[type.to_sym].include?(k)
+ o << k
+ end
+ end
+ o
+ end
+
+ private
+ def get_from_options(key)
+ if options
+ _options = ActiveSupport::JSON.decode(options)
+ return _options[key]
+ end
+ nil
+ end
+end
diff --git a/app/models/translation.rb b/app/models/translation.rb
new file mode 100644
index 0000000..d8c6e87
--- /dev/null
+++ b/app/models/translation.rb
@@ -0,0 +1,3 @@
+class Translation < I18n::Backend::ActiveRecord::Translation
+ has_paper_trail
+end
diff --git a/app/models/user.rb b/app/models/user.rb
new file mode 100644
index 0000000..9d312f0
--- /dev/null
+++ b/app/models/user.rb
@@ -0,0 +1,20 @@
+class User < ActiveRecord::Base
+ authenticates_with_sorcery!
+
+ validates :password, presence: true, confirmation: true, length: { minimum: 3 }, unless: ("id?" || "password_confirmation?")
+ validates :password_confirmation, presence: true, unless: ("id?" || "password?")
+
+ validates :email, uniqueness: true
+
+ #validates_presence_of :avatar
+ #validates_integrity_of :avatar
+ #validates_processing_of :avatar
+
+ #has_secure_password validations: false
+
+ mount_uploader :avatar, AvatarUploader
+
+ has_many :user_organization_relationships
+ has_many :organizations, through: :user_organization_relationships
+
+end
diff --git a/app/models/user_organization_relationship.rb b/app/models/user_organization_relationship.rb
new file mode 100644
index 0000000..24c8d94
--- /dev/null
+++ b/app/models/user_organization_relationship.rb
@@ -0,0 +1,11 @@
+class UserOrganizationRelationship < ActiveRecord::Base
+ belongs_to :user
+ belongs_to :organization
+
+ Administrator = 'administrator'
+ Member = 'member'
+
+ DefaultRelationship = Member
+
+ AllRelationships = [Administrator, Member]
+end
diff --git a/app/models/version.rb b/app/models/version.rb
new file mode 100644
index 0000000..6fd7588
--- /dev/null
+++ b/app/models/version.rb
@@ -0,0 +1,2 @@
+class Version < ActiveRecord::Base
+end
diff --git a/app/models/workshop_presentation_style.rb b/app/models/workshop_presentation_style.rb
new file mode 100644
index 0000000..cc6ad25
--- /dev/null
+++ b/app/models/workshop_presentation_style.rb
@@ -0,0 +1,2 @@
+class WorkshopPresentationStyle < ActiveRecord::Base
+end
diff --git a/app/models/workshop_resource.rb b/app/models/workshop_resource.rb
new file mode 100644
index 0000000..ea63a8a
--- /dev/null
+++ b/app/models/workshop_resource.rb
@@ -0,0 +1,2 @@
+class WorkshopResource < ActiveRecord::Base
+end
diff --git a/app/models/workshop_stream.rb b/app/models/workshop_stream.rb
new file mode 100644
index 0000000..cf7d691
--- /dev/null
+++ b/app/models/workshop_stream.rb
@@ -0,0 +1,2 @@
+class WorkshopStream < ActiveRecord::Base
+end
diff --git a/app/uploaders/avatar_uploader.rb b/app/uploaders/avatar_uploader.rb
new file mode 100644
index 0000000..18a8488
--- /dev/null
+++ b/app/uploaders/avatar_uploader.rb
@@ -0,0 +1,63 @@
+# encoding: utf-8
+require 'carrierwave/processing/mini_magick'
+
+class AvatarUploader < CarrierWave::Uploader::Base
+
+ include CarrierWave::ImageOptimizer
+ include CarrierWave::MiniMagick
+
+ # Include RMagick or MiniMagick support:
+ # include CarrierWave::RMagick
+ # include CarrierWave::MiniMagick
+
+ # Choose what kind of storage to use for this uploader:
+
+ storage :file
+ process :optimize
+
+ @@sizes = {:thumb => [120, 120], :icon => [48, 48]}
+ # storage :fog
+
+ # Override the directory where uploaded files will be stored.
+ # This is a sensible default for uploaders that are meant to be mounted:
+ def store_dir
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+ end
+
+ # Provide a default URL as a default if there hasn't been a file uploaded:
+ def default_url
+ # # For Rails 3.1+ asset pipeline compatibility:
+ # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
+ #
+ #"/images/fallback/" + [version_name, "default.png"].compact.join('_')
+ "http://placehold.it/" + (@@sizes[version_name] || [300, 300]).join('x')
+ end
+
+ # Process files as they are uploaded:
+ # process :scale => [200, 300]
+ #
+ #def scale(width, height)
+ #end
+
+ # Create different versions of your uploaded files:
+ version :thumb do
+ process :resize_to_fill => @@sizes[:thumb]
+ end
+
+ version :icon do
+ process :resize_to_fill => @@sizes[:icon]
+ end
+
+ # Add a white list of extensions which are allowed to be uploaded.
+ # For images you might use something like this:
+ # def extension_white_list
+ # %w(jpg jpeg gif png)
+ # end
+
+ # Override the filename of the uploaded files:
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
+ # def filename
+ # "something.jpg" if original_filename
+ # end
+
+end
diff --git a/app/uploaders/cover_uploader.rb b/app/uploaders/cover_uploader.rb
new file mode 100644
index 0000000..3efac9a
--- /dev/null
+++ b/app/uploaders/cover_uploader.rb
@@ -0,0 +1,16 @@
+# encoding: utf-8
+require 'carrierwave/processing/mini_magick'
+
+class CoverUploader < CarrierWave::Uploader::Base
+
+ include CarrierWave::ImageOptimizer
+ include CarrierWave::MiniMagick
+
+ storage :file
+ process :optimize
+
+ def store_dir
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+ end
+
+end
diff --git a/app/uploaders/logo_uploader.rb b/app/uploaders/logo_uploader.rb
new file mode 100644
index 0000000..b9f7127
--- /dev/null
+++ b/app/uploaders/logo_uploader.rb
@@ -0,0 +1,57 @@
+# encoding: utf-8
+
+class LogoUploader < CarrierWave::Uploader::Base
+
+ # Include RMagick or MiniMagick support:
+ # include CarrierWave::RMagick
+ include CarrierWave::ImageOptimizer
+ include CarrierWave::MiniMagick
+
+ # Include RMagick or MiniMagick support:
+ # include CarrierWave::RMagick
+ # include CarrierWave::MiniMagick
+
+ # Choose what kind of storage to use for this uploader:
+
+ storage :file
+ process :optimize
+
+ # Override the directory where uploaded files will be stored.
+ # This is a sensible default for uploaders that are meant to be mounted:
+ def store_dir
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+ end
+
+ # Provide a default URL as a default if there hasn't been a file uploaded:
+ # def default_url
+ # # For Rails 3.1+ asset pipeline compatibility:
+ # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
+ #
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
+ # end
+
+ # Process files as they are uploaded:
+ # process :scale => [200, 300]
+ #
+ # def scale(width, height)
+ # # do something
+ # end
+
+ # Create different versions of your uploaded files:
+ # version :thumb do
+ # process :scale => [50, 50]
+ # end
+
+ # Add a white list of extensions which are allowed to be uploaded.
+ # For images you might use something like this:
+ # def extension_white_list
+ # %w(jpg jpeg gif png)
+ # end
+
+ # Override the filename of the uploaded files:
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
+ # def filename
+ # "something.jpg" if original_filename
+ # end
+
+end
diff --git a/app/uploaders/poster_uploader.rb b/app/uploaders/poster_uploader.rb
new file mode 100644
index 0000000..58b861e
--- /dev/null
+++ b/app/uploaders/poster_uploader.rb
@@ -0,0 +1,51 @@
+# encoding: utf-8
+
+class PosterUploader < CarrierWave::Uploader::Base
+
+ # Include RMagick or MiniMagick support:
+ # include CarrierWave::RMagick
+ # include CarrierWave::MiniMagick
+
+ # Choose what kind of storage to use for this uploader:
+ storage :file
+ # storage :fog
+
+ # Override the directory where uploaded files will be stored.
+ # This is a sensible default for uploaders that are meant to be mounted:
+ def store_dir
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+ end
+
+ # Provide a default URL as a default if there hasn't been a file uploaded:
+ # def default_url
+ # # For Rails 3.1+ asset pipeline compatibility:
+ # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
+ #
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
+ # end
+
+ # Process files as they are uploaded:
+ # process :scale => [200, 300]
+ #
+ # def scale(width, height)
+ # # do something
+ # end
+
+ # Create different versions of your uploaded files:
+ # version :thumb do
+ # process :scale => [50, 50]
+ # end
+
+ # Add a white list of extensions which are allowed to be uploaded.
+ # For images you might use something like this:
+ # def extension_white_list
+ # %w(jpg jpeg gif png)
+ # end
+
+ # Override the filename of the uploaded files:
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
+ # def filename
+ # "something.jpg" if original_filename
+ # end
+
+end
diff --git a/app/views/conference_admins/_form.html.haml b/app/views/conference_admins/_form.html.haml
new file mode 100644
index 0000000..9279e66
--- /dev/null
+++ b/app/views/conference_admins/_form.html.haml
@@ -0,0 +1,16 @@
+= form_for @conference_admin do |f|
+ - if @conference_admin.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference_admin.errors.count, "error")} prohibited this conference_admin from being saved:"
+ %ul
+ - @conference_admin.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :conference_id
+ = f.number_field :conference_id
+ .field
+ = f.label :user_id
+ = f.number_field :user_id
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/conference_admins/edit.html.haml b/app/views/conference_admins/edit.html.haml
new file mode 100644
index 0000000..84ca69d
--- /dev/null
+++ b/app/views/conference_admins/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing conference_admin
+
+= render 'form'
+
+= link_to 'Show', @conference_admin
+\|
+= link_to 'Back', conference_admins_path
diff --git a/app/views/conference_admins/index.html.haml b/app/views/conference_admins/index.html.haml
new file mode 100644
index 0000000..2d707b3
--- /dev/null
+++ b/app/views/conference_admins/index.html.haml
@@ -0,0 +1,21 @@
+%h1 Listing conference_admins
+
+%table
+ %tr
+ %th Conference
+ %th User
+ %th
+ %th
+ %th
+
+ - @conference_admins.each do |conference_admin|
+ %tr
+ %td= conference_admin.conference_id
+ %td= conference_admin.user_id
+ %td= link_to 'Show', conference_admin
+ %td= link_to 'Edit', edit_conference_admin_path(conference_admin)
+ %td= link_to 'Destroy', conference_admin, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference admin', new_conference_admin_path
diff --git a/app/views/conference_admins/new.html.haml b/app/views/conference_admins/new.html.haml
new file mode 100644
index 0000000..77cb4c9
--- /dev/null
+++ b/app/views/conference_admins/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New conference_admin
+
+= render 'form'
+
+= link_to 'Back', conference_admins_path
diff --git a/app/views/conference_admins/show.html.haml b/app/views/conference_admins/show.html.haml
new file mode 100644
index 0000000..df26394
--- /dev/null
+++ b/app/views/conference_admins/show.html.haml
@@ -0,0 +1,12 @@
+%p#notice= notice
+
+%p
+ %b Conference:
+ = @conference_admin.conference_id
+%p
+ %b User:
+ = @conference_admin.user_id
+
+= link_to 'Edit', edit_conference_admin_path(@conference_admin)
+\|
+= link_to 'Back', conference_admins_path
diff --git a/app/views/conference_host_organizations/_form.html.haml b/app/views/conference_host_organizations/_form.html.haml
new file mode 100644
index 0000000..a8330d2
--- /dev/null
+++ b/app/views/conference_host_organizations/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @conference_host_organization do |f|
+ - if @conference_host_organization.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference_host_organization.errors.count, "error")} prohibited this conference_host_organization from being saved:"
+ %ul
+ - @conference_host_organization.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :conference_id
+ = f.number_field :conference_id
+ .field
+ = f.label :organization_id
+ = f.number_field :organization_id
+ .field
+ = f.label :order
+ = f.number_field :order
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/conference_host_organizations/edit.html.haml b/app/views/conference_host_organizations/edit.html.haml
new file mode 100644
index 0000000..dc1f6b4
--- /dev/null
+++ b/app/views/conference_host_organizations/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing conference_host_organization
+
+= render 'form'
+
+= link_to 'Show', @conference_host_organization
+\|
+= link_to 'Back', conference_host_organizations_path
diff --git a/app/views/conference_host_organizations/index.html.haml b/app/views/conference_host_organizations/index.html.haml
new file mode 100644
index 0000000..a44e23a
--- /dev/null
+++ b/app/views/conference_host_organizations/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing conference_host_organizations
+
+%table
+ %tr
+ %th Conference
+ %th Organization
+ %th Order
+ %th
+ %th
+ %th
+
+ - @conference_host_organizations.each do |conference_host_organization|
+ %tr
+ %td= conference_host_organization.conference_id
+ %td= conference_host_organization.organization_id
+ %td= conference_host_organization.order
+ %td= link_to 'Show', conference_host_organization
+ %td= link_to 'Edit', edit_conference_host_organization_path(conference_host_organization)
+ %td= link_to 'Destroy', conference_host_organization, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference host organization', new_conference_host_organization_path
diff --git a/app/views/conference_host_organizations/new.html.haml b/app/views/conference_host_organizations/new.html.haml
new file mode 100644
index 0000000..92a4395
--- /dev/null
+++ b/app/views/conference_host_organizations/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New conference_host_organization
+
+= render 'form'
+
+= link_to 'Back', conference_host_organizations_path
diff --git a/app/views/conference_host_organizations/show.html.haml b/app/views/conference_host_organizations/show.html.haml
new file mode 100644
index 0000000..d796834
--- /dev/null
+++ b/app/views/conference_host_organizations/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Conference:
+ = @conference_host_organization.conference_id
+%p
+ %b Organization:
+ = @conference_host_organization.organization_id
+%p
+ %b Order:
+ = @conference_host_organization.order
+
+= link_to 'Edit', edit_conference_host_organization_path(@conference_host_organization)
+\|
+= link_to 'Back', conference_host_organizations_path
diff --git a/app/views/conference_registration_responses/_form.html.haml b/app/views/conference_registration_responses/_form.html.haml
new file mode 100644
index 0000000..11fa7b9
--- /dev/null
+++ b/app/views/conference_registration_responses/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @conference_registration_response do |f|
+ - if @conference_registration_response.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference_registration_response.errors.count, "error")} prohibited this conference_registration_response from being saved:"
+ %ul
+ - @conference_registration_response.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :conference_registration_id
+ = f.number_field :conference_registration_id
+ .field
+ = f.label :registration_form_field_id
+ = f.number_field :registration_form_field_id
+ .field
+ = f.label :data
+ = f.text_area :data
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/conference_registration_responses/edit.html.haml b/app/views/conference_registration_responses/edit.html.haml
new file mode 100644
index 0000000..35dd1e8
--- /dev/null
+++ b/app/views/conference_registration_responses/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing conference_registration_response
+
+= render 'form'
+
+= link_to 'Show', @conference_registration_response
+\|
+= link_to 'Back', conference_registration_responses_path
diff --git a/app/views/conference_registration_responses/index.html.haml b/app/views/conference_registration_responses/index.html.haml
new file mode 100644
index 0000000..9ef198f
--- /dev/null
+++ b/app/views/conference_registration_responses/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing conference_registration_responses
+
+%table
+ %tr
+ %th Conference registration
+ %th Registration form field
+ %th Data
+ %th
+ %th
+ %th
+
+ - @conference_registration_responses.each do |conference_registration_response|
+ %tr
+ %td= conference_registration_response.conference_registration_id
+ %td= conference_registration_response.registration_form_field_id
+ %td= conference_registration_response.data
+ %td= link_to 'Show', conference_registration_response
+ %td= link_to 'Edit', edit_conference_registration_response_path(conference_registration_response)
+ %td= link_to 'Destroy', conference_registration_response, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference registration response', new_conference_registration_response_path
diff --git a/app/views/conference_registration_responses/new.html.haml b/app/views/conference_registration_responses/new.html.haml
new file mode 100644
index 0000000..b5e0554
--- /dev/null
+++ b/app/views/conference_registration_responses/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New conference_registration_response
+
+= render 'form'
+
+= link_to 'Back', conference_registration_responses_path
diff --git a/app/views/conference_registration_responses/show.html.haml b/app/views/conference_registration_responses/show.html.haml
new file mode 100644
index 0000000..e02b8f5
--- /dev/null
+++ b/app/views/conference_registration_responses/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Conference registration:
+ = @conference_registration_response.conference_registration_id
+%p
+ %b Registration form field:
+ = @conference_registration_response.registration_form_field_id
+%p
+ %b Data:
+ = @conference_registration_response.data
+
+= link_to 'Edit', edit_conference_registration_response_path(@conference_registration_response)
+\|
+= link_to 'Back', conference_registration_responses_path
diff --git a/app/views/conference_registrations/_form.html.haml b/app/views/conference_registrations/_form.html.haml
new file mode 100644
index 0000000..c16d50b
--- /dev/null
+++ b/app/views/conference_registrations/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @conference_registration do |f|
+ - if @conference_registration.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference_registration.errors.count, "error")} prohibited this conference_registration from being saved:"
+ %ul
+ - @conference_registration.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :conference_id
+ = f.number_field :conference_id
+ .field
+ = f.label :user_id
+ = f.number_field :user_id
+ .field
+ = f.label :is_attending
+ = f.text_field :is_attending
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/conference_registrations/edit.html.haml b/app/views/conference_registrations/edit.html.haml
new file mode 100644
index 0000000..35d48d1
--- /dev/null
+++ b/app/views/conference_registrations/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing conference_registration
+
+= render 'form'
+
+= link_to 'Show', @conference_registration
+\|
+= link_to 'Back', conference_registrations_path
diff --git a/app/views/conference_registrations/index.html.haml b/app/views/conference_registrations/index.html.haml
new file mode 100644
index 0000000..688cc00
--- /dev/null
+++ b/app/views/conference_registrations/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing conference_registrations
+
+%table
+ %tr
+ %th Conference
+ %th User
+ %th Is attending
+ %th
+ %th
+ %th
+
+ - @conference_registrations.each do |conference_registration|
+ %tr
+ %td= conference_registration.conference_id
+ %td= conference_registration.user_id
+ %td= conference_registration.is_attending
+ %td= link_to 'Show', conference_registration
+ %td= link_to 'Edit', edit_conference_registration_path(conference_registration)
+ %td= link_to 'Destroy', conference_registration, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference registration', new_conference_registration_path
diff --git a/app/views/conference_registrations/new.html.haml b/app/views/conference_registrations/new.html.haml
new file mode 100644
index 0000000..f56d6cc
--- /dev/null
+++ b/app/views/conference_registrations/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New conference_registration
+
+= render 'form'
+
+= link_to 'Back', conference_registrations_path
diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml
new file mode 100644
index 0000000..831e2cb
--- /dev/null
+++ b/app/views/conference_registrations/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Conference:
+ = @conference_registration.conference_id
+%p
+ %b User:
+ = @conference_registration.user_id
+%p
+ %b Is attending:
+ = @conference_registration.is_attending
+
+= link_to 'Edit', edit_conference_registration_path(@conference_registration)
+\|
+= link_to 'Back', conference_registrations_path
diff --git a/app/views/conference_registraton_form_fields/_form.html.haml b/app/views/conference_registraton_form_fields/_form.html.haml
new file mode 100644
index 0000000..e885e10
--- /dev/null
+++ b/app/views/conference_registraton_form_fields/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @conference_registraton_form_field do |f|
+ - if @conference_registraton_form_field.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference_registraton_form_field.errors.count, "error")} prohibited this conference_registraton_form_field from being saved:"
+ %ul
+ - @conference_registraton_form_field.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :conference_id
+ = f.number_field :conference_id
+ .field
+ = f.label :registration_form_field_id
+ = f.number_field :registration_form_field_id
+ .field
+ = f.label :order
+ = f.number_field :order
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/conference_registraton_form_fields/edit.html.haml b/app/views/conference_registraton_form_fields/edit.html.haml
new file mode 100644
index 0000000..492922f
--- /dev/null
+++ b/app/views/conference_registraton_form_fields/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing conference_registraton_form_field
+
+= render 'form'
+
+= link_to 'Show', @conference_registraton_form_field
+\|
+= link_to 'Back', conference_registraton_form_fields_path
diff --git a/app/views/conference_registraton_form_fields/index.html.haml b/app/views/conference_registraton_form_fields/index.html.haml
new file mode 100644
index 0000000..9fcd997
--- /dev/null
+++ b/app/views/conference_registraton_form_fields/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing conference_registraton_form_fields
+
+%table
+ %tr
+ %th Conference
+ %th Registration form field
+ %th Order
+ %th
+ %th
+ %th
+
+ - @conference_registraton_form_fields.each do |conference_registraton_form_field|
+ %tr
+ %td= conference_registraton_form_field.conference_id
+ %td= conference_registraton_form_field.registration_form_field_id
+ %td= conference_registraton_form_field.order
+ %td= link_to 'Show', conference_registraton_form_field
+ %td= link_to 'Edit', edit_conference_registraton_form_field_path(conference_registraton_form_field)
+ %td= link_to 'Destroy', conference_registraton_form_field, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference registraton form field', new_conference_registraton_form_field_path
diff --git a/app/views/conference_registraton_form_fields/new.html.haml b/app/views/conference_registraton_form_fields/new.html.haml
new file mode 100644
index 0000000..3013872
--- /dev/null
+++ b/app/views/conference_registraton_form_fields/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New conference_registraton_form_field
+
+= render 'form'
+
+= link_to 'Back', conference_registraton_form_fields_path
diff --git a/app/views/conference_registraton_form_fields/show.html.haml b/app/views/conference_registraton_form_fields/show.html.haml
new file mode 100644
index 0000000..ae99188
--- /dev/null
+++ b/app/views/conference_registraton_form_fields/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Conference:
+ = @conference_registraton_form_field.conference_id
+%p
+ %b Registration form field:
+ = @conference_registraton_form_field.registration_form_field_id
+%p
+ %b Order:
+ = @conference_registraton_form_field.order
+
+= link_to 'Edit', edit_conference_registraton_form_field_path(@conference_registraton_form_field)
+\|
+= link_to 'Back', conference_registraton_form_fields_path
diff --git a/app/views/conference_types/_form.html.haml b/app/views/conference_types/_form.html.haml
new file mode 100644
index 0000000..ac34924
--- /dev/null
+++ b/app/views/conference_types/_form.html.haml
@@ -0,0 +1,16 @@
+= form_for @conference_type do |f|
+ - if @conference_type.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference_type.errors.count, "error")} prohibited this conference_type from being saved:"
+ %ul
+ - @conference_type.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :title
+ = f.text_field :title
+ .field
+ = f.label :info
+ = f.text_field :info
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/conference_types/edit.html.haml b/app/views/conference_types/edit.html.haml
new file mode 100644
index 0000000..c944671
--- /dev/null
+++ b/app/views/conference_types/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing conference_type
+
+= render 'form'
+
+= link_to 'Show', @conference_type
+\|
+= link_to 'Back', conference_types_path
diff --git a/app/views/conference_types/index.html.haml b/app/views/conference_types/index.html.haml
new file mode 100644
index 0000000..e79ce4c
--- /dev/null
+++ b/app/views/conference_types/index.html.haml
@@ -0,0 +1,21 @@
+%h1 Listing conference_types
+
+%table
+ %tr
+ %th Title
+ %th Info
+ %th
+ %th
+ %th
+
+ - @conference_types.each do |conference_type|
+ %tr
+ %td= conference_type.title
+ %td= conference_type.info
+ %td= link_to 'Show', conference_type
+ %td= link_to 'Edit', edit_conference_type_path(conference_type)
+ %td= link_to 'Destroy', conference_type, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference type', new_conference_type_path
diff --git a/app/views/conference_types/new.html.haml b/app/views/conference_types/new.html.haml
new file mode 100644
index 0000000..72df5c6
--- /dev/null
+++ b/app/views/conference_types/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New conference_type
+
+= render 'form'
+
+= link_to 'Back', conference_types_path
diff --git a/app/views/conference_types/show.html.haml b/app/views/conference_types/show.html.haml
new file mode 100644
index 0000000..f11e8f0
--- /dev/null
+++ b/app/views/conference_types/show.html.haml
@@ -0,0 +1,12 @@
+%p#notice= notice
+
+%p
+ %b Title:
+ = @conference_type.title
+%p
+ %b Info:
+ = @conference_type.info
+
+= link_to 'Edit', edit_conference_type_path(@conference_type)
+\|
+= link_to 'Back', conference_types_path
diff --git a/app/views/conferences/_form.html.haml b/app/views/conferences/_form.html.haml
new file mode 100644
index 0000000..902e861
--- /dev/null
+++ b/app/views/conferences/_form.html.haml
@@ -0,0 +1,30 @@
+= form_for @conference do |f|
+ .columns
+ - if @conference.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference.errors.count, "error")} prohibited this conference from being saved:"
+ %ul
+ - @conference.errors.full_messages.each do |msg|
+ %li= msg
+ = field f, :title, :text_field
+ = field f, :slug, :text_field
+ .columns.medium-4
+ = field f, :poster, :image_field, @conference.poster_url
+ = field f, :cover, :image_field, @conference.cover_url
+ .columns.medium-8
+ =# f.fields_for :conference_type do |c|
+ =# field c, :id, :text_field
+ = field f, :conference_type_id, :collection_select, ConferenceType.all, attrs: [:id, :title]
+ .row
+ .columns.small-6
+ = field f, :start_date, :date_field
+ .columns.small-6
+ = field f, :end_date, :date_field
+ = field f, :workshop_schedule_published, :check_box
+ =# field f, :registration_open, :check_box
+ = field f, :meals_provided, :check_box
+ = field f, :meal_info, :text_area
+ = field f, :travel_info, :text_area
+ .columns
+ = field f, :info, :text_area
+ = actions :save
diff --git a/app/views/conferences/_registration.html.haml b/app/views/conferences/_registration.html.haml
new file mode 100644
index 0000000..d9de9f3
--- /dev/null
+++ b/app/views/conferences/_registration.html.haml
@@ -0,0 +1,7 @@
+.columns.medium-8
+ = field f, :registration_open, :check_box, help: true
+ = field f, :preregistration_info, :text_area, help: true
+ = field f, :registration_info, :text_area, help: true
+ = field f, :postregistration_info, :text_area, help: true
+.columns
+ = actions :save
diff --git a/app/views/conferences/_registration_form.html.haml b/app/views/conferences/_registration_form.html.haml
new file mode 100644
index 0000000..cab30da
--- /dev/null
+++ b/app/views/conferences/_registration_form.html.haml
@@ -0,0 +1,13 @@
+.columns.medium-8
+ #conference-form
+ =render 'registration_form_fields/conference_form'
+
+- content_for(:after_form) do
+ .row
+ .columns.medium-6
+ %h3='New Form Field'
+ =render 'registration_form_fields/form'
+ .columns.medium-6
+ %h3='Existing Form Fields'
+ #registration-form-field-list
+ = render 'registration_form_fields/list'
\ No newline at end of file
diff --git a/app/views/conferences/_registration_register.html.haml b/app/views/conferences/_registration_register.html.haml
new file mode 100644
index 0000000..ebff97d
--- /dev/null
+++ b/app/views/conferences/_registration_register.html.haml
@@ -0,0 +1,7 @@
+.columns.medium-8
+ = field :is_attending, :select_tag, ConferenceRegistration::AttendingOptions, label: 'Are you attending?'
+ %ol
+ - @conference.registration_form_fields.each do |ff|
+ %li
+ = form_field ff
+= actions :register
diff --git a/app/views/conferences/edit.html.haml b/app/views/conferences/edit.html.haml
new file mode 100644
index 0000000..f4bc67e
--- /dev/null
+++ b/app/views/conferences/edit.html.haml
@@ -0,0 +1,5 @@
+- page_style :form
+
+= tabs!
+.row
+ = render 'form'
diff --git a/app/views/conferences/hosts.html.haml b/app/views/conferences/hosts.html.haml
new file mode 100644
index 0000000..3f9f3f1
--- /dev/null
+++ b/app/views/conferences/hosts.html.haml
@@ -0,0 +1,13 @@
+- page_style :form
+
+= tabs!
+.row
+ = form_for @conference do |f|
+ .columns.medium-4
+ %h2=_'conference.hosts.help.title', :t
+ %p=_'conference.hosts.help', :p
+ .columns.medium-8
+ .clearfix
+ = f.fields_for :conference_host_organizations, :include_id => true do |u|
+ = field u, :id, :organization_select_field, @conference.organizations[u.index], attrs: @conference
+ = actions :save
diff --git a/app/views/conferences/index.html.haml b/app/views/conferences/index.html.haml
new file mode 100644
index 0000000..969fc7d
--- /dev/null
+++ b/app/views/conferences/index.html.haml
@@ -0,0 +1,43 @@
+%h1 Listing conferences
+
+%table
+ %tr
+ %th Title
+ %th Slug
+ %th Start date
+ %th End date
+ %th Info
+ %th Poster
+ %th Cover
+ %th Workshop schedule published
+ %th Registration open
+ %th Meals provided
+ %th Meal info
+ %th Travel info
+ %th Conference type
+ %th
+ %th
+ %th
+
+ - @conferences.each do |conference|
+ %tr
+ %td= conference.title
+ %td= conference.slug
+ %td= conference.start_date
+ %td= conference.end_date
+ %td= conference.info
+ %td= conference.poster
+ %td= conference.cover
+ %td= conference.workshop_schedule_published
+ %td= conference.registration_open
+ %td= conference.meals_provided
+ %td= conference.meal_info
+ %td= conference.travel_info
+ %td= conference.conference_type
+ %td= link_to 'Show', conference
+ %td= link_to 'Edit', edit_conference_path(conference)
+ %td= link_to 'Destroy', conference, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Conference', new_conference_path
diff --git a/app/views/conferences/new.html.haml b/app/views/conferences/new.html.haml
new file mode 100644
index 0000000..11c9cb8
--- /dev/null
+++ b/app/views/conferences/new.html.haml
@@ -0,0 +1,4 @@
+- page_style :form
+
+.row
+ = render 'form'
diff --git a/app/views/conferences/registration.html.haml b/app/views/conferences/registration.html.haml
new file mode 100644
index 0000000..0686b83
--- /dev/null
+++ b/app/views/conferences/registration.html.haml
@@ -0,0 +1,18 @@
+- page_style :form
+
+= tabs!
+.row
+ = form_for @conference do |f|
+ .columns
+ - if @conference.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@conference.errors.count, "error")} prohibited this conference from being saved:"
+ %ul
+ - @conference.errors.full_messages.each do |msg|
+ %li= msg
+ .columns.medium-4
+ =sub_tabs!
+ %h2=_'conference.hosts.help.title', :t
+ %p=_'conference.hosts.help', :p
+ = render @sub_action, :f => f
+ = yield_or_default(:after_form)
\ No newline at end of file
diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml
new file mode 100644
index 0000000..6afc8f8
--- /dev/null
+++ b/app/views/conferences/show.html.haml
@@ -0,0 +1,76 @@
+- title 'Bike!Bike!'
+- banner_image @conference.cover_url
+- page_style 'emphasize-banner'
+
+- content_for :banner do
+ .row
+ .columns.medium-6
+ %figure
+ %img{src: @conference.poster_url}
+ .columns.medium-6.info
+ %h1='Bike!Bike!'
+ %h2
+ Columbus, Ohio
+ %em
+ = (l @conference.start_date, format: :date) + ' - ' + (l @conference.end_date, format: :date)
+ %p
+ = _ 'nola_2013.about', 'paragraph'
+ .centered
+ %a.button{href: '#'}
+ Register Now
+
+= tabs!
+
+%section
+ .row
+ .columns.medium-6
+ %h1=@conference.title
+ %p=@conference.info.gsub(/\s*\n+\s*/, '').html_safe
+ .columns.medium-6
+
+.row
+ %p#notice= notice
+
+ %p
+ %b Conference type:
+ = @conference.conference_type.title
+ %p
+ %b Title:
+ = @conference.title
+ %p
+ %b Slug:
+ = @conference.slug
+ %p
+ %b Start date:
+ = @conference.start_date
+ %p
+ %b End date:
+ = @conference.end_date
+ %p
+ %b Info:
+ = @conference.info
+ %p
+ %b Poster:
+ = @conference.poster
+ %p
+ %b Banner:
+ = @conference.cover
+ %p
+ %b Workshop schedule published:
+ = @conference.workshop_schedule_published
+ %p
+ %b Registration open:
+ = @conference.registration_open
+ %p
+ %b Meals provided:
+ = @conference.meals_provided
+ %p
+ %b Meal info:
+ = @conference.meal_info
+ %p
+ %b Travel info:
+ = @conference.travel_info
+
+ = link_to 'Edit', edit_conference_path(@conference)
+ \|
+ = link_to 'Back', conferences_path
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 22fab73..8eaa5ab 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -25,20 +25,19 @@
Le javascript
\==================================================
/ Placed at the top of the document 'cause of turbolinks
+ = javascript_include_tag '//use.typekit.net/iqv7hcg.js'
= javascript_include_tag 'application'
+ = javascript_include_tag 'nested_form'
= javascript_include_tag '//use.edgefonts.net/abel;amatic-sc.js'
- %body
+ %body{ class: (yield_or_default :page_style) }
+ = render 'shared/translation_control'
= render 'shared/navbar'
- #main-container.container.row
- %aside.columns.large-4.push-8
- Stuff that is not directly related to this page will go here, things like recommend or popular articles.
- %section#main.columns.large-8.pull-4
- %header#article-header.columns.large-12
- %img{src: @title_img}
- %nav.columns.large-2
- Nav 2
- %article.content.columns.large-10= yield
+ %main
+ - if has_banner?
+ %header#banner{banner_attrs(yield_or_default :banner_image)}
+ = yield :banner
+ = yield
#footer
.container= render 'shared/footer'
diff --git a/app/views/locations/_form.html.haml b/app/views/locations/_form.html.haml
new file mode 100644
index 0000000..9c82772
--- /dev/null
+++ b/app/views/locations/_form.html.haml
@@ -0,0 +1,22 @@
+= form_for @location do |f|
+ - if @location.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@location.errors.count, "error")} prohibited this location from being saved:"
+ %ul
+ - @location.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :title
+ = f.text_field :title
+ .field
+ = f.label :address
+ = f.text_field :address
+ .field
+ = f.label :latitude
+ = f.text_field :latitude
+ .field
+ = f.label :longitude
+ = f.text_field :longitude
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/locations/edit.html.haml b/app/views/locations/edit.html.haml
new file mode 100644
index 0000000..7df3139
--- /dev/null
+++ b/app/views/locations/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing location
+
+= render 'form'
+
+= link_to 'Show', @location
+\|
+= link_to 'Back', locations_path
diff --git a/app/views/locations/index.html.haml b/app/views/locations/index.html.haml
new file mode 100644
index 0000000..5944907
--- /dev/null
+++ b/app/views/locations/index.html.haml
@@ -0,0 +1,25 @@
+%h1 Listing locations
+
+%table
+ %tr
+ %th Title
+ %th Address
+ %th Latitude
+ %th Longitude
+ %th
+ %th
+ %th
+
+ - @locations.each do |location|
+ %tr
+ %td= location.title
+ %td= location.address
+ %td= location.latitude
+ %td= location.longitude
+ %td= link_to 'Show', location
+ %td= link_to 'Edit', edit_location_path(location)
+ %td= link_to 'Destroy', location, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Location', new_location_path
diff --git a/app/views/locations/new.html.haml b/app/views/locations/new.html.haml
new file mode 100644
index 0000000..29f3447
--- /dev/null
+++ b/app/views/locations/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New location
+
+= render 'form'
+
+= link_to 'Back', locations_path
diff --git a/app/views/locations/show.html.haml b/app/views/locations/show.html.haml
new file mode 100644
index 0000000..2a2e48a
--- /dev/null
+++ b/app/views/locations/show.html.haml
@@ -0,0 +1,18 @@
+%p#notice= notice
+
+%p
+ %b Title:
+ = @location.title
+%p
+ %b Address:
+ = @location.address
+%p
+ %b Latitude:
+ = @location.latitude
+%p
+ %b Longitude:
+ = @location.longitude
+
+= link_to 'Edit', edit_location_path(@location)
+\|
+= link_to 'Back', locations_path
diff --git a/app/views/organization_statuses/_form.html.haml b/app/views/organization_statuses/_form.html.haml
new file mode 100644
index 0000000..f434f78
--- /dev/null
+++ b/app/views/organization_statuses/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @organization_status do |f|
+ - if @organization_status.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@organization_status.errors.count, "error")} prohibited this organization_status from being saved:"
+ %ul
+ - @organization_status.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :name
+ = f.text_field :name
+ .field
+ = f.label :slug
+ = f.text_field :slug
+ .field
+ = f.label :info
+ = f.text_field :info
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/organization_statuses/edit.html.haml b/app/views/organization_statuses/edit.html.haml
new file mode 100644
index 0000000..eb5a774
--- /dev/null
+++ b/app/views/organization_statuses/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing organization_status
+
+= render 'form'
+
+= link_to 'Show', @organization_status
+\|
+= link_to 'Back', organization_statuses_path
diff --git a/app/views/organization_statuses/index.html.haml b/app/views/organization_statuses/index.html.haml
new file mode 100644
index 0000000..557e62d
--- /dev/null
+++ b/app/views/organization_statuses/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing organization_statuses
+
+%table
+ %tr
+ %th Name
+ %th Slug
+ %th Info
+ %th
+ %th
+ %th
+
+ - @organization_statuses.each do |organization_status|
+ %tr
+ %td= organization_status.name
+ %td= organization_status.slug
+ %td= organization_status.info
+ %td= link_to 'Show', organization_status
+ %td= link_to 'Edit', edit_organization_status_path(organization_status)
+ %td= link_to 'Destroy', organization_status, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Organization status', new_organization_status_path
diff --git a/app/views/organization_statuses/new.html.haml b/app/views/organization_statuses/new.html.haml
new file mode 100644
index 0000000..a68af53
--- /dev/null
+++ b/app/views/organization_statuses/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New organization_status
+
+= render 'form'
+
+= link_to 'Back', organization_statuses_path
diff --git a/app/views/organization_statuses/show.html.haml b/app/views/organization_statuses/show.html.haml
new file mode 100644
index 0000000..0599f38
--- /dev/null
+++ b/app/views/organization_statuses/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Name:
+ = @organization_status.name
+%p
+ %b Slug:
+ = @organization_status.slug
+%p
+ %b Info:
+ = @organization_status.info
+
+= link_to 'Edit', edit_organization_status_path(@organization_status)
+\|
+= link_to 'Back', organization_statuses_path
diff --git a/app/views/organizations/_form.html.haml b/app/views/organizations/_form.html.haml
new file mode 100644
index 0000000..ce0aabb
--- /dev/null
+++ b/app/views/organizations/_form.html.haml
@@ -0,0 +1,42 @@
+= form_for @organization do |f|
+ .columns
+ - if @organization.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@organization.errors.count, "error")} prohibited this organization from being saved:"
+ %ul
+ - @organization.errors.full_messages.each do |msg|
+ %li= msg
+ = field f, :name, :text_field
+ = field f, :slug, :text_field
+
+ .columns.medium-4
+ -#%h2=_'organization.create.intro-title', :t
+ -#%p=_'organization.create.intro', :p
+ =# field f, :avatar, :image_field
+ = field f, :avatar, :image_field, @organization.avatar_url
+ -#= field f, :year_founded, :number_field
+ =# f.label :avatar do
+ =# %div
+ =# = image_tag(@organization.avatar_url || ''
+ =# = f.hidden_field :avatar_cache
+ .columns.medium-8
+ = field f, :email_address, :email_field
+ -#= field f, :url, :text_field
+ = f.fields_for :locations do |b|
+ = field_set_tag 'Location' do
+ = field b, :country, :country_select, {help: 'Select a Country'}
+ - cc = @organization.locations && @organization.locations[b.index].country ? @organization.locations[b.index].country : 'US'
+ = field b, :territory, :subregion_select, cc, html: {class: @organization.locations[b.index].country ? 'can' : 'cant', data: {:country => cc}}
+ = field b, :city, :text_field
+ = field b, :street, :text_field
+ = field b, :postal_code, :text_field
+ -#= field f, :logo, :text_field
+ -#= field f, :avatar, :text_field
+ -#= field f, :requires_approval, :check_box
+ -#= field f, :secret_question, :text_field
+ -#= field f, :secret_answer, :text_field
+ -#= field f, :location_id, :number_field
+ -#= field f, :user_organization_replationship_id, :number_field
+ .columns
+ = field f, :info, :text_area
+ = actions :save
diff --git a/app/views/organizations/edit.html.haml b/app/views/organizations/edit.html.haml
new file mode 100644
index 0000000..f4bc67e
--- /dev/null
+++ b/app/views/organizations/edit.html.haml
@@ -0,0 +1,5 @@
+- page_style :form
+
+= tabs!
+.row
+ = render 'form'
diff --git a/app/views/organizations/identity.html.haml b/app/views/organizations/identity.html.haml
new file mode 100644
index 0000000..3fbb618
--- /dev/null
+++ b/app/views/organizations/identity.html.haml
@@ -0,0 +1,13 @@
+
+- page_style :form
+
+= tabs!
+.row
+ = form_for @organization do |f|
+ .columns.medium-4
+ %h2=_'organization.members.help.title', :t
+ %p=_'organization.members.help', :p
+ .columns.medium-8
+ = field f, :cover, :image_field, @organization.cover_url
+ = field f, :year_founded, :number_field
+ = actions :save
diff --git a/app/views/organizations/index.html.haml b/app/views/organizations/index.html.haml
new file mode 100644
index 0000000..e1d3d3a
--- /dev/null
+++ b/app/views/organizations/index.html.haml
@@ -0,0 +1,41 @@
+%h1 Listing organizations
+
+%table
+ %tr
+ %th Name
+ %th Slug
+ %th Email address
+ %th Url
+ %th Year founded
+ %th Info
+ %th Logo
+ %th Avatar
+ %th Requires approval
+ %th Secret question
+ %th Secret answer
+ %th User organization replationship
+ %th
+ %th
+ %th
+
+ - @organizations.each do |organization|
+ %tr
+ %td= organization.name
+ %td= organization.slug
+ %td= organization.email_address
+ %td= organization.url
+ %td= organization.year_founded
+ %td= organization.info
+ %td= organization.logo
+ %td= organization.avatar
+ %td= organization.requires_approval
+ %td= organization.secret_question
+ %td= organization.secret_answer
+ %td= organization.user_organization_replationship_id
+ %td= link_to 'Show', organization
+ %td= link_to 'Edit', edit_organization_path(organization)
+ %td= link_to 'Destroy', organization, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Organization', new_organization_path
diff --git a/app/views/organizations/members.html.haml b/app/views/organizations/members.html.haml
new file mode 100644
index 0000000..99d8720
--- /dev/null
+++ b/app/views/organizations/members.html.haml
@@ -0,0 +1,14 @@
+
+- page_style :form
+
+= tabs!
+.row
+ = form_for @organization do |f|
+ .columns.medium-4
+ %h2=_'organization.members.help.title', :t
+ %p=_'organization.members.help', :p
+ .columns.medium-8
+ .clearfix
+ = f.fields_for :user_organization_relationships, :include_id => true do |u|
+ = field u, :id, :user_select_field, @organization.users[u.index], attrs: [@organization.user_organization_relationships[u.index]]
+ = actions :save
diff --git a/app/views/organizations/new.html.haml b/app/views/organizations/new.html.haml
new file mode 100644
index 0000000..b7e0096
--- /dev/null
+++ b/app/views/organizations/new.html.haml
@@ -0,0 +1,5 @@
+-# banner_title 'Register a New Organization'
+- page_style :form
+
+.row
+ = render 'form'
diff --git a/app/views/organizations/show.html.haml b/app/views/organizations/show.html.haml
new file mode 100644
index 0000000..ce05071
--- /dev/null
+++ b/app/views/organizations/show.html.haml
@@ -0,0 +1,18 @@
+- page_style 'organization'
+- banner_image @organization.cover_url
+- content_for :banner do
+ .row
+ .columns.medium-6.info
+ %h1=@organization.name
+ %h2=@organization.locations[0].city + (@organization.locations[0].territory ? ' ' + @organization.locations[0].territory : '') + ', ' + Carmen::Country.coded(@organization.locations[0].country).name
+ .columns.medium-6
+ %figure
+ = image_tag(@organization.avatar_url)
+
+%p#notice= notice
+
+= tabs!
+
+.row
+ .columns
+ =p @organization, :info
diff --git a/app/views/pages/home.html.haml b/app/views/pages/home.html.haml
index 97d95d6..6e6a5b2 100644
--- a/app/views/pages/home.html.haml
+++ b/app/views/pages/home.html.haml
@@ -1,6 +1,30 @@
- title 'Bike!Bike!'
+- banner_image '/assets/columbus.jpg'
+- page_style 'emphasize-banner'
-%h1
- Bike!Bike!
-%p.lead.muted
- Ruby 2 + Rails 4.0.0 + Foundation
+- content_for :banner do
+ .row
+ .columns.medium-6
+ %figure
+ %img{src: '/assets/poster.jpg'}
+ .columns.medium-6.info
+ %h1
+ Bike!Bike! 2014
+ %h2
+ Columbus, Ohio
+ %em
+ August 30 - September 1
+ %p
+ = _ 'nola_2013.about', 'paragraph'
+ .centered
+ %a.button{href: '#'}
+ Register Now
+
+%section
+ .row
+ .columns.medium-6
+ %h1
+ Welcome to Bike!Bike!
+ %p
+ = _ 'home.its_awesome', 'paragraph'
+ .columns.medium-6
diff --git a/app/views/registration_form_fields/_conference_form.html.haml b/app/views/registration_form_fields/_conference_form.html.haml
new file mode 100644
index 0000000..341e462
--- /dev/null
+++ b/app/views/registration_form_fields/_conference_form.html.haml
@@ -0,0 +1,6 @@
+= sortable @conference.conference_registration_form_fields, 'registration_form_field_id', url: 'form/reorder' do |form_field|
+ - ff = RegistrationFormField.find(form_field.registration_form_field_id)
+ %span.drag-sort='[drag]'
+ = ff.title
+ %a.remove-form-field.button{:data => {:id => ff.id}}
+ = _ 'registration_form_field.list.remove_from_form'
diff --git a/app/views/registration_form_fields/_form.html.haml b/app/views/registration_form_fields/_form.html.haml
new file mode 100644
index 0000000..3224c87
--- /dev/null
+++ b/app/views/registration_form_fields/_form.html.haml
@@ -0,0 +1,14 @@
+= form_for @registration_form_field do |f|
+ - if @registration_form_field.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@registration_form_field.errors.count, "error")} prohibited this registration_form_field from being saved:"
+ %ul
+ - @registration_form_field.errors.full_messages.each do |msg|
+ %li= msg
+
+ = field f, :field_type, :select, RegistrationFormField::Types.keys
+ - RegistrationFormField::Fields.each do |key, value|
+ - classes = RegistrationFormField::TypesForField(key.to_sym).collect{|v| 'field-type-' + v.to_s}
+ - classes << 'registration-form-field-field'
+ = eval('field f, :' + key.to_s + ', :' + value[:control] + (value[:options] ? ', ' + (value[:options].map.with_index{|v, i| 'value[:options][' + i.to_s + ']'}.join(', ') || 'nil') : '') + ", classes: classes")
+ = actions :save
diff --git a/app/views/registration_form_fields/_list.html.haml b/app/views/registration_form_fields/_list.html.haml
new file mode 100644
index 0000000..b8cdffe
--- /dev/null
+++ b/app/views/registration_form_fields/_list.html.haml
@@ -0,0 +1,6 @@
+%ul
+ - @registration_form_fields.each do |registration_form_field|
+ %li
+ = registration_form_field.title
+ %a.add-form-field.button{:data => {:id => registration_form_field.id}}
+ = _ 'registration_form_field.list.add_to_form'
diff --git a/app/views/registration_form_fields/edit.html.haml b/app/views/registration_form_fields/edit.html.haml
new file mode 100644
index 0000000..3f30528
--- /dev/null
+++ b/app/views/registration_form_fields/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing registration_form_field
+
+= render 'form'
+
+= link_to 'Show', @registration_form_field
+\|
+= link_to 'Back', registration_form_fields_path
diff --git a/app/views/registration_form_fields/index.html.haml b/app/views/registration_form_fields/index.html.haml
new file mode 100644
index 0000000..dcd44b6
--- /dev/null
+++ b/app/views/registration_form_fields/index.html.haml
@@ -0,0 +1,29 @@
+%h1 Listing registration_form_fields
+
+%table
+ %tr
+ %th Title
+ %th Help
+ %th Required
+ %th Field type
+ %th Options
+ %th Is retired
+ %th
+ %th
+ %th
+
+ - @registration_form_fields.each do |registration_form_field|
+ %tr
+ %td= registration_form_field.title
+ %td= registration_form_field.help
+ %td= registration_form_field.required
+ %td= registration_form_field.field_type
+ %td= registration_form_field.options
+ %td= registration_form_field.is_retired
+ %td= link_to 'Show', registration_form_field
+ %td= link_to 'Edit', edit_registration_form_field_path(registration_form_field)
+ %td= link_to 'Destroy', registration_form_field, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Registration form field', new_registration_form_field_path
diff --git a/app/views/registration_form_fields/new.html.haml b/app/views/registration_form_fields/new.html.haml
new file mode 100644
index 0000000..7130e36
--- /dev/null
+++ b/app/views/registration_form_fields/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New registration_form_field
+
+= render 'form'
+
+= link_to 'Back', registration_form_fields_path
diff --git a/app/views/registration_form_fields/show.html.haml b/app/views/registration_form_fields/show.html.haml
new file mode 100644
index 0000000..d3468d1
--- /dev/null
+++ b/app/views/registration_form_fields/show.html.haml
@@ -0,0 +1,24 @@
+%p#notice= notice
+
+%p
+ %b Title:
+ = @registration_form_field.title
+%p
+ %b Help:
+ = @registration_form_field.help
+%p
+ %b Required:
+ = @registration_form_field.required
+%p
+ %b Field type:
+ = @registration_form_field.field_type
+%p
+ %b Options:
+ = @registration_form_field.options
+%p
+ %b Is retired:
+ = @registration_form_field.is_retired
+
+= link_to 'Edit', edit_registration_form_field_path(@registration_form_field)
+\|
+= link_to 'Back', registration_form_fields_path
diff --git a/app/views/shared/_footer.html.haml b/app/views/shared/_footer.html.haml
index 5d9a341..2fe7ad2 100644
--- a/app/views/shared/_footer.html.haml
+++ b/app/views/shared/_footer.html.haml
@@ -1,6 +1,5 @@
-%hr
%footer
- %p
- = link_to 'https://github.com/diowa/ruby2-rails4-bootstrap-heroku' do
- %i.icon-github
- diowa/ruby2-rails4-bootstrap-heroku
+ %p
+ = link_to 'https://github.com/diowa/ruby2-rails4-bootstrap-heroku' do
+ %i.icon-github
+ diowa/ruby2-rails4-bootstrap-heroku
diff --git a/app/views/shared/_navbar.html.haml b/app/views/shared/_navbar.html.haml
index 92cec9b..c96af17 100644
--- a/app/views/shared/_navbar.html.haml
+++ b/app/views/shared/_navbar.html.haml
@@ -1,5 +1,5 @@
-%nav.top-bar
+%nav.top-bar.row
#nav-inner
%ul.title-area
/ Title Area
@@ -13,18 +13,19 @@
.top-bar-section
/ Left Nav Section
%ul.left
- %li.divider
%li.active
- %a{href: "#"} Conferences
- %li.divider
+ %a{href: "/conferences/"} Conferences
%li
- %a{href: "#"} Organizations
- %li.divider
+ %a{href: "/organizations/"} Organizations
%li
- %a{href: "#"} Resources
- %li.divider
- / Right Nav Section
+ %a{href: "/resources/"} Resources
+ / Right Nav Section
%ul.right
- %li.divider.hide-for-small
- %li.has-form
- %a.button{href: "#"} Sign In!
+ - if current_user
+ %li.has-form.sign-out
+ = link_to "Sign Out", :logout, method: :post, :class => 'button'
+ %li.user-profile
+ = link_to image_tag(current_user.avatar_url(:icon)), current_user
+ - else
+ %li.has-form.sign-in
+ = link_to "Sign In", :login, :class => 'button'
diff --git a/app/views/shared/_translation_control.html.haml b/app/views/shared/_translation_control.html.haml
new file mode 100644
index 0000000..f9bfaca
--- /dev/null
+++ b/app/views/shared/_translation_control.html.haml
@@ -0,0 +1,27 @@
+- if ThereAreTranslationsOnThisPage?
+ - counts = {'one' => _('translation.count.one'), 'zero' => _('translation.count.zero'), 'two' => _('translation.count.two'), 'few' => _('translation.count.few'), 'many' => _('translation.count.many')}
+ - save_str = _ 'active_record.save'
+ = javascript_include_tag 'translate'
+ %div#translation-control
+ = form_tag '/translate/' do
+ = hidden_field_tag :translationlang, I18n.locale
+ .row
+ .columns.medium-3
+ = select_tag :translationkey, options_for_select(get_all_translations().invert())
+ .columns.medium-8
+ = text_area_tag :translationvalue, '', :rows => '1'
+ #translatepluralizations
+ = hidden_field_tag :translationhascount, I18n.locale
+ - counts.each do |count_key,count_name|
+ .row
+ .columns.medium-2
+ = check_box_tag ('translationpluralization_' + count_key.to_s)
+ = label_tag ('translationpluralization_' + count_key.to_s), count_name.to_s
+ .columns.medium-10
+ = text_area_tag ('translationvalue_' + count_key.to_s), '', :rows => '1'
+ #translatevars
+ %strong Parameters:
+ %ul
+ .columns.medium-1
+ = button_tag save_str
+
\ No newline at end of file
diff --git a/app/views/user_mailer/activation_needed_email.text.haml b/app/views/user_mailer/activation_needed_email.text.haml
new file mode 100644
index 0000000..4c6b3ac
--- /dev/null
+++ b/app/views/user_mailer/activation_needed_email.text.haml
@@ -0,0 +1,3 @@
+UserMailer#activation_needed_email
+
+= @greeting + ", find me in app/views/user_mailer/activation_needed_email.text.haml"
diff --git a/app/views/user_mailer/activation_success_email.text.haml b/app/views/user_mailer/activation_success_email.text.haml
new file mode 100644
index 0000000..c766aa7
--- /dev/null
+++ b/app/views/user_mailer/activation_success_email.text.haml
@@ -0,0 +1,3 @@
+UserMailer#activation_success_email
+
+= @greeting + ", find me in app/views/user_mailer/activation_success_email.text.haml"
diff --git a/app/views/user_organization_relationships/_form.html.haml b/app/views/user_organization_relationships/_form.html.haml
new file mode 100644
index 0000000..2f12da2
--- /dev/null
+++ b/app/views/user_organization_relationships/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @user_organization_relationship do |f|
+ - if @user_organization_relationship.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@user_organization_relationship.errors.count, "error")} prohibited this user_organization_relationship from being saved:"
+ %ul
+ - @user_organization_relationship.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :user_id
+ = f.number_field :user_id
+ .field
+ = f.label :organization_id
+ = f.number_field :organization_id
+ .field
+ = f.label :relationship
+ = f.text_field :relationship
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/user_organization_relationships/edit.html.haml b/app/views/user_organization_relationships/edit.html.haml
new file mode 100644
index 0000000..ab3d7f3
--- /dev/null
+++ b/app/views/user_organization_relationships/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing user_organization_relationship
+
+= render 'form'
+
+= link_to 'Show', @user_organization_relationship
+\|
+= link_to 'Back', user_organization_relationships_path
diff --git a/app/views/user_organization_relationships/index.html.haml b/app/views/user_organization_relationships/index.html.haml
new file mode 100644
index 0000000..9f9e7e2
--- /dev/null
+++ b/app/views/user_organization_relationships/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing user_organization_relationships
+
+%table
+ %tr
+ %th User
+ %th Organization
+ %th Relationship
+ %th
+ %th
+ %th
+
+ - @user_organization_relationships.each do |user_organization_relationship|
+ %tr
+ %td= user_organization_relationship.user_id
+ %td= user_organization_relationship.organization_id
+ %td= user_organization_relationship.relationship
+ %td= link_to 'Show', user_organization_relationship
+ %td= link_to 'Edit', edit_user_organization_relationship_path(user_organization_relationship)
+ %td= link_to 'Destroy', user_organization_relationship, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New User organization relationship', new_user_organization_relationship_path
diff --git a/app/views/user_organization_relationships/new.html.haml b/app/views/user_organization_relationships/new.html.haml
new file mode 100644
index 0000000..c02ac5f
--- /dev/null
+++ b/app/views/user_organization_relationships/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New user_organization_relationship
+
+= render 'form'
+
+= link_to 'Back', user_organization_relationships_path
diff --git a/app/views/user_organization_relationships/show.html.haml b/app/views/user_organization_relationships/show.html.haml
new file mode 100644
index 0000000..0d047ba
--- /dev/null
+++ b/app/views/user_organization_relationships/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b User:
+ = @user_organization_relationship.user_id
+%p
+ %b Organization:
+ = @user_organization_relationship.organization_id
+%p
+ %b Relationship:
+ = @user_organization_relationship.relationship
+
+= link_to 'Edit', edit_user_organization_relationship_path(@user_organization_relationship)
+\|
+= link_to 'Back', user_organization_relationships_path
diff --git a/app/views/user_sessions/_form.html.haml b/app/views/user_sessions/_form.html.haml
new file mode 100644
index 0000000..5314e6f
--- /dev/null
+++ b/app/views/user_sessions/_form.html.haml
@@ -0,0 +1,4 @@
+= form_tag user_sessions_path, :method => :post do
+ = field :email, :email_field
+ = field :password, :password_field_tag
+ = actions :sign_in
diff --git a/app/views/user_sessions/create.html.haml b/app/views/user_sessions/create.html.haml
new file mode 100644
index 0000000..04ebf6d
--- /dev/null
+++ b/app/views/user_sessions/create.html.haml
@@ -0,0 +1,2 @@
+%h1 UserSessions#create
+%p Find me in app/views/user_sessions/create.html.haml
diff --git a/app/views/user_sessions/destroy.html.haml b/app/views/user_sessions/destroy.html.haml
new file mode 100644
index 0000000..2a0f1ca
--- /dev/null
+++ b/app/views/user_sessions/destroy.html.haml
@@ -0,0 +1,2 @@
+%h1 UserSessions#destroy
+%p Find me in app/views/user_sessions/destroy.html.haml
diff --git a/app/views/user_sessions/new.html.haml b/app/views/user_sessions/new.html.haml
new file mode 100644
index 0000000..820fd0a
--- /dev/null
+++ b/app/views/user_sessions/new.html.haml
@@ -0,0 +1,11 @@
+- banner_title 'Login'
+
+.row
+ .columns.medium-6
+ = render 'form'
+ .columns.medium-6
+ %h2
+ Create an Account
+ %p
+ #{_ 'user.why_register', 'paragraph'}
+ = render '/users/form'
diff --git a/app/views/users/_form.html.haml b/app/views/users/_form.html.haml
new file mode 100644
index 0000000..1cbeacd
--- /dev/null
+++ b/app/views/users/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @user, :html => (@user.id ? {:multipart => true} : {}) do |f|
+ %div{:class => (@user.id ? 'columns medium-6' : '')}
+ - if @user.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@user.errors.count, "error")} prohibited this user from being saved:"
+ %ul
+ - @user.errors.full_messages.each do |msg|
+ %li= msg
+
+ = field f, :username, :text_field
+ = field f, :email, :text_field
+ - if !@user.id
+ = field f, :password, :password_field
+ = field f, :password_confirmation, :password_field
+ = actions :register
+ - if @user.id
+ .columns.medium-6
+ = field f, :avatar, :image_field, @user.avatar_url
+ = actions :save
diff --git a/app/views/users/edit.html.haml b/app/views/users/edit.html.haml
new file mode 100644
index 0000000..75463c1
--- /dev/null
+++ b/app/views/users/edit.html.haml
@@ -0,0 +1,8 @@
+- banner_title @user.username
+
+.row
+ = render 'form'
+
+ = link_to 'Show', @user
+ \|
+ = link_to 'Back', users_path
diff --git a/app/views/users/index.html.haml b/app/views/users/index.html.haml
new file mode 100644
index 0000000..c919ac4
--- /dev/null
+++ b/app/views/users/index.html.haml
@@ -0,0 +1,22 @@
+- banner_title 'Listing users'
+
+.row
+ %table
+ %tr
+ %th Email
+ %th Crypted password
+ %th Salt
+ %th
+ %th
+ %th
+
+ - @users.each do |user|
+ %tr
+ %td= user.email
+ %td= user.crypted_password
+ %td= user.salt
+ %td= link_to 'Show', user
+ %td= link_to 'Edit', edit_user_path(user)
+ %td= link_to 'Destroy', user, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+ = link_to 'New User', new_user_path
diff --git a/app/views/users/new.html.haml b/app/views/users/new.html.haml
new file mode 100644
index 0000000..77b5e65
--- /dev/null
+++ b/app/views/users/new.html.haml
@@ -0,0 +1,6 @@
+- banner_title 'Create an Account'
+
+.row
+ = render 'form'
+
+= link_to 'Back', users_path
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
new file mode 100644
index 0000000..98a9dde
--- /dev/null
+++ b/app/views/users/show.html.haml
@@ -0,0 +1,14 @@
+- banner_title @user.username
+
+%p#notice= notice
+
+.row
+
+ %p
+ %b Email:
+ = @user.email
+ = image_tag(@user.avatar_url(:thumb)) if @user.avatar?
+
+ = link_to 'Edit', edit_user_path(@user)
+ \|
+ = link_to 'Back', users_path
diff --git a/app/views/workshop_presentation_styles/_form.html.haml b/app/views/workshop_presentation_styles/_form.html.haml
new file mode 100644
index 0000000..70aeca6
--- /dev/null
+++ b/app/views/workshop_presentation_styles/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @workshop_presentation_style do |f|
+ - if @workshop_presentation_style.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@workshop_presentation_style.errors.count, "error")} prohibited this workshop_presentation_style from being saved:"
+ %ul
+ - @workshop_presentation_style.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :name
+ = f.text_field :name
+ .field
+ = f.label :slug
+ = f.text_field :slug
+ .field
+ = f.label :info
+ = f.text_field :info
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/workshop_presentation_styles/edit.html.haml b/app/views/workshop_presentation_styles/edit.html.haml
new file mode 100644
index 0000000..3d7eca3
--- /dev/null
+++ b/app/views/workshop_presentation_styles/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing workshop_presentation_style
+
+= render 'form'
+
+= link_to 'Show', @workshop_presentation_style
+\|
+= link_to 'Back', workshop_presentation_styles_path
diff --git a/app/views/workshop_presentation_styles/index.html.haml b/app/views/workshop_presentation_styles/index.html.haml
new file mode 100644
index 0000000..9b3fdc8
--- /dev/null
+++ b/app/views/workshop_presentation_styles/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing workshop_presentation_styles
+
+%table
+ %tr
+ %th Name
+ %th Slug
+ %th Info
+ %th
+ %th
+ %th
+
+ - @workshop_presentation_styles.each do |workshop_presentation_style|
+ %tr
+ %td= workshop_presentation_style.name
+ %td= workshop_presentation_style.slug
+ %td= workshop_presentation_style.info
+ %td= link_to 'Show', workshop_presentation_style
+ %td= link_to 'Edit', edit_workshop_presentation_style_path(workshop_presentation_style)
+ %td= link_to 'Destroy', workshop_presentation_style, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Workshop presentation style', new_workshop_presentation_style_path
diff --git a/app/views/workshop_presentation_styles/new.html.haml b/app/views/workshop_presentation_styles/new.html.haml
new file mode 100644
index 0000000..a1a177f
--- /dev/null
+++ b/app/views/workshop_presentation_styles/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New workshop_presentation_style
+
+= render 'form'
+
+= link_to 'Back', workshop_presentation_styles_path
diff --git a/app/views/workshop_presentation_styles/show.html.haml b/app/views/workshop_presentation_styles/show.html.haml
new file mode 100644
index 0000000..9f0f02e
--- /dev/null
+++ b/app/views/workshop_presentation_styles/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Name:
+ = @workshop_presentation_style.name
+%p
+ %b Slug:
+ = @workshop_presentation_style.slug
+%p
+ %b Info:
+ = @workshop_presentation_style.info
+
+= link_to 'Edit', edit_workshop_presentation_style_path(@workshop_presentation_style)
+\|
+= link_to 'Back', workshop_presentation_styles_path
diff --git a/app/views/workshop_resources/_form.html.haml b/app/views/workshop_resources/_form.html.haml
new file mode 100644
index 0000000..0fb4541
--- /dev/null
+++ b/app/views/workshop_resources/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @workshop_resource do |f|
+ - if @workshop_resource.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@workshop_resource.errors.count, "error")} prohibited this workshop_resource from being saved:"
+ %ul
+ - @workshop_resource.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :name
+ = f.text_field :name
+ .field
+ = f.label :slug
+ = f.text_field :slug
+ .field
+ = f.label :info
+ = f.text_field :info
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/workshop_resources/edit.html.haml b/app/views/workshop_resources/edit.html.haml
new file mode 100644
index 0000000..7554b14
--- /dev/null
+++ b/app/views/workshop_resources/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing workshop_resource
+
+= render 'form'
+
+= link_to 'Show', @workshop_resource
+\|
+= link_to 'Back', workshop_resources_path
diff --git a/app/views/workshop_resources/index.html.haml b/app/views/workshop_resources/index.html.haml
new file mode 100644
index 0000000..3864430
--- /dev/null
+++ b/app/views/workshop_resources/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing workshop_resources
+
+%table
+ %tr
+ %th Name
+ %th Slug
+ %th Info
+ %th
+ %th
+ %th
+
+ - @workshop_resources.each do |workshop_resource|
+ %tr
+ %td= workshop_resource.name
+ %td= workshop_resource.slug
+ %td= workshop_resource.info
+ %td= link_to 'Show', workshop_resource
+ %td= link_to 'Edit', edit_workshop_resource_path(workshop_resource)
+ %td= link_to 'Destroy', workshop_resource, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Workshop resource', new_workshop_resource_path
diff --git a/app/views/workshop_resources/new.html.haml b/app/views/workshop_resources/new.html.haml
new file mode 100644
index 0000000..5093ef7
--- /dev/null
+++ b/app/views/workshop_resources/new.html.haml
@@ -0,0 +1,5 @@
+%h1 New workshop_resource
+
+= render 'form'
+
+= link_to 'Back', workshop_resources_path
diff --git a/app/views/workshop_resources/show.html.haml b/app/views/workshop_resources/show.html.haml
new file mode 100644
index 0000000..f134dc0
--- /dev/null
+++ b/app/views/workshop_resources/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Name:
+ = @workshop_resource.name
+%p
+ %b Slug:
+ = @workshop_resource.slug
+%p
+ %b Info:
+ = @workshop_resource.info
+
+= link_to 'Edit', edit_workshop_resource_path(@workshop_resource)
+\|
+= link_to 'Back', workshop_resources_path
diff --git a/app/views/workshop_streams/_form.html.haml b/app/views/workshop_streams/_form.html.haml
new file mode 100644
index 0000000..1391e7a
--- /dev/null
+++ b/app/views/workshop_streams/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for @workshop_stream, html: {class: 'row'} do |f|
+ - if @workshop_stream.errors.any?
+ #error_explanation
+ %h2= "#{pluralize(@workshop_stream.errors.count, "error")} prohibited this workshop_stream from being saved:"
+ %ul
+ - @workshop_stream.errors.full_messages.each do |msg|
+ %li= msg
+
+ .field
+ = f.label :name
+ = f.text_field :name
+ .field
+ = f.label :slug
+ = f.text_field :slug
+ .field
+ = f.label :info
+ = f.text_field :info
+ .actions
+ = f.submit 'Save'
diff --git a/app/views/workshop_streams/edit.html.haml b/app/views/workshop_streams/edit.html.haml
new file mode 100644
index 0000000..d4bc5a8
--- /dev/null
+++ b/app/views/workshop_streams/edit.html.haml
@@ -0,0 +1,7 @@
+%h1 Editing workshop_stream
+
+= render 'form'
+
+= link_to 'Show', @workshop_stream
+\|
+= link_to 'Back', workshop_streams_path
diff --git a/app/views/workshop_streams/index.html.haml b/app/views/workshop_streams/index.html.haml
new file mode 100644
index 0000000..d7a04c5
--- /dev/null
+++ b/app/views/workshop_streams/index.html.haml
@@ -0,0 +1,23 @@
+%h1 Listing workshop_streams
+
+%table
+ %tr
+ %th Name
+ %th Slug
+ %th Info
+ %th
+ %th
+ %th
+
+ - @workshop_streams.each do |workshop_stream|
+ %tr
+ %td= workshop_stream.name
+ %td= workshop_stream.slug
+ %td= workshop_stream.info
+ %td= link_to 'Show', workshop_stream
+ %td= link_to 'Edit', edit_workshop_stream_path(workshop_stream)
+ %td= link_to 'Destroy', workshop_stream, :method => :delete, :data => { :confirm => 'Are you sure?' }
+
+%br
+
+= link_to 'New Workshop stream', new_workshop_stream_path
diff --git a/app/views/workshop_streams/new.html.haml b/app/views/workshop_streams/new.html.haml
new file mode 100644
index 0000000..922fdae
--- /dev/null
+++ b/app/views/workshop_streams/new.html.haml
@@ -0,0 +1,5 @@
+- banner_title 'New workshop_stream'
+
+= render 'form'
+
+= link_to 'Back', workshop_streams_path
diff --git a/app/views/workshop_streams/show.html.haml b/app/views/workshop_streams/show.html.haml
new file mode 100644
index 0000000..2190d5e
--- /dev/null
+++ b/app/views/workshop_streams/show.html.haml
@@ -0,0 +1,15 @@
+%p#notice= notice
+
+%p
+ %b Name:
+ = @workshop_stream.name
+%p
+ %b Slug:
+ = @workshop_stream.slug
+%p
+ %b Info:
+ = @workshop_stream.info
+
+= link_to 'Edit', edit_workshop_stream_path(@workshop_stream)
+\|
+= link_to 'Back', workshop_streams_path
diff --git a/bower.json b/bower.json
new file mode 100644
index 0000000..0db52c9
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,6 @@
+{
+ "name": "foundation_project",
+ "dependencies": {
+ "foundation": "zurb/bower-foundation#~5.0.3"
+ }
+}
diff --git a/bower_components/fastclick/LICENSE.txt b/bower_components/fastclick/LICENSE.txt
new file mode 100644
index 0000000..b8d751c
--- /dev/null
+++ b/bower_components/fastclick/LICENSE.txt
@@ -0,0 +1,7 @@
+Copyright (C) 2012 The Financial Times Ltd.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/bower_components/fastclick/README.md b/bower_components/fastclick/README.md
new file mode 100644
index 0000000..6c64d7e
--- /dev/null
+++ b/bower_components/fastclick/README.md
@@ -0,0 +1,138 @@
+# FastClick #
+
+FastClick is a simple, easy-to-use library for eliminating the 300ms delay between a physical tap and the firing of a `click` event on mobile browsers. The aim is to make your application feel less laggy and more responsive while avoiding any interference with your current logic.
+
+FastClick is developed by [FT Labs](http://labs.ft.com/), part of the Financial Times.
+
+[Explication en français](http://maxime.sh/2013/02/supprimer-le-lag-des-clics-sur-mobile-avec-fastclick/).
+
+[日本語ã§èª¬æ˜Ž](https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques#Make_events_immediate)。
+
+[Краткое поÑÑнение на руÑÑком Ñзыке](http://job-blog.bullgare.ru/2013/02/библиотека-длÑ-более-отзывчивой-рабо/).
+
+## Why does the delay exist? ##
+
+According to [Google](https://developers.google.com/mobile/articles/fast_buttons):
+
+> ...mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap.
+
+## Compatibility ##
+
+The library has been deployed as part of the [FT Web App](http://app.ft.com/) and is tried and tested on the following mobile browsers:
+
+* Mobile Safari on iOS 3 and upwards
+* Chrome on iOS 5 and upwards
+* Chrome on Android (ICS)
+* Opera Mobile 11.5 and upwards
+* Android Browser since Android 2
+* PlayBook OS 1 and upwards
+
+## When it isn't needed ##
+
+FastClick doesn't attach any listeners on desktop browsers.
+
+Chrome 32+ on Android with `width=device-width` in the [viewport meta tag](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag) doesn't have a 300ms delay, therefore listeners aren't attached.
+
+Same goes for Chrome on Android (all versions) with `user-scalable=no` in the viewport meta tag. But be aware that `user-scalable=no` also disables pinch zooming, which may be an accessibility concern.
+
+```html
+
+```
+
+For IE10, you can use `-ms-touch-action: none` to disable double-tap-to-zoom on certain elements (like links and buttons) as described in [this MSDN blog post](http://blogs.msdn.com/b/askie/archive/2013/01/06/how-to-implement-the-ms-touch-action-none-property-to-disable-double-tap-zoom-on-touch-devices.aspx). For example:
+
+```css
+a, input, button {
+ -ms-touch-action: none !important;
+}
+```
+
+You'll then have no tap delay on those elements, without needing FastClick.
+
+## Usage ##
+
+Include fastclick.js in your JavaScript bundle or add it to your HTML page like this:
+
+```html
+
+```
+
+The script must be loaded prior to instantiating FastClick on any element of the page.
+
+To instantiate FastClick on the `body`, which is the recommended method of use:
+
+```js
+window.addEventListener('load', function() {
+ FastClick.attach(document.body);
+}, false);
+```
+
+Don't forget to add a [shim](https://developer.mozilla.org/en-US/docs/DOM/EventTarget.removeEventListener#Compatibility) for `addEventListener` if you want to support IE8 and below.
+
+Otherwise, if you're using jQuery:
+
+```js
+$(function() {
+ FastClick.attach(document.body);
+});
+```
+
+If you're using Browserify or another CommonJS-style module system, the `FastClick.attach` function will be returned when you call `require('fastclick')`. As a result, the easiest way to use FastClick with these loaders is as follows:
+
+```js
+var attachFastClick = require('fastclick');
+attachFastClick(document.body);
+```
+
+### Minified ###
+
+Run `make` to build a minified version of FastClick using the Closure Compiler REST API. The minified file is saved to `build/fastclick.min.js`.
+
+### AMD ###
+
+FastClick has AMD (Asynchronous Module Definition) support. This allows it to be lazy-loaded with an AMD loader, such as [RequireJS](http://requirejs.org/).
+
+### Package managers ###
+
+You can install FastClick using [Component](https://github.com/component/component), [npm](https://npmjs.org/package/fastclick) or [Bower](http://bower.io/).
+
+For Ruby, there's a third-party gem called [fastclick-rails](http://rubygems.org/gems/fastclick-rails). For .NET there's a [NuGet package](http://nuget.org/packages/FastClick).
+
+## Advanced ##
+
+### Ignore certain elements with `needsclick` ###
+
+Sometimes you need FastClick to ignore certain elements. You can do this easily by adding the `needsclick` class.
+```html
+Ignored by FastClick
+```
+
+#### Use case 1: non-synthetic click required ####
+
+Internally, FastClick uses `document.createEvent` to fire a synthetic `click` event as soon as `touchend` is fired by the browser. It then suppresses the additional `click` event created by the browser after that. In some cases, the non-synthetic `click` event created by the browser is required, as described in the [triggering focus example](http://ftlabs.github.com/fastclick/examples/focus.html).
+
+This is where the `needsclick` class comes in. Add the class to any element that requires a non-synthetic click.
+
+#### Use case 2: Twitter Bootstrap 2.2.2 dropdowns ####
+
+Another example of when to use the `needsclick` class is with dropdowns in Twitter Bootstrap 2.2.2. Bootstrap add its own `touchstart` listener for dropdowns, so you want to tell FastClick to ignore those. If you don't, touch devices will automatically close the dropdown as soon as it is clicked, because both FastClick and Bootstrap execute the synthetic click, one opens the dropdown, the second closes it immediately after.
+
+```html
+Dropdown
+```
+
+## Examples ##
+
+FastClick is designed to cope with many different browser oddities. Here are some examples to illustrate this:
+
+* [basic use](http://ftlabs.github.com/fastclick/examples/layer.html) showing the increase in perceived responsiveness
+* [triggering focus](http://ftlabs.github.com/fastclick/examples/focus.html) on an input element from a `click` handler
+* [input element](http://ftlabs.github.com/fastclick/examples/input.html) which never receives clicks but gets fast focus
+
+## Tests ##
+
+There are no automated tests. The files in `tests/` are manual reduced test cases. We've had a think about how best to test these cases, but they tend to be very browser/device specific and sometimes subjective which means it's not so trivial to test.
+
+## Credits and collaboration ##
+
+The lead developer of FastClick is [Rowan Beentje](http://twitter.com/rowanbeentje) at FT Labs. This fork is currently maintained by [Matthew Caruana Galizia](http://twitter.com/mcaruanagalizia). All open source code released by FT Labs is licenced under the MIT licence. We welcome comments, feedback and suggestions. Please feel free to raise an issue or pull request. Enjoy.
diff --git a/bower_components/fastclick/bower.json b/bower_components/fastclick/bower.json
new file mode 100644
index 0000000..a0d62c7
--- /dev/null
+++ b/bower_components/fastclick/bower.json
@@ -0,0 +1,13 @@
+{
+ "name": "fastclick",
+ "version": "0.6.11",
+ "main": "lib/fastclick.js",
+ "ignore": [
+ "**/.*",
+ "component.json",
+ "package.json",
+ "Makefile",
+ "tests",
+ "examples"
+ ]
+}
diff --git a/bower_components/fastclick/lib/fastclick.js b/bower_components/fastclick/lib/fastclick.js
new file mode 100644
index 0000000..3482013
--- /dev/null
+++ b/bower_components/fastclick/lib/fastclick.js
@@ -0,0 +1,788 @@
+/**
+ * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
+ *
+ * @version 0.6.11
+ * @codingstandard ftlabs-jsv2
+ * @copyright The Financial Times Limited [All Rights Reserved]
+ * @license MIT License (see LICENSE.txt)
+ */
+
+/*jslint browser:true, node:true*/
+/*global define, Event, Node*/
+
+
+/**
+ * Instantiate fast-clicking listeners on the specificed layer.
+ *
+ * @constructor
+ * @param {Element} layer The layer to listen on
+ */
+function FastClick(layer) {
+ 'use strict';
+ var oldOnClick, self = this;
+
+
+ /**
+ * Whether a click is currently being tracked.
+ *
+ * @type boolean
+ */
+ this.trackingClick = false;
+
+
+ /**
+ * Timestamp for when when click tracking started.
+ *
+ * @type number
+ */
+ this.trackingClickStart = 0;
+
+
+ /**
+ * The element being tracked for a click.
+ *
+ * @type EventTarget
+ */
+ this.targetElement = null;
+
+
+ /**
+ * X-coordinate of touch start event.
+ *
+ * @type number
+ */
+ this.touchStartX = 0;
+
+
+ /**
+ * Y-coordinate of touch start event.
+ *
+ * @type number
+ */
+ this.touchStartY = 0;
+
+
+ /**
+ * ID of the last touch, retrieved from Touch.identifier.
+ *
+ * @type number
+ */
+ this.lastTouchIdentifier = 0;
+
+
+ /**
+ * Touchmove boundary, beyond which a click will be cancelled.
+ *
+ * @type number
+ */
+ this.touchBoundary = 10;
+
+
+ /**
+ * The FastClick layer.
+ *
+ * @type Element
+ */
+ this.layer = layer;
+
+ if (!layer || !layer.nodeType) {
+ throw new TypeError('Layer must be a document node');
+ }
+
+ /** @type function() */
+ this.onClick = function() { return FastClick.prototype.onClick.apply(self, arguments); };
+
+ /** @type function() */
+ this.onMouse = function() { return FastClick.prototype.onMouse.apply(self, arguments); };
+
+ /** @type function() */
+ this.onTouchStart = function() { return FastClick.prototype.onTouchStart.apply(self, arguments); };
+
+ /** @type function() */
+ this.onTouchMove = function() { return FastClick.prototype.onTouchMove.apply(self, arguments); };
+
+ /** @type function() */
+ this.onTouchEnd = function() { return FastClick.prototype.onTouchEnd.apply(self, arguments); };
+
+ /** @type function() */
+ this.onTouchCancel = function() { return FastClick.prototype.onTouchCancel.apply(self, arguments); };
+
+ if (FastClick.notNeeded(layer)) {
+ return;
+ }
+
+ // Set up event handlers as required
+ if (this.deviceIsAndroid) {
+ layer.addEventListener('mouseover', this.onMouse, true);
+ layer.addEventListener('mousedown', this.onMouse, true);
+ layer.addEventListener('mouseup', this.onMouse, true);
+ }
+
+ layer.addEventListener('click', this.onClick, true);
+ layer.addEventListener('touchstart', this.onTouchStart, false);
+ layer.addEventListener('touchmove', this.onTouchMove, false);
+ layer.addEventListener('touchend', this.onTouchEnd, false);
+ layer.addEventListener('touchcancel', this.onTouchCancel, false);
+
+ // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
+ // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick
+ // layer when they are cancelled.
+ if (!Event.prototype.stopImmediatePropagation) {
+ layer.removeEventListener = function(type, callback, capture) {
+ var rmv = Node.prototype.removeEventListener;
+ if (type === 'click') {
+ rmv.call(layer, type, callback.hijacked || callback, capture);
+ } else {
+ rmv.call(layer, type, callback, capture);
+ }
+ };
+
+ layer.addEventListener = function(type, callback, capture) {
+ var adv = Node.prototype.addEventListener;
+ if (type === 'click') {
+ adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
+ if (!event.propagationStopped) {
+ callback(event);
+ }
+ }), capture);
+ } else {
+ adv.call(layer, type, callback, capture);
+ }
+ };
+ }
+
+ // If a handler is already declared in the element's onclick attribute, it will be fired before
+ // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and
+ // adding it as listener.
+ if (typeof layer.onclick === 'function') {
+
+ // Android browser on at least 3.2 requires a new reference to the function in layer.onclick
+ // - the old one won't work if passed to addEventListener directly.
+ oldOnClick = layer.onclick;
+ layer.addEventListener('click', function(event) {
+ oldOnClick(event);
+ }, false);
+ layer.onclick = null;
+ }
+}
+
+
+/**
+ * Android requires exceptions.
+ *
+ * @type boolean
+ */
+FastClick.prototype.deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0;
+
+
+/**
+ * iOS requires exceptions.
+ *
+ * @type boolean
+ */
+FastClick.prototype.deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);
+
+
+/**
+ * iOS 4 requires an exception for select elements.
+ *
+ * @type boolean
+ */
+FastClick.prototype.deviceIsIOS4 = FastClick.prototype.deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
+
+
+/**
+ * iOS 6.0(+?) requires the target element to be manually derived
+ *
+ * @type boolean
+ */
+FastClick.prototype.deviceIsIOSWithBadTarget = FastClick.prototype.deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);
+
+
+/**
+ * Determine whether a given element requires a native click.
+ *
+ * @param {EventTarget|Element} target Target DOM element
+ * @returns {boolean} Returns true if the element needs a native click
+ */
+FastClick.prototype.needsClick = function(target) {
+ 'use strict';
+ switch (target.nodeName.toLowerCase()) {
+
+ // Don't send a synthetic click to disabled inputs (issue #62)
+ case 'button':
+ case 'select':
+ case 'textarea':
+ if (target.disabled) {
+ return true;
+ }
+
+ break;
+ case 'input':
+
+ // File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
+ if ((this.deviceIsIOS && target.type === 'file') || target.disabled) {
+ return true;
+ }
+
+ break;
+ case 'label':
+ case 'video':
+ return true;
+ }
+
+ return (/\bneedsclick\b/).test(target.className);
+};
+
+
+/**
+ * Determine whether a given element requires a call to focus to simulate click into element.
+ *
+ * @param {EventTarget|Element} target Target DOM element
+ * @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
+ */
+FastClick.prototype.needsFocus = function(target) {
+ 'use strict';
+ switch (target.nodeName.toLowerCase()) {
+ case 'textarea':
+ return true;
+ case 'select':
+ return !this.deviceIsAndroid;
+ case 'input':
+ switch (target.type) {
+ case 'button':
+ case 'checkbox':
+ case 'file':
+ case 'image':
+ case 'radio':
+ case 'submit':
+ return false;
+ }
+
+ // No point in attempting to focus disabled inputs
+ return !target.disabled && !target.readOnly;
+ default:
+ return (/\bneedsfocus\b/).test(target.className);
+ }
+};
+
+
+/**
+ * Send a click event to the specified element.
+ *
+ * @param {EventTarget|Element} targetElement
+ * @param {Event} event
+ */
+FastClick.prototype.sendClick = function(targetElement, event) {
+ 'use strict';
+ var clickEvent, touch;
+
+ // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
+ if (document.activeElement && document.activeElement !== targetElement) {
+ document.activeElement.blur();
+ }
+
+ touch = event.changedTouches[0];
+
+ // Synthesise a click event, with an extra attribute so it can be tracked
+ clickEvent = document.createEvent('MouseEvents');
+ clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
+ clickEvent.forwardedTouchEvent = true;
+ targetElement.dispatchEvent(clickEvent);
+};
+
+FastClick.prototype.determineEventType = function(targetElement) {
+ 'use strict';
+
+ //Issue #159: Android Chrome Select Box does not open with a synthetic click event
+ if (this.deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {
+ return 'mousedown';
+ }
+
+ return 'click';
+};
+
+
+/**
+ * @param {EventTarget|Element} targetElement
+ */
+FastClick.prototype.focus = function(targetElement) {
+ 'use strict';
+ var length;
+
+ // Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
+ if (this.deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') {
+ length = targetElement.value.length;
+ targetElement.setSelectionRange(length, length);
+ } else {
+ targetElement.focus();
+ }
+};
+
+
+/**
+ * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
+ *
+ * @param {EventTarget|Element} targetElement
+ */
+FastClick.prototype.updateScrollParent = function(targetElement) {
+ 'use strict';
+ var scrollParent, parentElement;
+
+ scrollParent = targetElement.fastClickScrollParent;
+
+ // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
+ // target element was moved to another parent.
+ if (!scrollParent || !scrollParent.contains(targetElement)) {
+ parentElement = targetElement;
+ do {
+ if (parentElement.scrollHeight > parentElement.offsetHeight) {
+ scrollParent = parentElement;
+ targetElement.fastClickScrollParent = parentElement;
+ break;
+ }
+
+ parentElement = parentElement.parentElement;
+ } while (parentElement);
+ }
+
+ // Always update the scroll top tracker if possible.
+ if (scrollParent) {
+ scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
+ }
+};
+
+
+/**
+ * @param {EventTarget} targetElement
+ * @returns {Element|EventTarget}
+ */
+FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
+ 'use strict';
+
+ // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
+ if (eventTarget.nodeType === Node.TEXT_NODE) {
+ return eventTarget.parentNode;
+ }
+
+ return eventTarget;
+};
+
+
+/**
+ * On touch start, record the position and scroll offset.
+ *
+ * @param {Event} event
+ * @returns {boolean}
+ */
+FastClick.prototype.onTouchStart = function(event) {
+ 'use strict';
+ var targetElement, touch, selection;
+
+ // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
+ if (event.targetTouches.length > 1) {
+ return true;
+ }
+
+ targetElement = this.getTargetElementFromEventTarget(event.target);
+ touch = event.targetTouches[0];
+
+ if (this.deviceIsIOS) {
+
+ // Only trusted events will deselect text on iOS (issue #49)
+ selection = window.getSelection();
+ if (selection.rangeCount && !selection.isCollapsed) {
+ return true;
+ }
+
+ if (!this.deviceIsIOS4) {
+
+ // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):
+ // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched
+ // with the same identifier as the touch event that previously triggered the click that triggered the alert.
+ // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
+ // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
+ if (touch.identifier === this.lastTouchIdentifier) {
+ event.preventDefault();
+ return false;
+ }
+
+ this.lastTouchIdentifier = touch.identifier;
+
+ // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
+ // 1) the user does a fling scroll on the scrollable layer
+ // 2) the user stops the fling scroll with another tap
+ // then the event.target of the last 'touchend' event will be the element that was under the user's finger
+ // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
+ // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
+ this.updateScrollParent(targetElement);
+ }
+ }
+
+ this.trackingClick = true;
+ this.trackingClickStart = event.timeStamp;
+ this.targetElement = targetElement;
+
+ this.touchStartX = touch.pageX;
+ this.touchStartY = touch.pageY;
+
+ // Prevent phantom clicks on fast double-tap (issue #36)
+ if ((event.timeStamp - this.lastClickTime) < 200) {
+ event.preventDefault();
+ }
+
+ return true;
+};
+
+
+/**
+ * Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
+ *
+ * @param {Event} event
+ * @returns {boolean}
+ */
+FastClick.prototype.touchHasMoved = function(event) {
+ 'use strict';
+ var touch = event.changedTouches[0], boundary = this.touchBoundary;
+
+ if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
+ return true;
+ }
+
+ return false;
+};
+
+
+/**
+ * Update the last position.
+ *
+ * @param {Event} event
+ * @returns {boolean}
+ */
+FastClick.prototype.onTouchMove = function(event) {
+ 'use strict';
+ if (!this.trackingClick) {
+ return true;
+ }
+
+ // If the touch has moved, cancel the click tracking
+ if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
+ this.trackingClick = false;
+ this.targetElement = null;
+ }
+
+ return true;
+};
+
+
+/**
+ * Attempt to find the labelled control for the given label element.
+ *
+ * @param {EventTarget|HTMLLabelElement} labelElement
+ * @returns {Element|null}
+ */
+FastClick.prototype.findControl = function(labelElement) {
+ 'use strict';
+
+ // Fast path for newer browsers supporting the HTML5 control attribute
+ if (labelElement.control !== undefined) {
+ return labelElement.control;
+ }
+
+ // All browsers under test that support touch events also support the HTML5 htmlFor attribute
+ if (labelElement.htmlFor) {
+ return document.getElementById(labelElement.htmlFor);
+ }
+
+ // If no for attribute exists, attempt to retrieve the first labellable descendant element
+ // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label
+ return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');
+};
+
+
+/**
+ * On touch end, determine whether to send a click event at once.
+ *
+ * @param {Event} event
+ * @returns {boolean}
+ */
+FastClick.prototype.onTouchEnd = function(event) {
+ 'use strict';
+ var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
+
+ if (!this.trackingClick) {
+ return true;
+ }
+
+ // Prevent phantom clicks on fast double-tap (issue #36)
+ if ((event.timeStamp - this.lastClickTime) < 200) {
+ this.cancelNextClick = true;
+ return true;
+ }
+
+ // Reset to prevent wrong click cancel on input (issue #156).
+ this.cancelNextClick = false;
+
+ this.lastClickTime = event.timeStamp;
+
+ trackingClickStart = this.trackingClickStart;
+ this.trackingClick = false;
+ this.trackingClickStart = 0;
+
+ // On some iOS devices, the targetElement supplied with the event is invalid if the layer
+ // is performing a transition or scroll, and has to be re-detected manually. Note that
+ // for this to function correctly, it must be called *after* the event target is checked!
+ // See issue #57; also filed as rdar://13048589 .
+ if (this.deviceIsIOSWithBadTarget) {
+ touch = event.changedTouches[0];
+
+ // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
+ targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
+ targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
+ }
+
+ targetTagName = targetElement.tagName.toLowerCase();
+ if (targetTagName === 'label') {
+ forElement = this.findControl(targetElement);
+ if (forElement) {
+ this.focus(targetElement);
+ if (this.deviceIsAndroid) {
+ return false;
+ }
+
+ targetElement = forElement;
+ }
+ } else if (this.needsFocus(targetElement)) {
+
+ // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.
+ // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).
+ if ((event.timeStamp - trackingClickStart) > 100 || (this.deviceIsIOS && window.top !== window && targetTagName === 'input')) {
+ this.targetElement = null;
+ return false;
+ }
+
+ this.focus(targetElement);
+
+ // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.
+ if (!this.deviceIsIOS4 || targetTagName !== 'select') {
+ this.targetElement = null;
+ event.preventDefault();
+ }
+
+ return false;
+ }
+
+ if (this.deviceIsIOS && !this.deviceIsIOS4) {
+
+ // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
+ // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
+ scrollParent = targetElement.fastClickScrollParent;
+ if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
+ return true;
+ }
+ }
+
+ // Prevent the actual click from going though - unless the target node is marked as requiring
+ // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
+ if (!this.needsClick(targetElement)) {
+ event.preventDefault();
+ this.sendClick(targetElement, event);
+ }
+
+ return false;
+};
+
+
+/**
+ * On touch cancel, stop tracking the click.
+ *
+ * @returns {void}
+ */
+FastClick.prototype.onTouchCancel = function() {
+ 'use strict';
+ this.trackingClick = false;
+ this.targetElement = null;
+};
+
+
+/**
+ * Determine mouse events which should be permitted.
+ *
+ * @param {Event} event
+ * @returns {boolean}
+ */
+FastClick.prototype.onMouse = function(event) {
+ 'use strict';
+
+ // If a target element was never set (because a touch event was never fired) allow the event
+ if (!this.targetElement) {
+ return true;
+ }
+
+ if (event.forwardedTouchEvent) {
+ return true;
+ }
+
+ // Programmatically generated events targeting a specific element should be permitted
+ if (!event.cancelable) {
+ return true;
+ }
+
+ // Derive and check the target element to see whether the mouse event needs to be permitted;
+ // unless explicitly enabled, prevent non-touch click events from triggering actions,
+ // to prevent ghost/doubleclicks.
+ if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
+
+ // Prevent any user-added listeners declared on FastClick element from being fired.
+ if (event.stopImmediatePropagation) {
+ event.stopImmediatePropagation();
+ } else {
+
+ // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
+ event.propagationStopped = true;
+ }
+
+ // Cancel the event
+ event.stopPropagation();
+ event.preventDefault();
+
+ return false;
+ }
+
+ // If the mouse event is permitted, return true for the action to go through.
+ return true;
+};
+
+
+/**
+ * On actual clicks, determine whether this is a touch-generated click, a click action occurring
+ * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
+ * an actual click which should be permitted.
+ *
+ * @param {Event} event
+ * @returns {boolean}
+ */
+FastClick.prototype.onClick = function(event) {
+ 'use strict';
+ var permitted;
+
+ // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
+ if (this.trackingClick) {
+ this.targetElement = null;
+ this.trackingClick = false;
+ return true;
+ }
+
+ // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
+ if (event.target.type === 'submit' && event.detail === 0) {
+ return true;
+ }
+
+ permitted = this.onMouse(event);
+
+ // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
+ if (!permitted) {
+ this.targetElement = null;
+ }
+
+ // If clicks are permitted, return true for the action to go through.
+ return permitted;
+};
+
+
+/**
+ * Remove all FastClick's event listeners.
+ *
+ * @returns {void}
+ */
+FastClick.prototype.destroy = function() {
+ 'use strict';
+ var layer = this.layer;
+
+ if (this.deviceIsAndroid) {
+ layer.removeEventListener('mouseover', this.onMouse, true);
+ layer.removeEventListener('mousedown', this.onMouse, true);
+ layer.removeEventListener('mouseup', this.onMouse, true);
+ }
+
+ layer.removeEventListener('click', this.onClick, true);
+ layer.removeEventListener('touchstart', this.onTouchStart, false);
+ layer.removeEventListener('touchmove', this.onTouchMove, false);
+ layer.removeEventListener('touchend', this.onTouchEnd, false);
+ layer.removeEventListener('touchcancel', this.onTouchCancel, false);
+};
+
+
+/**
+ * Check whether FastClick is needed.
+ *
+ * @param {Element} layer The layer to listen on
+ */
+FastClick.notNeeded = function(layer) {
+ 'use strict';
+ var metaViewport;
+ var chromeVersion;
+
+ // Devices that don't support touch don't need FastClick
+ if (typeof window.ontouchstart === 'undefined') {
+ return true;
+ }
+
+ // Chrome version - zero for other browsers
+ chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];
+
+ if (chromeVersion) {
+
+ if (FastClick.prototype.deviceIsAndroid) {
+ metaViewport = document.querySelector('meta[name=viewport]');
+
+ if (metaViewport) {
+ // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89)
+ if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
+ return true;
+ }
+ // Chrome 32 and above with width=device-width or less don't need FastClick
+ if (chromeVersion > 31 && window.innerWidth <= window.screen.width) {
+ return true;
+ }
+ }
+
+ // Chrome desktop doesn't need FastClick (issue #15)
+ } else {
+ return true;
+ }
+ }
+
+ // IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97)
+ if (layer.style.msTouchAction === 'none') {
+ return true;
+ }
+
+ return false;
+};
+
+
+/**
+ * Factory method for creating a FastClick object
+ *
+ * @param {Element} layer The layer to listen on
+ */
+FastClick.attach = function(layer) {
+ 'use strict';
+ return new FastClick(layer);
+};
+
+
+if (typeof define !== 'undefined' && define.amd) {
+
+ // AMD. Register as an anonymous module.
+ define(function() {
+ 'use strict';
+ return FastClick;
+ });
+} else if (typeof module !== 'undefined' && module.exports) {
+ module.exports = FastClick.attach;
+ module.exports.FastClick = FastClick;
+} else {
+ window.FastClick = FastClick;
+}
diff --git a/bower_components/foundation/bower.json b/bower_components/foundation/bower.json
new file mode 100644
index 0000000..b3fb6dc
--- /dev/null
+++ b/bower_components/foundation/bower.json
@@ -0,0 +1,20 @@
+{
+ "name": "foundation",
+ "version": "5.0.3",
+ "main": [
+ "css/foundation.css",
+ "js/foundation.js"
+ ],
+ "dependencies": {
+ "jquery": ">= 2.0.0",
+ "modernizr": ">= 2.6.2",
+ "fastclick": "~0.6.11",
+ "jquery.cookie": "~1.4.0",
+ "jquery-placeholder": "~2.0.7",
+ "lodash": "~2.4.1"
+ },
+ "devDependencies": {
+ "jquery.autocomplete": "devbridge/jQuery-Autocomplete#1.2.7"
+ },
+ "private": true
+}
diff --git a/bower_components/foundation/css/foundation.css b/bower_components/foundation/css/foundation.css
new file mode 100644
index 0000000..3e07c88
--- /dev/null
+++ b/bower_components/foundation/css/foundation.css
@@ -0,0 +1,4479 @@
+meta.foundation-mq-small {
+ font-family: "/only screen and (max-width: 40em)/";
+ width: 0em; }
+
+meta.foundation-mq-medium {
+ font-family: "/only screen and (min-width:40.063em)/";
+ width: 40.063em; }
+
+meta.foundation-mq-large {
+ font-family: "/only screen and (min-width:64.063em)/";
+ width: 64.063em; }
+
+meta.foundation-mq-xlarge {
+ font-family: "/only screen and (min-width:90.063em)/";
+ width: 90.063em; }
+
+meta.foundation-mq-xxlarge {
+ font-family: "/only screen and (min-width:120.063em)/";
+ width: 120.063em; }
+
+*, *:before, *:after {
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box; }
+
+html, body {
+ font-size: 100%; }
+
+body {
+ background: white;
+ color: #222222;
+ padding: 0;
+ margin: 0;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ font-style: normal;
+ line-height: 1;
+ position: relative;
+ cursor: default; }
+
+a:hover {
+ cursor: pointer; }
+
+img, object, embed {
+ max-width: 100%;
+ height: auto; }
+
+object, embed {
+ height: 100%; }
+
+img {
+ -ms-interpolation-mode: bicubic; }
+
+#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object {
+ max-width: none !important; }
+
+.left {
+ float: left !important; }
+
+.right {
+ float: right !important; }
+
+.clearfix {
+ *zoom: 1; }
+ .clearfix:before, .clearfix:after {
+ content: " ";
+ display: table; }
+ .clearfix:after {
+ clear: both; }
+
+.text-left {
+ text-align: left !important; }
+
+.text-right {
+ text-align: right !important; }
+
+.text-center {
+ text-align: center !important; }
+
+.text-justify {
+ text-align: justify !important; }
+
+.hide {
+ display: none; }
+
+.start {
+ float: left !important; }
+
+.end {
+ float: right !important; }
+
+.text-start {
+ text-align: left !important; }
+
+.text-end {
+ text-align: right !important; }
+
+.antialiased {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
+
+img {
+ display: inline-block;
+ vertical-align: middle; }
+
+textarea {
+ height: auto;
+ min-height: 50px; }
+
+select {
+ width: 100%; }
+
+.row {
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 0;
+ margin-bottom: 0;
+ max-width: 62.5rem;
+ *zoom: 1; }
+ .row:before, .row:after {
+ content: " ";
+ display: table; }
+ .row:after {
+ clear: both; }
+ .row.collapse > .column, .row.collapse > .columns {
+ position: relative;
+ padding-left: 0;
+ padding-right: 0;
+ float: left; }
+ .row.collapse .row {
+ margin-left: 0;
+ margin-right: 0; }
+ .row .row {
+ width: auto;
+ margin-left: -0.9375rem;
+ margin-right: -0.9375rem;
+ margin-top: 0;
+ margin-bottom: 0;
+ max-width: none;
+ *zoom: 1; }
+ .row .row:before, .row .row:after {
+ content: " ";
+ display: table; }
+ .row .row:after {
+ clear: both; }
+ .row .row.collapse {
+ width: auto;
+ margin: 0;
+ max-width: none;
+ *zoom: 1; }
+ .row .row.collapse:before, .row .row.collapse:after {
+ content: " ";
+ display: table; }
+ .row .row.collapse:after {
+ clear: both; }
+
+.column, .columns {
+ position: relative;
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem;
+ width: 100%;
+ float: left; }
+
+@media only screen {
+ .column.small-centered, .columns.small-centered {
+ position: relative;
+ margin-left: auto;
+ margin-right: auto;
+ float: none; }
+ .column.small-uncentered, .columns.small-uncentered {
+ margin-left: 0;
+ margin-right: 0;
+ float: left; }
+ .column.small-uncentered.opposite, .columns.small-uncentered.opposite {
+ float: right; }
+ .small-push-1 {
+ position: relative;
+ left: 8.33333%;
+ right: auto; }
+ .small-pull-1 {
+ position: relative;
+ right: 8.33333%;
+ left: auto; }
+ .small-push-2 {
+ position: relative;
+ left: 16.66667%;
+ right: auto; }
+ .small-pull-2 {
+ position: relative;
+ right: 16.66667%;
+ left: auto; }
+ .small-push-3 {
+ position: relative;
+ left: 25%;
+ right: auto; }
+ .small-pull-3 {
+ position: relative;
+ right: 25%;
+ left: auto; }
+ .small-push-4 {
+ position: relative;
+ left: 33.33333%;
+ right: auto; }
+ .small-pull-4 {
+ position: relative;
+ right: 33.33333%;
+ left: auto; }
+ .small-push-5 {
+ position: relative;
+ left: 41.66667%;
+ right: auto; }
+ .small-pull-5 {
+ position: relative;
+ right: 41.66667%;
+ left: auto; }
+ .small-push-6 {
+ position: relative;
+ left: 50%;
+ right: auto; }
+ .small-pull-6 {
+ position: relative;
+ right: 50%;
+ left: auto; }
+ .small-push-7 {
+ position: relative;
+ left: 58.33333%;
+ right: auto; }
+ .small-pull-7 {
+ position: relative;
+ right: 58.33333%;
+ left: auto; }
+ .small-push-8 {
+ position: relative;
+ left: 66.66667%;
+ right: auto; }
+ .small-pull-8 {
+ position: relative;
+ right: 66.66667%;
+ left: auto; }
+ .small-push-9 {
+ position: relative;
+ left: 75%;
+ right: auto; }
+ .small-pull-9 {
+ position: relative;
+ right: 75%;
+ left: auto; }
+ .small-push-10 {
+ position: relative;
+ left: 83.33333%;
+ right: auto; }
+ .small-pull-10 {
+ position: relative;
+ right: 83.33333%;
+ left: auto; }
+ .small-push-11 {
+ position: relative;
+ left: 91.66667%;
+ right: auto; }
+ .small-pull-11 {
+ position: relative;
+ right: 91.66667%;
+ left: auto; }
+ .column, .columns {
+ position: relative;
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem;
+ float: left; }
+ .small-1 {
+ position: relative;
+ width: 8.33333%; }
+ .small-2 {
+ position: relative;
+ width: 16.66667%; }
+ .small-3 {
+ position: relative;
+ width: 25%; }
+ .small-4 {
+ position: relative;
+ width: 33.33333%; }
+ .small-5 {
+ position: relative;
+ width: 41.66667%; }
+ .small-6 {
+ position: relative;
+ width: 50%; }
+ .small-7 {
+ position: relative;
+ width: 58.33333%; }
+ .small-8 {
+ position: relative;
+ width: 66.66667%; }
+ .small-9 {
+ position: relative;
+ width: 75%; }
+ .small-10 {
+ position: relative;
+ width: 83.33333%; }
+ .small-11 {
+ position: relative;
+ width: 91.66667%; }
+ .small-12 {
+ position: relative;
+ width: 100%; }
+ [class*="column"] + [class*="column"]:last-child {
+ float: right; }
+ [class*="column"] + [class*="column"].end {
+ float: left; }
+ .small-offset-0 {
+ position: relative;
+ margin-left: 0% !important; }
+ .small-offset-1 {
+ position: relative;
+ margin-left: 8.33333% !important; }
+ .small-offset-2 {
+ position: relative;
+ margin-left: 16.66667% !important; }
+ .small-offset-3 {
+ position: relative;
+ margin-left: 25% !important; }
+ .small-offset-4 {
+ position: relative;
+ margin-left: 33.33333% !important; }
+ .small-offset-5 {
+ position: relative;
+ margin-left: 41.66667% !important; }
+ .small-offset-6 {
+ position: relative;
+ margin-left: 50% !important; }
+ .small-offset-7 {
+ position: relative;
+ margin-left: 58.33333% !important; }
+ .small-offset-8 {
+ position: relative;
+ margin-left: 66.66667% !important; }
+ .small-offset-9 {
+ position: relative;
+ margin-left: 75% !important; }
+ .small-offset-10 {
+ position: relative;
+ margin-left: 83.33333% !important; }
+ .column.small-reset-order, .columns.small-reset-order {
+ margin-left: 0;
+ margin-right: 0;
+ left: auto;
+ right: auto;
+ float: left; } }
+
+@media only screen and (min-width:40.063em) {
+ .column.medium-centered, .columns.medium-centered {
+ position: relative;
+ margin-left: auto;
+ margin-right: auto;
+ float: none; }
+ .column.medium-uncentered, .columns.medium-uncentered {
+ margin-left: 0;
+ margin-right: 0;
+ float: left; }
+ .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite {
+ float: right; }
+ .medium-push-1 {
+ position: relative;
+ left: 8.33333%;
+ right: auto; }
+ .medium-pull-1 {
+ position: relative;
+ right: 8.33333%;
+ left: auto; }
+ .medium-push-2 {
+ position: relative;
+ left: 16.66667%;
+ right: auto; }
+ .medium-pull-2 {
+ position: relative;
+ right: 16.66667%;
+ left: auto; }
+ .medium-push-3 {
+ position: relative;
+ left: 25%;
+ right: auto; }
+ .medium-pull-3 {
+ position: relative;
+ right: 25%;
+ left: auto; }
+ .medium-push-4 {
+ position: relative;
+ left: 33.33333%;
+ right: auto; }
+ .medium-pull-4 {
+ position: relative;
+ right: 33.33333%;
+ left: auto; }
+ .medium-push-5 {
+ position: relative;
+ left: 41.66667%;
+ right: auto; }
+ .medium-pull-5 {
+ position: relative;
+ right: 41.66667%;
+ left: auto; }
+ .medium-push-6 {
+ position: relative;
+ left: 50%;
+ right: auto; }
+ .medium-pull-6 {
+ position: relative;
+ right: 50%;
+ left: auto; }
+ .medium-push-7 {
+ position: relative;
+ left: 58.33333%;
+ right: auto; }
+ .medium-pull-7 {
+ position: relative;
+ right: 58.33333%;
+ left: auto; }
+ .medium-push-8 {
+ position: relative;
+ left: 66.66667%;
+ right: auto; }
+ .medium-pull-8 {
+ position: relative;
+ right: 66.66667%;
+ left: auto; }
+ .medium-push-9 {
+ position: relative;
+ left: 75%;
+ right: auto; }
+ .medium-pull-9 {
+ position: relative;
+ right: 75%;
+ left: auto; }
+ .medium-push-10 {
+ position: relative;
+ left: 83.33333%;
+ right: auto; }
+ .medium-pull-10 {
+ position: relative;
+ right: 83.33333%;
+ left: auto; }
+ .medium-push-11 {
+ position: relative;
+ left: 91.66667%;
+ right: auto; }
+ .medium-pull-11 {
+ position: relative;
+ right: 91.66667%;
+ left: auto; }
+ .column, .columns {
+ position: relative;
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem;
+ float: left; }
+ .medium-1 {
+ position: relative;
+ width: 8.33333%; }
+ .medium-2 {
+ position: relative;
+ width: 16.66667%; }
+ .medium-3 {
+ position: relative;
+ width: 25%; }
+ .medium-4 {
+ position: relative;
+ width: 33.33333%; }
+ .medium-5 {
+ position: relative;
+ width: 41.66667%; }
+ .medium-6 {
+ position: relative;
+ width: 50%; }
+ .medium-7 {
+ position: relative;
+ width: 58.33333%; }
+ .medium-8 {
+ position: relative;
+ width: 66.66667%; }
+ .medium-9 {
+ position: relative;
+ width: 75%; }
+ .medium-10 {
+ position: relative;
+ width: 83.33333%; }
+ .medium-11 {
+ position: relative;
+ width: 91.66667%; }
+ .medium-12 {
+ position: relative;
+ width: 100%; }
+ [class*="column"] + [class*="column"]:last-child {
+ float: right; }
+ [class*="column"] + [class*="column"].end {
+ float: left; }
+ .medium-offset-0 {
+ position: relative;
+ margin-left: 0% !important; }
+ .medium-offset-1 {
+ position: relative;
+ margin-left: 8.33333% !important; }
+ .medium-offset-2 {
+ position: relative;
+ margin-left: 16.66667% !important; }
+ .medium-offset-3 {
+ position: relative;
+ margin-left: 25% !important; }
+ .medium-offset-4 {
+ position: relative;
+ margin-left: 33.33333% !important; }
+ .medium-offset-5 {
+ position: relative;
+ margin-left: 41.66667% !important; }
+ .medium-offset-6 {
+ position: relative;
+ margin-left: 50% !important; }
+ .medium-offset-7 {
+ position: relative;
+ margin-left: 58.33333% !important; }
+ .medium-offset-8 {
+ position: relative;
+ margin-left: 66.66667% !important; }
+ .medium-offset-9 {
+ position: relative;
+ margin-left: 75% !important; }
+ .medium-offset-10 {
+ position: relative;
+ margin-left: 83.33333% !important; }
+ .column.medium-reset-order, .columns.medium-reset-order {
+ margin-left: 0;
+ margin-right: 0;
+ left: auto;
+ right: auto;
+ float: left; }
+ .push-1 {
+ position: relative;
+ left: 8.33333%;
+ right: auto; }
+ .pull-1 {
+ position: relative;
+ right: 8.33333%;
+ left: auto; }
+ .push-2 {
+ position: relative;
+ left: 16.66667%;
+ right: auto; }
+ .pull-2 {
+ position: relative;
+ right: 16.66667%;
+ left: auto; }
+ .push-3 {
+ position: relative;
+ left: 25%;
+ right: auto; }
+ .pull-3 {
+ position: relative;
+ right: 25%;
+ left: auto; }
+ .push-4 {
+ position: relative;
+ left: 33.33333%;
+ right: auto; }
+ .pull-4 {
+ position: relative;
+ right: 33.33333%;
+ left: auto; }
+ .push-5 {
+ position: relative;
+ left: 41.66667%;
+ right: auto; }
+ .pull-5 {
+ position: relative;
+ right: 41.66667%;
+ left: auto; }
+ .push-6 {
+ position: relative;
+ left: 50%;
+ right: auto; }
+ .pull-6 {
+ position: relative;
+ right: 50%;
+ left: auto; }
+ .push-7 {
+ position: relative;
+ left: 58.33333%;
+ right: auto; }
+ .pull-7 {
+ position: relative;
+ right: 58.33333%;
+ left: auto; }
+ .push-8 {
+ position: relative;
+ left: 66.66667%;
+ right: auto; }
+ .pull-8 {
+ position: relative;
+ right: 66.66667%;
+ left: auto; }
+ .push-9 {
+ position: relative;
+ left: 75%;
+ right: auto; }
+ .pull-9 {
+ position: relative;
+ right: 75%;
+ left: auto; }
+ .push-10 {
+ position: relative;
+ left: 83.33333%;
+ right: auto; }
+ .pull-10 {
+ position: relative;
+ right: 83.33333%;
+ left: auto; }
+ .push-11 {
+ position: relative;
+ left: 91.66667%;
+ right: auto; }
+ .pull-11 {
+ position: relative;
+ right: 91.66667%;
+ left: auto; } }
+
+@media only screen and (min-width:64.063em) {
+ .column.large-centered, .columns.large-centered {
+ position: relative;
+ margin-left: auto;
+ margin-right: auto;
+ float: none; }
+ .column.large-uncentered, .columns.large-uncentered {
+ margin-left: 0;
+ margin-right: 0;
+ float: left; }
+ .column.large-uncentered.opposite, .columns.large-uncentered.opposite {
+ float: right; }
+ .large-push-1 {
+ position: relative;
+ left: 8.33333%;
+ right: auto; }
+ .large-pull-1 {
+ position: relative;
+ right: 8.33333%;
+ left: auto; }
+ .large-push-2 {
+ position: relative;
+ left: 16.66667%;
+ right: auto; }
+ .large-pull-2 {
+ position: relative;
+ right: 16.66667%;
+ left: auto; }
+ .large-push-3 {
+ position: relative;
+ left: 25%;
+ right: auto; }
+ .large-pull-3 {
+ position: relative;
+ right: 25%;
+ left: auto; }
+ .large-push-4 {
+ position: relative;
+ left: 33.33333%;
+ right: auto; }
+ .large-pull-4 {
+ position: relative;
+ right: 33.33333%;
+ left: auto; }
+ .large-push-5 {
+ position: relative;
+ left: 41.66667%;
+ right: auto; }
+ .large-pull-5 {
+ position: relative;
+ right: 41.66667%;
+ left: auto; }
+ .large-push-6 {
+ position: relative;
+ left: 50%;
+ right: auto; }
+ .large-pull-6 {
+ position: relative;
+ right: 50%;
+ left: auto; }
+ .large-push-7 {
+ position: relative;
+ left: 58.33333%;
+ right: auto; }
+ .large-pull-7 {
+ position: relative;
+ right: 58.33333%;
+ left: auto; }
+ .large-push-8 {
+ position: relative;
+ left: 66.66667%;
+ right: auto; }
+ .large-pull-8 {
+ position: relative;
+ right: 66.66667%;
+ left: auto; }
+ .large-push-9 {
+ position: relative;
+ left: 75%;
+ right: auto; }
+ .large-pull-9 {
+ position: relative;
+ right: 75%;
+ left: auto; }
+ .large-push-10 {
+ position: relative;
+ left: 83.33333%;
+ right: auto; }
+ .large-pull-10 {
+ position: relative;
+ right: 83.33333%;
+ left: auto; }
+ .large-push-11 {
+ position: relative;
+ left: 91.66667%;
+ right: auto; }
+ .large-pull-11 {
+ position: relative;
+ right: 91.66667%;
+ left: auto; }
+ .column, .columns {
+ position: relative;
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem;
+ float: left; }
+ .large-1 {
+ position: relative;
+ width: 8.33333%; }
+ .large-2 {
+ position: relative;
+ width: 16.66667%; }
+ .large-3 {
+ position: relative;
+ width: 25%; }
+ .large-4 {
+ position: relative;
+ width: 33.33333%; }
+ .large-5 {
+ position: relative;
+ width: 41.66667%; }
+ .large-6 {
+ position: relative;
+ width: 50%; }
+ .large-7 {
+ position: relative;
+ width: 58.33333%; }
+ .large-8 {
+ position: relative;
+ width: 66.66667%; }
+ .large-9 {
+ position: relative;
+ width: 75%; }
+ .large-10 {
+ position: relative;
+ width: 83.33333%; }
+ .large-11 {
+ position: relative;
+ width: 91.66667%; }
+ .large-12 {
+ position: relative;
+ width: 100%; }
+ [class*="column"] + [class*="column"]:last-child {
+ float: right; }
+ [class*="column"] + [class*="column"].end {
+ float: left; }
+ .large-offset-0 {
+ position: relative;
+ margin-left: 0% !important; }
+ .large-offset-1 {
+ position: relative;
+ margin-left: 8.33333% !important; }
+ .large-offset-2 {
+ position: relative;
+ margin-left: 16.66667% !important; }
+ .large-offset-3 {
+ position: relative;
+ margin-left: 25% !important; }
+ .large-offset-4 {
+ position: relative;
+ margin-left: 33.33333% !important; }
+ .large-offset-5 {
+ position: relative;
+ margin-left: 41.66667% !important; }
+ .large-offset-6 {
+ position: relative;
+ margin-left: 50% !important; }
+ .large-offset-7 {
+ position: relative;
+ margin-left: 58.33333% !important; }
+ .large-offset-8 {
+ position: relative;
+ margin-left: 66.66667% !important; }
+ .large-offset-9 {
+ position: relative;
+ margin-left: 75% !important; }
+ .large-offset-10 {
+ position: relative;
+ margin-left: 83.33333% !important; }
+ .column.large-reset-order, .columns.large-reset-order {
+ margin-left: 0;
+ margin-right: 0;
+ left: auto;
+ right: auto;
+ float: left; }
+ .push-1 {
+ position: relative;
+ left: 8.33333%;
+ right: auto; }
+ .pull-1 {
+ position: relative;
+ right: 8.33333%;
+ left: auto; }
+ .push-2 {
+ position: relative;
+ left: 16.66667%;
+ right: auto; }
+ .pull-2 {
+ position: relative;
+ right: 16.66667%;
+ left: auto; }
+ .push-3 {
+ position: relative;
+ left: 25%;
+ right: auto; }
+ .pull-3 {
+ position: relative;
+ right: 25%;
+ left: auto; }
+ .push-4 {
+ position: relative;
+ left: 33.33333%;
+ right: auto; }
+ .pull-4 {
+ position: relative;
+ right: 33.33333%;
+ left: auto; }
+ .push-5 {
+ position: relative;
+ left: 41.66667%;
+ right: auto; }
+ .pull-5 {
+ position: relative;
+ right: 41.66667%;
+ left: auto; }
+ .push-6 {
+ position: relative;
+ left: 50%;
+ right: auto; }
+ .pull-6 {
+ position: relative;
+ right: 50%;
+ left: auto; }
+ .push-7 {
+ position: relative;
+ left: 58.33333%;
+ right: auto; }
+ .pull-7 {
+ position: relative;
+ right: 58.33333%;
+ left: auto; }
+ .push-8 {
+ position: relative;
+ left: 66.66667%;
+ right: auto; }
+ .pull-8 {
+ position: relative;
+ right: 66.66667%;
+ left: auto; }
+ .push-9 {
+ position: relative;
+ left: 75%;
+ right: auto; }
+ .pull-9 {
+ position: relative;
+ right: 75%;
+ left: auto; }
+ .push-10 {
+ position: relative;
+ left: 83.33333%;
+ right: auto; }
+ .pull-10 {
+ position: relative;
+ right: 83.33333%;
+ left: auto; }
+ .push-11 {
+ position: relative;
+ left: 91.66667%;
+ right: auto; }
+ .pull-11 {
+ position: relative;
+ right: 91.66667%;
+ left: auto; } }
+
+.accordion {
+ *zoom: 1;
+ margin-bottom: 0; }
+ .accordion:before, .accordion:after {
+ content: " ";
+ display: table; }
+ .accordion:after {
+ clear: both; }
+ .accordion dd {
+ display: block;
+ margin-bottom: 0 !important; }
+ .accordion dd.active a {
+ background: #e8e8e8; }
+ .accordion dd > a {
+ background: #efefef;
+ color: #222222;
+ padding: 1rem;
+ display: block;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-size: 1rem; }
+ .accordion dd > a:hover {
+ background: #e3e3e3; }
+ .accordion .content {
+ display: none;
+ padding: 0.9375rem; }
+ .accordion .content.active {
+ display: block;
+ background: white; }
+
+.alert-box {
+ border-style: solid;
+ border-width: 1px;
+ display: block;
+ font-weight: normal;
+ margin-bottom: 1.25rem;
+ position: relative;
+ padding: 0.875rem 1.5rem 0.875rem 0.875rem;
+ font-size: 0.8125rem;
+ background-color: #008cba;
+ border-color: #007ba0;
+ color: white; }
+ .alert-box .close {
+ font-size: 1.375rem;
+ padding: 9px 6px 4px;
+ line-height: 0;
+ position: absolute;
+ top: 50%;
+ margin-top: -0.6875rem;
+ right: 0.25rem;
+ color: #333333;
+ opacity: 0.3; }
+ .alert-box .close:hover, .alert-box .close:focus {
+ opacity: 0.5; }
+ .alert-box.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .alert-box.round {
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px; }
+ .alert-box.success {
+ background-color: #43ac6a;
+ border-color: #3a945b;
+ color: white; }
+ .alert-box.alert {
+ background-color: #f04124;
+ border-color: #de2b0f;
+ color: white; }
+ .alert-box.secondary {
+ background-color: #e7e7e7;
+ border-color: #c7c7c7;
+ color: #4f4f4f; }
+ .alert-box.warning {
+ background-color: #f08a24;
+ border-color: #de770f;
+ color: white; }
+ .alert-box.info {
+ background-color: #a0d3e8;
+ border-color: #74bfdd;
+ color: #4f4f4f; }
+
+[class*="block-grid-"] {
+ display: block;
+ padding: 0;
+ margin: 0 0 0 -0.625rem;
+ *zoom: 1; }
+ [class*="block-grid-"]:before, [class*="block-grid-"]:after {
+ content: " ";
+ display: table; }
+ [class*="block-grid-"]:after {
+ clear: both; }
+ [class*="block-grid-"] > li {
+ display: inline;
+ height: auto;
+ float: left;
+ padding: 0 0.625rem 1.25rem; }
+
+@media only screen {
+ .small-block-grid-1 > li {
+ width: 100%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-1 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-1 > li:nth-of-type(1n+1) {
+ clear: both; }
+ .small-block-grid-2 > li {
+ width: 50%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-2 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-2 > li:nth-of-type(2n+1) {
+ clear: both; }
+ .small-block-grid-3 > li {
+ width: 33.33333%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-3 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-3 > li:nth-of-type(3n+1) {
+ clear: both; }
+ .small-block-grid-4 > li {
+ width: 25%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-4 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-4 > li:nth-of-type(4n+1) {
+ clear: both; }
+ .small-block-grid-5 > li {
+ width: 20%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-5 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-5 > li:nth-of-type(5n+1) {
+ clear: both; }
+ .small-block-grid-6 > li {
+ width: 16.66667%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-6 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-6 > li:nth-of-type(6n+1) {
+ clear: both; }
+ .small-block-grid-7 > li {
+ width: 14.28571%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-7 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-7 > li:nth-of-type(7n+1) {
+ clear: both; }
+ .small-block-grid-8 > li {
+ width: 12.5%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-8 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-8 > li:nth-of-type(8n+1) {
+ clear: both; }
+ .small-block-grid-9 > li {
+ width: 11.11111%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-9 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-9 > li:nth-of-type(9n+1) {
+ clear: both; }
+ .small-block-grid-10 > li {
+ width: 10%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-10 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-10 > li:nth-of-type(10n+1) {
+ clear: both; }
+ .small-block-grid-11 > li {
+ width: 9.09091%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-11 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-11 > li:nth-of-type(11n+1) {
+ clear: both; }
+ .small-block-grid-12 > li {
+ width: 8.33333%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .small-block-grid-12 > li:nth-of-type(n) {
+ clear: none; }
+ .small-block-grid-12 > li:nth-of-type(12n+1) {
+ clear: both; } }
+
+@media only screen and (min-width:40.063em) {
+ .medium-block-grid-1 > li {
+ width: 100%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-1 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-1 > li:nth-of-type(1n+1) {
+ clear: both; }
+ .medium-block-grid-2 > li {
+ width: 50%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-2 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-2 > li:nth-of-type(2n+1) {
+ clear: both; }
+ .medium-block-grid-3 > li {
+ width: 33.33333%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-3 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-3 > li:nth-of-type(3n+1) {
+ clear: both; }
+ .medium-block-grid-4 > li {
+ width: 25%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-4 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-4 > li:nth-of-type(4n+1) {
+ clear: both; }
+ .medium-block-grid-5 > li {
+ width: 20%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-5 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-5 > li:nth-of-type(5n+1) {
+ clear: both; }
+ .medium-block-grid-6 > li {
+ width: 16.66667%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-6 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-6 > li:nth-of-type(6n+1) {
+ clear: both; }
+ .medium-block-grid-7 > li {
+ width: 14.28571%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-7 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-7 > li:nth-of-type(7n+1) {
+ clear: both; }
+ .medium-block-grid-8 > li {
+ width: 12.5%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-8 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-8 > li:nth-of-type(8n+1) {
+ clear: both; }
+ .medium-block-grid-9 > li {
+ width: 11.11111%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-9 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-9 > li:nth-of-type(9n+1) {
+ clear: both; }
+ .medium-block-grid-10 > li {
+ width: 10%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-10 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-10 > li:nth-of-type(10n+1) {
+ clear: both; }
+ .medium-block-grid-11 > li {
+ width: 9.09091%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-11 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-11 > li:nth-of-type(11n+1) {
+ clear: both; }
+ .medium-block-grid-12 > li {
+ width: 8.33333%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .medium-block-grid-12 > li:nth-of-type(n) {
+ clear: none; }
+ .medium-block-grid-12 > li:nth-of-type(12n+1) {
+ clear: both; } }
+
+@media only screen and (min-width:64.063em) {
+ .large-block-grid-1 > li {
+ width: 100%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-1 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-1 > li:nth-of-type(1n+1) {
+ clear: both; }
+ .large-block-grid-2 > li {
+ width: 50%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-2 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-2 > li:nth-of-type(2n+1) {
+ clear: both; }
+ .large-block-grid-3 > li {
+ width: 33.33333%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-3 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-3 > li:nth-of-type(3n+1) {
+ clear: both; }
+ .large-block-grid-4 > li {
+ width: 25%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-4 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-4 > li:nth-of-type(4n+1) {
+ clear: both; }
+ .large-block-grid-5 > li {
+ width: 20%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-5 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-5 > li:nth-of-type(5n+1) {
+ clear: both; }
+ .large-block-grid-6 > li {
+ width: 16.66667%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-6 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-6 > li:nth-of-type(6n+1) {
+ clear: both; }
+ .large-block-grid-7 > li {
+ width: 14.28571%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-7 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-7 > li:nth-of-type(7n+1) {
+ clear: both; }
+ .large-block-grid-8 > li {
+ width: 12.5%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-8 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-8 > li:nth-of-type(8n+1) {
+ clear: both; }
+ .large-block-grid-9 > li {
+ width: 11.11111%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-9 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-9 > li:nth-of-type(9n+1) {
+ clear: both; }
+ .large-block-grid-10 > li {
+ width: 10%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-10 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-10 > li:nth-of-type(10n+1) {
+ clear: both; }
+ .large-block-grid-11 > li {
+ width: 9.09091%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-11 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-11 > li:nth-of-type(11n+1) {
+ clear: both; }
+ .large-block-grid-12 > li {
+ width: 8.33333%;
+ padding: 0 0.625rem 1.25rem;
+ list-style: none; }
+ .large-block-grid-12 > li:nth-of-type(n) {
+ clear: none; }
+ .large-block-grid-12 > li:nth-of-type(12n+1) {
+ clear: both; } }
+
+.breadcrumbs {
+ display: block;
+ padding: 0.5625rem 0.875rem 0.5625rem;
+ overflow: hidden;
+ margin-left: 0;
+ list-style: none;
+ border-style: solid;
+ border-width: 1px;
+ background-color: #f4f4f4;
+ border-color: gainsboro;
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .breadcrumbs > * {
+ margin: 0;
+ float: left;
+ font-size: 0.6875rem;
+ text-transform: uppercase; }
+ .breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
+ text-decoration: underline; }
+ .breadcrumbs > * a, .breadcrumbs > * span {
+ text-transform: uppercase;
+ color: #008cba; }
+ .breadcrumbs > *.current {
+ cursor: default;
+ color: #333333; }
+ .breadcrumbs > *.current a {
+ cursor: default;
+ color: #333333; }
+ .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
+ text-decoration: none; }
+ .breadcrumbs > *.unavailable {
+ color: #999999; }
+ .breadcrumbs > *.unavailable a {
+ color: #999999; }
+ .breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, .breadcrumbs > *.unavailable a:focus {
+ text-decoration: none;
+ color: #999999;
+ cursor: default; }
+ .breadcrumbs > *:before {
+ content: "/";
+ color: #aaaaaa;
+ margin: 0 0.75rem;
+ position: relative;
+ top: 1px; }
+ .breadcrumbs > *:first-child:before {
+ content: " ";
+ margin: 0; }
+
+button, .button {
+ border-style: solid;
+ border-width: 0px;
+ cursor: pointer;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ line-height: normal;
+ margin: 0 0 1.25rem;
+ position: relative;
+ text-decoration: none;
+ text-align: center;
+ display: inline-block;
+ padding-top: 1rem;
+ padding-right: 2rem;
+ padding-bottom: 1.0625rem;
+ padding-left: 2rem;
+ font-size: 1rem;
+ /* @else { font-size: $padding - rem-calc(2); } */
+ background-color: #008cba;
+ border-color: #007295;
+ color: white;
+ -webkit-transition: background-color 300ms ease-out;
+ -moz-transition: background-color 300ms ease-out;
+ transition: background-color 300ms ease-out;
+ padding-top: 1.0625rem;
+ padding-bottom: 1rem;
+ -webkit-appearance: none;
+ border: none;
+ font-weight: normal !important; }
+ button:hover, button:focus, .button:hover, .button:focus {
+ background-color: #007295; }
+ button:hover, button:focus, .button:hover, .button:focus {
+ color: white; }
+ button.secondary, .button.secondary {
+ background-color: #e7e7e7;
+ border-color: #b9b9b9;
+ color: #333333; }
+ button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
+ background-color: #b9b9b9; }
+ button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
+ color: #333333; }
+ button.success, .button.success {
+ background-color: #43ac6a;
+ border-color: #368a54;
+ color: white; }
+ button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
+ background-color: #368a54; }
+ button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
+ color: white; }
+ button.alert, .button.alert {
+ background-color: #f04124;
+ border-color: #cf280e;
+ color: white; }
+ button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
+ background-color: #cf280e; }
+ button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
+ color: white; }
+ button.large, .button.large {
+ padding-top: 1.125rem;
+ padding-right: 2.25rem;
+ padding-bottom: 1.1875rem;
+ padding-left: 2.25rem;
+ font-size: 1.25rem;
+ /* @else { font-size: $padding - rem-calc(2); } */ }
+ button.small, .button.small {
+ padding-top: 0.875rem;
+ padding-right: 1.75rem;
+ padding-bottom: 0.9375rem;
+ padding-left: 1.75rem;
+ font-size: 0.8125rem;
+ /* @else { font-size: $padding - rem-calc(2); } */ }
+ button.tiny, .button.tiny {
+ padding-top: 0.625rem;
+ padding-right: 1.25rem;
+ padding-bottom: 0.6875rem;
+ padding-left: 1.25rem;
+ font-size: 0.6875rem;
+ /* @else { font-size: $padding - rem-calc(2); } */ }
+ button.expand, .button.expand {
+ padding-right: 0;
+ padding-left: 0;
+ width: 100%; }
+ button.left-align, .button.left-align {
+ text-align: left;
+ text-indent: 0.75rem; }
+ button.right-align, .button.right-align {
+ text-align: right;
+ padding-right: 0.75rem; }
+ button.radius, .button.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ button.round, .button.round {
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px; }
+ button.disabled, button[disabled], .button.disabled, .button[disabled] {
+ background-color: #008cba;
+ border-color: #007295;
+ color: white;
+ cursor: default;
+ opacity: 0.7;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+ background-color: #007295; }
+ button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+ color: white; }
+ button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+ background-color: #008cba; }
+ button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
+ background-color: #e7e7e7;
+ border-color: #b9b9b9;
+ color: #333333;
+ cursor: default;
+ opacity: 0.7;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
+ background-color: #b9b9b9; }
+ button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
+ color: #333333; }
+ button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
+ background-color: #e7e7e7; }
+ button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
+ background-color: #43ac6a;
+ border-color: #368a54;
+ color: white;
+ cursor: default;
+ opacity: 0.7;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
+ background-color: #368a54; }
+ button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
+ color: white; }
+ button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
+ background-color: #43ac6a; }
+ button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
+ background-color: #f04124;
+ border-color: #cf280e;
+ color: white;
+ cursor: default;
+ opacity: 0.7;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
+ background-color: #cf280e; }
+ button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
+ color: white; }
+ button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
+ background-color: #f04124; }
+
+@media only screen and (min-width:40.063em) {
+ button, .button {
+ display: inline-block; } }
+
+.button-group {
+ list-style: none;
+ margin: 0;
+ *zoom: 1; }
+ .button-group:before, .button-group:after {
+ content: " ";
+ display: table; }
+ .button-group:after {
+ clear: both; }
+ .button-group > * {
+ margin: 0;
+ float: left; }
+ .button-group > * > button, .button-group > * .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group > *:last-child button, .button-group > *:last-child .button {
+ border-right: 0; }
+ .button-group > *:first-child {
+ margin-left: 0; }
+ .button-group.radius > * > button, .button-group.radius > * .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.radius > *:last-child button, .button-group.radius > *:last-child .button {
+ border-right: 0; }
+ .button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button {
+ -moz-border-radius-bottomleft: 3px;
+ -moz-border-radius-topleft: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -webkit-border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px; }
+ .button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button {
+ -moz-border-radius-topright: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+ .button-group.round > * > button, .button-group.round > * .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.round > *:last-child button, .button-group.round > *:last-child .button {
+ border-right: 0; }
+ .button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button {
+ -moz-border-radius-bottomleft: 1000px;
+ -moz-border-radius-topleft: 1000px;
+ -webkit-border-bottom-left-radius: 1000px;
+ -webkit-border-top-left-radius: 1000px;
+ border-bottom-left-radius: 1000px;
+ border-top-left-radius: 1000px; }
+ .button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button {
+ -moz-border-radius-topright: 1000px;
+ -moz-border-radius-bottomright: 1000px;
+ -webkit-border-top-right-radius: 1000px;
+ -webkit-border-bottom-right-radius: 1000px;
+ border-top-right-radius: 1000px;
+ border-bottom-right-radius: 1000px; }
+ .button-group.even-2 li {
+ width: 50%; }
+ .button-group.even-2 li > button, .button-group.even-2 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-2 li:last-child button, .button-group.even-2 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-2 li button, .button-group.even-2 li .button {
+ width: 100%; }
+ .button-group.even-3 li {
+ width: 33.33333%; }
+ .button-group.even-3 li > button, .button-group.even-3 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-3 li:last-child button, .button-group.even-3 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-3 li button, .button-group.even-3 li .button {
+ width: 100%; }
+ .button-group.even-4 li {
+ width: 25%; }
+ .button-group.even-4 li > button, .button-group.even-4 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-4 li:last-child button, .button-group.even-4 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-4 li button, .button-group.even-4 li .button {
+ width: 100%; }
+ .button-group.even-5 li {
+ width: 20%; }
+ .button-group.even-5 li > button, .button-group.even-5 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-5 li:last-child button, .button-group.even-5 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-5 li button, .button-group.even-5 li .button {
+ width: 100%; }
+ .button-group.even-6 li {
+ width: 16.66667%; }
+ .button-group.even-6 li > button, .button-group.even-6 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-6 li:last-child button, .button-group.even-6 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-6 li button, .button-group.even-6 li .button {
+ width: 100%; }
+ .button-group.even-7 li {
+ width: 14.28571%; }
+ .button-group.even-7 li > button, .button-group.even-7 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-7 li:last-child button, .button-group.even-7 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-7 li button, .button-group.even-7 li .button {
+ width: 100%; }
+ .button-group.even-8 li {
+ width: 12.5%; }
+ .button-group.even-8 li > button, .button-group.even-8 li .button {
+ border-right: 1px solid;
+ border-color: rgba(255, 255, 255, 0.5); }
+ .button-group.even-8 li:last-child button, .button-group.even-8 li:last-child .button {
+ border-right: 0; }
+ .button-group.even-8 li button, .button-group.even-8 li .button {
+ width: 100%; }
+
+.button-bar {
+ *zoom: 1; }
+ .button-bar:before, .button-bar:after {
+ content: " ";
+ display: table; }
+ .button-bar:after {
+ clear: both; }
+ .button-bar .button-group {
+ float: left;
+ margin-right: 0.625rem; }
+ .button-bar .button-group div {
+ overflow: hidden; }
+
+/* Clearing Styles */
+[data-clearing] {
+ *zoom: 1;
+ margin-bottom: 0;
+ margin-left: 0;
+ list-style: none; }
+ [data-clearing]:before, [data-clearing]:after {
+ content: " ";
+ display: table; }
+ [data-clearing]:after {
+ clear: both; }
+ [data-clearing] li {
+ float: left;
+ margin-right: 10px; }
+
+.clearing-blackout {
+ background: #333333;
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ z-index: 998; }
+ .clearing-blackout .clearing-close {
+ display: block; }
+
+.clearing-container {
+ position: relative;
+ z-index: 998;
+ height: 100%;
+ overflow: hidden;
+ margin: 0; }
+
+.visible-img {
+ height: 95%;
+ position: relative; }
+ .visible-img img {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ margin-left: -50%;
+ max-height: 100%;
+ max-width: 100%; }
+
+.clearing-caption {
+ color: #cccccc;
+ font-size: 0.875em;
+ line-height: 1.3;
+ margin-bottom: 0;
+ text-align: center;
+ bottom: 0;
+ background: #333333;
+ width: 100%;
+ padding: 10px 30px 20px;
+ position: absolute;
+ left: 0; }
+
+.clearing-close {
+ z-index: 999;
+ padding-left: 20px;
+ padding-top: 10px;
+ font-size: 30px;
+ line-height: 1;
+ color: #cccccc;
+ display: none; }
+ .clearing-close:hover, .clearing-close:focus {
+ color: #cccccc; }
+
+.clearing-assembled .clearing-container {
+ height: 100%; }
+ .clearing-assembled .clearing-container .carousel > ul {
+ display: none; }
+
+.clearing-feature li {
+ display: none; }
+ .clearing-feature li.clearing-featured-img {
+ display: block; }
+
+@media only screen and (min-width:40.063em) {
+ .clearing-main-prev, .clearing-main-next {
+ position: absolute;
+ height: 100%;
+ width: 40px;
+ top: 0; }
+ .clearing-main-prev > span, .clearing-main-next > span {
+ position: absolute;
+ top: 50%;
+ display: block;
+ width: 0;
+ height: 0;
+ border: solid 12px; }
+ .clearing-main-prev > span:hover, .clearing-main-next > span:hover {
+ opacity: 0.8; }
+ .clearing-main-prev {
+ left: 0; }
+ .clearing-main-prev > span {
+ left: 5px;
+ border-color: transparent;
+ border-right-color: #cccccc; }
+ .clearing-main-next {
+ right: 0; }
+ .clearing-main-next > span {
+ border-color: transparent;
+ border-left-color: #cccccc; }
+ .clearing-main-prev.disabled, .clearing-main-next.disabled {
+ opacity: 0.3; }
+ .clearing-assembled .clearing-container .carousel {
+ background: rgba(51, 51, 51, 0.8);
+ height: 120px;
+ margin-top: 10px;
+ text-align: center; }
+ .clearing-assembled .clearing-container .carousel > ul {
+ display: inline-block;
+ z-index: 999;
+ height: 100%;
+ position: relative;
+ float: none; }
+ .clearing-assembled .clearing-container .carousel > ul li {
+ display: block;
+ width: 120px;
+ min-height: inherit;
+ float: left;
+ overflow: hidden;
+ margin-right: 0;
+ padding: 0;
+ position: relative;
+ cursor: pointer;
+ opacity: 0.4; }
+ .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
+ height: 100%;
+ max-width: none; }
+ .clearing-assembled .clearing-container .carousel > ul li a.th {
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ display: block; }
+ .clearing-assembled .clearing-container .carousel > ul li img {
+ cursor: pointer !important;
+ width: 100% !important; }
+ .clearing-assembled .clearing-container .carousel > ul li.visible {
+ opacity: 1; }
+ .clearing-assembled .clearing-container .carousel > ul li:hover {
+ opacity: 0.8; }
+ .clearing-assembled .clearing-container .visible-img {
+ background: #333333;
+ overflow: hidden;
+ height: 85%; }
+ .clearing-close {
+ position: absolute;
+ top: 10px;
+ right: 20px;
+ padding-left: 0;
+ padding-top: 0; } }
+
+@media only screen and (max-width: 40em) {
+ .f-dropdown {
+ max-width: 100%;
+ left: 0; } }
+
+/* Foundation Dropdowns */
+.f-dropdown {
+ position: absolute;
+ left: -9999px;
+ list-style: none;
+ margin-left: 0;
+ width: 100%;
+ max-height: none;
+ height: auto;
+ background: white;
+ border: solid 1px #cccccc;
+ font-size: 16px;
+ z-index: 99;
+ margin-top: 2px;
+ max-width: 200px; }
+ .f-dropdown > *:first-child {
+ margin-top: 0; }
+ .f-dropdown > *:last-child {
+ margin-bottom: 0; }
+ .f-dropdown:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: transparent transparent white transparent;
+ border-bottom-style: solid;
+ position: absolute;
+ top: -12px;
+ left: 10px;
+ z-index: 99; }
+ .f-dropdown:after {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 7px;
+ border-color: transparent transparent #cccccc transparent;
+ border-bottom-style: solid;
+ position: absolute;
+ top: -14px;
+ left: 9px;
+ z-index: 98; }
+ .f-dropdown.right:before {
+ left: auto;
+ right: 10px; }
+ .f-dropdown.right:after {
+ left: auto;
+ right: 9px; }
+ .f-dropdown li {
+ font-size: 0.875rem;
+ cursor: pointer;
+ line-height: 1.125rem;
+ margin: 0; }
+ .f-dropdown li:hover, .f-dropdown li:focus {
+ background: #eeeeee; }
+ .f-dropdown li a {
+ display: block;
+ padding: 0.5rem;
+ color: #555555; }
+ .f-dropdown.content {
+ position: absolute;
+ left: -9999px;
+ list-style: none;
+ margin-left: 0;
+ padding: 1.25rem;
+ width: 100%;
+ height: auto;
+ max-height: none;
+ background: white;
+ border: solid 1px #cccccc;
+ font-size: 16px;
+ z-index: 99;
+ max-width: 200px; }
+ .f-dropdown.content > *:first-child {
+ margin-top: 0; }
+ .f-dropdown.content > *:last-child {
+ margin-bottom: 0; }
+ .f-dropdown.tiny {
+ max-width: 200px; }
+ .f-dropdown.small {
+ max-width: 300px; }
+ .f-dropdown.medium {
+ max-width: 500px; }
+ .f-dropdown.large {
+ max-width: 800px; }
+
+.dropdown.button {
+ position: relative;
+ padding-right: 3.5625rem; }
+ .dropdown.button:before {
+ position: absolute;
+ content: "";
+ width: 0;
+ height: 0;
+ display: block;
+ border-style: solid;
+ border-color: white transparent transparent transparent;
+ top: 50%; }
+ .dropdown.button:before {
+ border-width: 0.375rem;
+ right: 1.40625rem;
+ margin-top: -0.15625rem; }
+ .dropdown.button:before {
+ border-color: white transparent transparent transparent; }
+ .dropdown.button.tiny {
+ padding-right: 2.625rem; }
+ .dropdown.button.tiny:before {
+ border-width: 0.375rem;
+ right: 1.125rem;
+ margin-top: -0.125rem; }
+ .dropdown.button.tiny:before {
+ border-color: white transparent transparent transparent; }
+ .dropdown.button.small {
+ padding-right: 3.0625rem; }
+ .dropdown.button.small:before {
+ border-width: 0.4375rem;
+ right: 1.3125rem;
+ margin-top: -0.15625rem; }
+ .dropdown.button.small:before {
+ border-color: white transparent transparent transparent; }
+ .dropdown.button.large {
+ padding-right: 3.625rem; }
+ .dropdown.button.large:before {
+ border-width: 0.3125rem;
+ right: 1.71875rem;
+ margin-top: -0.15625rem; }
+ .dropdown.button.large:before {
+ border-color: white transparent transparent transparent; }
+ .dropdown.button.secondary:before {
+ border-color: #333333 transparent transparent transparent; }
+
+.flex-video {
+ position: relative;
+ padding-top: 1.5625rem;
+ padding-bottom: 67.5%;
+ height: 0;
+ margin-bottom: 1rem;
+ overflow: hidden; }
+ .flex-video.widescreen {
+ padding-bottom: 57.25%; }
+ .flex-video.vimeo {
+ padding-top: 0; }
+ .flex-video iframe, .flex-video object, .flex-video embed, .flex-video video {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%; }
+
+/* Standard Forms */
+form {
+ margin: 0 0 1rem; }
+
+/* Using forms within rows, we need to set some defaults */
+form .row .row {
+ margin: 0 -0.5rem; }
+ form .row .row .column, form .row .row .columns {
+ padding: 0 0.5rem; }
+ form .row .row.collapse {
+ margin: 0; }
+ form .row .row.collapse .column, form .row .row.collapse .columns {
+ padding: 0; }
+ form .row .row.collapse input {
+ -moz-border-radius-bottomright: 0;
+ -moz-border-radius-topright: 0;
+ -webkit-border-bottom-right-radius: 0;
+ -webkit-border-top-right-radius: 0; }
+form .row input.column, form .row input.columns, form .row textarea.column, form .row textarea.columns {
+ padding-left: 0.5rem; }
+
+/* Label Styles */
+label {
+ font-size: 0.875rem;
+ color: #4d4d4d;
+ cursor: pointer;
+ display: block;
+ font-weight: normal;
+ margin-bottom: 0.5rem;
+ /* Styles for required inputs */ }
+ label.right {
+ float: none;
+ text-align: right; }
+ label.inline {
+ margin: 0 0 1rem 0;
+ padding: 0.625rem 0; }
+ label small {
+ text-transform: capitalize;
+ color: #686868; }
+
+select {
+ -webkit-appearance: none !important;
+ background: #fafafa url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==') no-repeat;
+ background-position-x: 97%;
+ background-position-y: center;
+ border: 1px solid #cccccc;
+ padding: 0.5rem;
+ font-size: 0.875rem;
+ -webkit-border-radius: 0;
+ border-radius: 0; }
+ select.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ select:hover {
+ background: #f3f3f3 url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==') no-repeat;
+ background-position-x: 97%;
+ background-position-y: center;
+ border-color: #999999; }
+
+select::-ms-expand {
+ display: none; }
+
+@-moz-document url-prefix() {
+ select {
+ background: #fafafa; }
+
+ select:hover {
+ background: #f3f3f3; } }
+
+/* Attach elements to the beginning or end of an input */
+.prefix, .postfix {
+ display: block;
+ position: relative;
+ z-index: 2;
+ text-align: center;
+ width: 100%;
+ padding-top: 0;
+ padding-bottom: 0;
+ border-style: solid;
+ border-width: 1px;
+ overflow: hidden;
+ font-size: 0.875rem;
+ height: 2.3125rem;
+ line-height: 2.3125rem; }
+
+/* Adjust padding, alignment and radius if pre/post element is a button */
+.postfix.button {
+ padding-left: 0;
+ padding-right: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align: center;
+ line-height: 2.125rem;
+ border: none; }
+
+.prefix.button {
+ padding-left: 0;
+ padding-right: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align: center;
+ line-height: 2.125rem;
+ border: none; }
+
+.prefix.button.radius {
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-border-radius-bottomleft: 3px;
+ -moz-border-radius-topleft: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -webkit-border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px; }
+
+.postfix.button.radius {
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-border-radius-topright: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+
+.prefix.button.round {
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-border-radius-bottomleft: 1000px;
+ -moz-border-radius-topleft: 1000px;
+ -webkit-border-bottom-left-radius: 1000px;
+ -webkit-border-top-left-radius: 1000px;
+ border-bottom-left-radius: 1000px;
+ border-top-left-radius: 1000px; }
+
+.postfix.button.round {
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-border-radius-topright: 1000px;
+ -moz-border-radius-bottomright: 1000px;
+ -webkit-border-top-right-radius: 1000px;
+ -webkit-border-bottom-right-radius: 1000px;
+ border-top-right-radius: 1000px;
+ border-bottom-right-radius: 1000px; }
+
+/* Separate prefix and postfix styles when on span or label so buttons keep their own */
+span.prefix, label.prefix {
+ background: #f2f2f2;
+ border-color: #d7d7d7;
+ border-right: none;
+ color: #333333; }
+ span.prefix.radius, label.prefix.radius {
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-border-radius-bottomleft: 3px;
+ -moz-border-radius-topleft: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -webkit-border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px; }
+
+span.postfix, label.postfix {
+ background: #f2f2f2;
+ border-color: #cbcbcb;
+ border-left: none;
+ color: #333333; }
+ span.postfix.radius, label.postfix.radius {
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-border-radius-topright: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+
+/* Input groups will automatically style first and last elements of the group */
+.input-group.radius > *:first-child, .input-group.radius > *:first-child * {
+ -moz-border-radius-bottomleft: 3px;
+ -moz-border-radius-topleft: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -webkit-border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px; }
+.input-group.radius > *:last-child, .input-group.radius > *:last-child * {
+ -moz-border-radius-topright: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+.input-group.round > *:first-child, .input-group.round > *:first-child * {
+ -moz-border-radius-bottomleft: 1000px;
+ -moz-border-radius-topleft: 1000px;
+ -webkit-border-bottom-left-radius: 1000px;
+ -webkit-border-top-left-radius: 1000px;
+ border-bottom-left-radius: 1000px;
+ border-top-left-radius: 1000px; }
+.input-group.round > *:last-child, .input-group.round > *:last-child * {
+ -moz-border-radius-topright: 1000px;
+ -moz-border-radius-bottomright: 1000px;
+ -webkit-border-top-right-radius: 1000px;
+ -webkit-border-bottom-right-radius: 1000px;
+ border-top-right-radius: 1000px;
+ border-bottom-right-radius: 1000px; }
+
+/* We use this to get basic styling on all basic form elements */
+input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea {
+ -webkit-appearance: none;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ background-color: white;
+ font-family: inherit;
+ border: 1px solid #cccccc;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ color: rgba(0, 0, 0, 0.75);
+ display: block;
+ font-size: 0.875rem;
+ margin: 0 0 1rem 0;
+ padding: 0.5rem;
+ height: 2.3125rem;
+ width: 100%;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: -webkit-box-shadow 0.45s, border-color 0.45s ease-in-out;
+ -moz-transition: -moz-box-shadow 0.45s, border-color 0.45s ease-in-out;
+ transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
+ -webkit-transition: all 0.15s linear;
+ -moz-transition: all 0.15s linear;
+ transition: all 0.15s linear; }
+ input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, textarea:focus {
+ -webkit-box-shadow: 0 0 5px #999999;
+ -moz-box-shadow: 0 0 5px #999999;
+ box-shadow: 0 0 5px #999999;
+ border-color: #999999; }
+ input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, textarea:focus {
+ background: #fafafa;
+ border-color: #999999;
+ outline: none; }
+ input[type="text"][disabled], input[type="password"][disabled], input[type="date"][disabled], input[type="datetime"][disabled], input[type="datetime-local"][disabled], input[type="month"][disabled], input[type="week"][disabled], input[type="email"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="time"][disabled], input[type="url"][disabled], textarea[disabled] {
+ background-color: #dddddd; }
+
+/* Add height value for select elements to match text input height */
+select {
+ height: 2.3125rem; }
+
+/* Adjust margin for form elements below */
+input[type="file"], input[type="checkbox"], input[type="radio"], select {
+ margin: 0 0 1rem 0; }
+
+input[type="checkbox"] + label, input[type="radio"] + label {
+ display: inline-block;
+ margin-left: 0.5rem;
+ margin-right: 1rem;
+ margin-bottom: 0;
+ vertical-align: baseline; }
+
+/* Normalize file input width */
+input[type="file"] {
+ width: 100%; }
+
+/* We add basic fieldset styling */
+fieldset {
+ border: solid 1px #dddddd;
+ padding: 1.25rem;
+ margin: 1.125rem 0; }
+ fieldset legend {
+ font-weight: bold;
+ background: white;
+ padding: 0 0.1875rem;
+ margin: 0;
+ margin-left: -0.1875rem; }
+
+/* Error Handling */
+[data-abide] .error small.error, [data-abide] span.error, [data-abide] small.error {
+ display: block;
+ padding: 0.375rem 0.5625rem 0.5625rem;
+ margin-top: -1px;
+ margin-bottom: 1rem;
+ font-size: 0.75rem;
+ font-weight: normal;
+ font-style: italic;
+ background: #f04124;
+ color: white; }
+[data-abide] span.error, [data-abide] small.error {
+ display: none; }
+
+span.error, small.error {
+ display: block;
+ padding: 0.375rem 0.5625rem 0.5625rem;
+ margin-top: -1px;
+ margin-bottom: 1rem;
+ font-size: 0.75rem;
+ font-weight: normal;
+ font-style: italic;
+ background: #f04124;
+ color: white; }
+
+.error input, .error textarea, .error select {
+ margin-bottom: 0; }
+.error label, .error label.error {
+ color: #f04124; }
+.error > small, .error small.error {
+ display: block;
+ padding: 0.375rem 0.5625rem 0.5625rem;
+ margin-top: -1px;
+ margin-bottom: 1rem;
+ font-size: 0.75rem;
+ font-weight: normal;
+ font-style: italic;
+ background: #f04124;
+ color: white; }
+.error > label > small {
+ color: #686868;
+ background: transparent;
+ padding: 0;
+ text-transform: capitalize;
+ font-style: normal;
+ font-size: 60%;
+ margin: 0;
+ display: inline; }
+.error span.error-message {
+ display: block; }
+
+input.error, textarea.error {
+ margin-bottom: 0; }
+
+label.error {
+ color: #f04124; }
+
+.inline-list {
+ margin: 0 auto 1.0625rem auto;
+ margin-left: -1.375rem;
+ margin-right: 0;
+ padding: 0;
+ list-style: none;
+ overflow: hidden; }
+ .inline-list > li {
+ list-style: none;
+ float: left;
+ margin-left: 1.375rem;
+ display: block; }
+ .inline-list > li > * {
+ display: block; }
+
+/* Foundation Joyride */
+.joyride-list {
+ display: none; }
+
+/* Default styles for the container */
+.joyride-tip-guide {
+ display: none;
+ position: absolute;
+ background: #333333;
+ color: white;
+ z-index: 101;
+ top: 0;
+ left: 2.5%;
+ font-family: inherit;
+ font-weight: normal;
+ width: 95%; }
+
+.lt-ie9 .joyride-tip-guide {
+ max-width: 800px;
+ left: 50%;
+ margin-left: -400px; }
+
+.joyride-content-wrapper {
+ width: 100%;
+ padding: 1.125rem 1.25rem 1.5rem; }
+ .joyride-content-wrapper .button {
+ margin-bottom: 0 !important; }
+
+/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
+.joyride-tip-guide .joyride-nub {
+ display: block;
+ position: absolute;
+ left: 22px;
+ width: 0;
+ height: 0;
+ border: 10px solid #333333; }
+ .joyride-tip-guide .joyride-nub.top {
+ border-top-style: solid;
+ border-color: #333333;
+ border-top-color: transparent !important;
+ border-left-color: transparent !important;
+ border-right-color: transparent !important;
+ top: -20px; }
+ .joyride-tip-guide .joyride-nub.bottom {
+ border-bottom-style: solid;
+ border-color: #333333 !important;
+ border-bottom-color: transparent !important;
+ border-left-color: transparent !important;
+ border-right-color: transparent !important;
+ bottom: -20px; }
+ .joyride-tip-guide .joyride-nub.right {
+ right: -20px; }
+ .joyride-tip-guide .joyride-nub.left {
+ left: -20px; }
+
+/* Typography */
+.joyride-tip-guide h1, .joyride-tip-guide h2, .joyride-tip-guide h3, .joyride-tip-guide h4, .joyride-tip-guide h5, .joyride-tip-guide h6 {
+ line-height: 1.25;
+ margin: 0;
+ font-weight: bold;
+ color: white; }
+
+.joyride-tip-guide p {
+ margin: 0 0 1.125rem 0;
+ font-size: 0.875rem;
+ line-height: 1.3; }
+
+.joyride-timer-indicator-wrap {
+ width: 50px;
+ height: 3px;
+ border: solid 1px #555555;
+ position: absolute;
+ right: 1.0625rem;
+ bottom: 1rem; }
+
+.joyride-timer-indicator {
+ display: block;
+ width: 0;
+ height: inherit;
+ background: #666666; }
+
+.joyride-close-tip {
+ position: absolute;
+ right: 12px;
+ top: 10px;
+ color: #777777 !important;
+ text-decoration: none;
+ font-size: 24px;
+ font-weight: normal;
+ line-height: 0.5 !important; }
+ .joyride-close-tip:hover, .joyride-close-tip:focus {
+ color: #eeeeee !important; }
+
+.joyride-modal-bg {
+ position: fixed;
+ height: 100%;
+ width: 100%;
+ background: transparent;
+ background: rgba(0, 0, 0, 0.5);
+ z-index: 100;
+ display: none;
+ top: 0;
+ left: 0;
+ cursor: pointer; }
+
+.joyride-expose-wrapper {
+ background-color: white;
+ position: absolute;
+ border-radius: 3px;
+ z-index: 102;
+ -moz-box-shadow: 0 0 30px white;
+ -webkit-box-shadow: 0 0 15px white;
+ box-shadow: 0 0 15px white; }
+
+.joyride-expose-cover {
+ background: transparent;
+ border-radius: 3px;
+ position: absolute;
+ z-index: 9999;
+ top: 0;
+ left: 0; }
+
+/* Styles for screens that are atleast 768px; */
+@media only screen and (min-width:40.063em) {
+ .joyride-tip-guide {
+ width: 300px;
+ left: inherit; }
+ .joyride-tip-guide .joyride-nub.bottom {
+ border-color: #333333 !important;
+ border-bottom-color: transparent !important;
+ border-left-color: transparent !important;
+ border-right-color: transparent !important;
+ bottom: -20px; }
+ .joyride-tip-guide .joyride-nub.right {
+ border-color: #333333 !important;
+ border-top-color: transparent !important;
+ border-right-color: transparent !important;
+ border-bottom-color: transparent !important;
+ top: 22px;
+ left: auto;
+ right: -20px; }
+ .joyride-tip-guide .joyride-nub.left {
+ border-color: #333333 !important;
+ border-top-color: transparent !important;
+ border-left-color: transparent !important;
+ border-bottom-color: transparent !important;
+ top: 22px;
+ left: -20px;
+ right: auto; } }
+
+.keystroke, kbd {
+ background-color: #ededed;
+ border-color: gainsboro;
+ color: #222222;
+ border-style: solid;
+ border-width: 1px;
+ margin: 0;
+ font-family: "Consolas", "Menlo", "Courier", monospace;
+ font-size: 0.875rem;
+ padding: 0.125rem 0.25rem 0;
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+
+.label {
+ font-weight: normal;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ text-align: center;
+ text-decoration: none;
+ line-height: 1;
+ white-space: nowrap;
+ display: inline-block;
+ position: relative;
+ margin-bottom: inherit;
+ padding: 0.25rem 0.5rem 0.375rem;
+ font-size: 0.6875rem;
+ background-color: #008cba;
+ color: white; }
+ .label.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .label.round {
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px; }
+ .label.alert {
+ background-color: #f04124;
+ color: white; }
+ .label.success {
+ background-color: #43ac6a;
+ color: white; }
+ .label.secondary {
+ background-color: #e7e7e7;
+ color: #333333; }
+
+[data-magellan-expedition] {
+ background: white;
+ z-index: 50;
+ min-width: 100%;
+ padding: 10px; }
+ [data-magellan-expedition] .sub-nav {
+ margin-bottom: 0; }
+ [data-magellan-expedition] .sub-nav dd {
+ margin-bottom: 0; }
+ [data-magellan-expedition] .sub-nav .active {
+ line-height: 1.8em; }
+
+@-webkit-keyframes rotate {
+ from {
+ -webkit-transform: rotate(0deg); }
+
+ to {
+ -webkit-transform: rotate(360deg); } }
+
+@-moz-keyframes rotate {
+ from {
+ -moz-transform: rotate(0deg); }
+
+ to {
+ -moz-transform: rotate(360deg); } }
+
+@-o-keyframes rotate {
+ from {
+ -o-transform: rotate(0deg); }
+
+ to {
+ -o-transform: rotate(360deg); } }
+
+@keyframes rotate {
+ from {
+ transform: rotate(0deg); }
+
+ to {
+ transform: rotate(360deg); } }
+
+/* Orbit Graceful Loading */
+.slideshow-wrapper {
+ position: relative; }
+ .slideshow-wrapper ul {
+ list-style-type: none;
+ margin: 0; }
+ .slideshow-wrapper ul li, .slideshow-wrapper ul li .orbit-caption {
+ display: none; }
+ .slideshow-wrapper ul li:first-child {
+ display: block; }
+ .slideshow-wrapper .orbit-container {
+ background-color: transparent; }
+ .slideshow-wrapper .orbit-container li {
+ display: block; }
+ .slideshow-wrapper .orbit-container li .orbit-caption {
+ display: block; }
+
+.preloader {
+ display: block;
+ width: 40px;
+ height: 40px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-top: -20px;
+ margin-left: -20px;
+ border: solid 3px;
+ border-color: #555555 white;
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px;
+ -webkit-animation-name: rotate;
+ -webkit-animation-duration: 1.5s;
+ -webkit-animation-iteration-count: infinite;
+ -webkit-animation-timing-function: linear;
+ -moz-animation-name: rotate;
+ -moz-animation-duration: 1.5s;
+ -moz-animation-iteration-count: infinite;
+ -moz-animation-timing-function: linear;
+ -o-animation-name: rotate;
+ -o-animation-duration: 1.5s;
+ -o-animation-iteration-count: infinite;
+ -o-animation-timing-function: linear;
+ animation-name: rotate;
+ animation-duration: 1.5s;
+ animation-iteration-count: infinite;
+ animation-timing-function: linear; }
+
+.orbit-container {
+ overflow: hidden;
+ width: 100%;
+ position: relative;
+ background: none; }
+ .orbit-container .orbit-slides-container {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ position: relative; }
+ .orbit-container .orbit-slides-container img {
+ display: block;
+ max-width: 100%; }
+ .orbit-container .orbit-slides-container > * {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ margin-left: 100%; }
+ .orbit-container .orbit-slides-container > *:first-child {
+ margin-left: 0%; }
+ .orbit-container .orbit-slides-container > * .orbit-caption {
+ position: absolute;
+ bottom: 0;
+ background-color: rgba(51, 51, 51, 0.8);
+ color: white;
+ width: 100%;
+ padding: 0.625rem 0.875rem;
+ font-size: 0.875rem; }
+ .orbit-container .orbit-slide-number {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ font-size: 12px;
+ color: white;
+ background: rgba(0, 0, 0, 0);
+ z-index: 10; }
+ .orbit-container .orbit-slide-number span {
+ font-weight: 700;
+ padding: 0.3125rem; }
+ .orbit-container .orbit-timer {
+ position: absolute;
+ top: 12px;
+ right: 10px;
+ height: 6px;
+ width: 100px;
+ z-index: 10; }
+ .orbit-container .orbit-timer .orbit-progress {
+ height: 3px;
+ background-color: rgba(255, 255, 255, 0.3);
+ display: block;
+ width: 0%;
+ position: relative;
+ right: 20px;
+ top: 5px; }
+ .orbit-container .orbit-timer > span {
+ display: none;
+ position: absolute;
+ top: 0px;
+ right: 0;
+ width: 11px;
+ height: 14px;
+ border: solid 4px white;
+ border-top: none;
+ border-bottom: none; }
+ .orbit-container .orbit-timer.paused > span {
+ right: -4px;
+ top: 0px;
+ width: 11px;
+ height: 14px;
+ border: inset 8px;
+ border-right-style: solid;
+ border-color: transparent transparent transparent white; }
+ .orbit-container .orbit-timer.paused > span.dark {
+ border-color: transparent transparent transparent #333333; }
+ .orbit-container:hover .orbit-timer > span {
+ display: block; }
+ .orbit-container .orbit-prev, .orbit-container .orbit-next {
+ position: absolute;
+ top: 45%;
+ margin-top: -25px;
+ width: 36px;
+ height: 60px;
+ line-height: 50px;
+ color: white;
+ background-color: none;
+ text-indent: -9999px !important;
+ z-index: 10; }
+ .orbit-container .orbit-prev:hover, .orbit-container .orbit-next:hover {
+ background-color: rgba(0, 0, 0, 0.3); }
+ .orbit-container .orbit-prev > span, .orbit-container .orbit-next > span {
+ position: absolute;
+ top: 50%;
+ margin-top: -10px;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 10px; }
+ .orbit-container .orbit-prev {
+ left: 0; }
+ .orbit-container .orbit-prev > span {
+ border-right-style: solid;
+ border-color: transparent;
+ border-right-color: white; }
+ .orbit-container .orbit-prev:hover > span {
+ border-right-color: white; }
+ .orbit-container .orbit-next {
+ right: 0; }
+ .orbit-container .orbit-next > span {
+ border-color: transparent;
+ border-left-style: solid;
+ border-left-color: white;
+ left: 50%;
+ margin-left: -4px; }
+ .orbit-container .orbit-next:hover > span {
+ border-left-color: white; }
+
+.orbit-bullets-container {
+ text-align: center; }
+
+.orbit-bullets {
+ margin: 0 auto 30px auto;
+ overflow: hidden;
+ position: relative;
+ top: 10px;
+ float: none;
+ text-align: center;
+ display: block; }
+ .orbit-bullets li {
+ display: inline-block;
+ width: 0.5625rem;
+ height: 0.5625rem;
+ background: #cccccc;
+ float: none;
+ margin-right: 6px;
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px; }
+ .orbit-bullets li.active {
+ background: #999999; }
+ .orbit-bullets li:last-child {
+ margin-right: 0; }
+
+.touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next {
+ display: none; }
+.touch .orbit-bullets {
+ display: none; }
+
+@media only screen and (min-width:40.063em) {
+ .touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next {
+ display: inherit; }
+ .touch .orbit-bullets {
+ display: block; } }
+
+@media only screen and (max-width: 40em) {
+ .orbit-stack-on-small .orbit-slides-container {
+ height: auto !important; }
+ .orbit-stack-on-small .orbit-slides-container > * {
+ position: relative;
+ margin-left: 0% !important; }
+ .orbit-stack-on-small .orbit-timer, .orbit-stack-on-small .orbit-next, .orbit-stack-on-small .orbit-prev, .orbit-stack-on-small .orbit-bullets {
+ display: none; } }
+
+ul.pagination {
+ display: block;
+ height: 1.5rem;
+ margin-left: -0.3125rem; }
+ ul.pagination li {
+ height: 1.5rem;
+ color: #222222;
+ font-size: 0.875rem;
+ margin-left: 0.3125rem; }
+ ul.pagination li a {
+ display: block;
+ padding: 0.0625rem 0.625rem 0.0625rem;
+ color: #999999;
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ ul.pagination li:hover a, ul.pagination li a:focus {
+ background: #e6e6e6; }
+ ul.pagination li.unavailable a {
+ cursor: default;
+ color: #999999; }
+ ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus {
+ background: transparent; }
+ ul.pagination li.current a {
+ background: #008cba;
+ color: white;
+ font-weight: bold;
+ cursor: default; }
+ ul.pagination li.current a:hover, ul.pagination li.current a:focus {
+ background: #008cba; }
+ ul.pagination li {
+ float: left;
+ display: block; }
+
+/* Pagination centred wrapper */
+.pagination-centered {
+ text-align: center; }
+ .pagination-centered ul.pagination li {
+ float: none;
+ display: inline-block; }
+
+/* Panels */
+.panel {
+ border-style: solid;
+ border-width: 1px;
+ border-color: #d7d7d7;
+ margin-bottom: 1.25rem;
+ padding: 1.25rem;
+ background: #f2f2f2; }
+ .panel > :first-child {
+ margin-top: 0; }
+ .panel > :last-child {
+ margin-bottom: 0; }
+ .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p {
+ color: #333333; }
+ .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
+ line-height: 1;
+ margin-bottom: 0.625rem; }
+ .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
+ line-height: 1.4; }
+ .panel.callout {
+ border-style: solid;
+ border-width: 1px;
+ border-color: #b6edff;
+ margin-bottom: 1.25rem;
+ padding: 1.25rem;
+ background: #ecfaff; }
+ .panel.callout > :first-child {
+ margin-top: 0; }
+ .panel.callout > :last-child {
+ margin-bottom: 0; }
+ .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p {
+ color: #333333; }
+ .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
+ line-height: 1;
+ margin-bottom: 0.625rem; }
+ .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
+ line-height: 1.4; }
+ .panel.callout a {
+ color: #008cba; }
+ .panel.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+
+/* Pricing Tables */
+.pricing-table {
+ border: solid 1px #dddddd;
+ margin-left: 0;
+ margin-bottom: 1.25rem; }
+ .pricing-table * {
+ list-style: none;
+ line-height: 1; }
+ .pricing-table .title {
+ background-color: #333333;
+ padding: 0.9375rem 1.25rem;
+ text-align: center;
+ color: #eeeeee;
+ font-weight: normal;
+ font-size: 1rem;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; }
+ .pricing-table .price {
+ background-color: #f6f6f6;
+ padding: 0.9375rem 1.25rem;
+ text-align: center;
+ color: #333333;
+ font-weight: normal;
+ font-size: 2rem;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; }
+ .pricing-table .description {
+ background-color: white;
+ padding: 0.9375rem;
+ text-align: center;
+ color: #777777;
+ font-size: 0.75rem;
+ font-weight: normal;
+ line-height: 1.4;
+ border-bottom: dotted 1px #dddddd; }
+ .pricing-table .bullet-item {
+ background-color: white;
+ padding: 0.9375rem;
+ text-align: center;
+ color: #333333;
+ font-size: 0.875rem;
+ font-weight: normal;
+ border-bottom: dotted 1px #dddddd; }
+ .pricing-table .cta-button {
+ background-color: white;
+ text-align: center;
+ padding: 1.25rem 1.25rem 0; }
+
+/* Progress Bar */
+.progress {
+ background-color: #f6f6f6;
+ height: 1.5625rem;
+ border: 1px solid white;
+ padding: 0.125rem;
+ margin-bottom: 0.625rem; }
+ .progress .meter {
+ background: #008cba;
+ height: 100%;
+ display: block; }
+ .progress.secondary .meter {
+ background: #e7e7e7;
+ height: 100%;
+ display: block; }
+ .progress.success .meter {
+ background: #43ac6a;
+ height: 100%;
+ display: block; }
+ .progress.alert .meter {
+ background: #f04124;
+ height: 100%;
+ display: block; }
+ .progress.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .progress.radius .meter {
+ -webkit-border-radius: 2px;
+ border-radius: 2px; }
+ .progress.round {
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px; }
+ .progress.round .meter {
+ -webkit-border-radius: 999px;
+ border-radius: 999px; }
+
+.reveal-modal-bg {
+ position: fixed;
+ height: 100%;
+ width: 100%;
+ background: black;
+ background: rgba(0, 0, 0, 0.45);
+ z-index: 98;
+ display: none;
+ top: 0;
+ left: 0; }
+
+.reveal-modal {
+ visibility: hidden;
+ display: none;
+ position: absolute;
+ left: 50%;
+ z-index: 99;
+ height: auto;
+ margin-left: -40%;
+ width: 80%;
+ background-color: white;
+ padding: 1.25rem;
+ border: solid 1px #666666;
+ -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
+ top: 6.25rem; }
+ .reveal-modal .column, .reveal-modal .columns {
+ min-width: 0; }
+ .reveal-modal > :first-child {
+ margin-top: 0; }
+ .reveal-modal > :last-child {
+ margin-bottom: 0; }
+ .reveal-modal .close-reveal-modal {
+ font-size: 1.375rem;
+ line-height: 1;
+ position: absolute;
+ top: 0.5rem;
+ right: 0.6875rem;
+ color: #aaaaaa;
+ font-weight: bold;
+ cursor: pointer; }
+
+@media only screen and (min-width:40.063em) {
+ .reveal-modal {
+ padding: 1.875rem;
+ top: 6.25rem; }
+ .reveal-modal.tiny {
+ margin-left: -15%;
+ width: 30%; }
+ .reveal-modal.small {
+ margin-left: -20%;
+ width: 40%; }
+ .reveal-modal.medium {
+ margin-left: -30%;
+ width: 60%; }
+ .reveal-modal.large {
+ margin-left: -35%;
+ width: 70%; }
+ .reveal-modal.xlarge {
+ margin-left: -47.5%;
+ width: 95%; } }
+
+@media print {
+ .reveal-modal {
+ background: white !important; } }
+
+.side-nav {
+ display: block;
+ margin: 0;
+ padding: 0.875rem 0;
+ list-style-type: none;
+ list-style-position: inside;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; }
+ .side-nav li {
+ margin: 0 0 0.4375rem 0;
+ font-size: 0.875rem; }
+ .side-nav li a {
+ display: block;
+ color: #008cba; }
+ .side-nav li.active > a:first-child {
+ color: #4d4d4d;
+ font-weight: normal;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; }
+ .side-nav li.divider {
+ border-top: 1px solid;
+ height: 0;
+ padding: 0;
+ list-style: none;
+ border-top-color: white; }
+
+.split.button {
+ position: relative;
+ padding-right: 5.0625rem; }
+ .split.button span {
+ display: block;
+ height: 100%;
+ position: absolute;
+ right: 0;
+ top: 0;
+ border-left: solid 1px; }
+ .split.button span:before {
+ position: absolute;
+ content: "";
+ width: 0;
+ height: 0;
+ display: block;
+ border-style: inset;
+ top: 50%;
+ left: 50%; }
+ .split.button span:active {
+ background-color: rgba(0, 0, 0, 0.1); }
+ .split.button span {
+ border-left-color: rgba(255, 255, 255, 0.5); }
+ .split.button span {
+ width: 3.09375rem; }
+ .split.button span:before {
+ border-top-style: solid;
+ border-width: 0.375rem;
+ top: 48%;
+ margin-left: -0.375rem; }
+ .split.button span:before {
+ border-color: white transparent transparent transparent; }
+ .split.button.secondary span {
+ border-left-color: rgba(255, 255, 255, 0.5); }
+ .split.button.secondary span:before {
+ border-color: white transparent transparent transparent; }
+ .split.button.alert span {
+ border-left-color: rgba(255, 255, 255, 0.5); }
+ .split.button.success span {
+ border-left-color: rgba(255, 255, 255, 0.5); }
+ .split.button.tiny {
+ padding-right: 3.75rem; }
+ .split.button.tiny span {
+ width: 2.25rem; }
+ .split.button.tiny span:before {
+ border-top-style: solid;
+ border-width: 0.375rem;
+ top: 48%;
+ margin-left: -0.375rem; }
+ .split.button.small {
+ padding-right: 4.375rem; }
+ .split.button.small span {
+ width: 2.625rem; }
+ .split.button.small span:before {
+ border-top-style: solid;
+ border-width: 0.4375rem;
+ top: 48%;
+ margin-left: -0.375rem; }
+ .split.button.large {
+ padding-right: 5.5rem; }
+ .split.button.large span {
+ width: 3.4375rem; }
+ .split.button.large span:before {
+ border-top-style: solid;
+ border-width: 0.3125rem;
+ top: 48%;
+ margin-left: -0.375rem; }
+ .split.button.expand {
+ padding-left: 2rem; }
+ .split.button.secondary span:before {
+ border-color: #333333 transparent transparent transparent; }
+ .split.button.radius span {
+ -moz-border-radius-topright: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+ .split.button.round span {
+ -moz-border-radius-topright: 1000px;
+ -moz-border-radius-bottomright: 1000px;
+ -webkit-border-top-right-radius: 1000px;
+ -webkit-border-bottom-right-radius: 1000px;
+ border-top-right-radius: 1000px;
+ border-bottom-right-radius: 1000px; }
+
+.sub-nav {
+ display: block;
+ width: auto;
+ overflow: hidden;
+ margin: -0.25rem 0 1.125rem;
+ padding-top: 0.25rem;
+ margin-right: 0;
+ margin-left: -0.75rem; }
+ .sub-nav dt {
+ text-transform: uppercase; }
+ .sub-nav dt, .sub-nav dd, .sub-nav li {
+ float: left;
+ display: inline;
+ margin-left: 1rem;
+ margin-bottom: 0.625rem;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ font-size: 0.875rem;
+ color: #999999; }
+ .sub-nav dt a, .sub-nav dd a, .sub-nav li a {
+ text-decoration: none;
+ color: #999999; }
+ .sub-nav dt a:hover, .sub-nav dd a:hover, .sub-nav li a:hover {
+ color: #0087b1; }
+ .sub-nav dt.active a, .sub-nav dd.active a, .sub-nav li.active a {
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ font-weight: normal;
+ background: #008cba;
+ padding: 0.1875rem 1rem;
+ cursor: default;
+ color: white; }
+ .sub-nav dt.active a:hover, .sub-nav dd.active a:hover, .sub-nav li.active a:hover {
+ background: #0087b1; }
+
+div.switch {
+ position: relative;
+ padding: 0;
+ display: block;
+ overflow: hidden;
+ border-style: solid;
+ border-width: 1px;
+ margin-bottom: 1.25rem;
+ height: 2.25rem;
+ background: white;
+ border-color: #cccccc; }
+ div.switch label {
+ position: relative;
+ left: 0;
+ z-index: 2;
+ float: left;
+ width: 50%;
+ height: 100%;
+ margin: 0;
+ font-weight: bold;
+ text-align: left;
+ -webkit-transition: all 0.1s ease-out;
+ -moz-transition: all 0.1s ease-out;
+ transition: all 0.1s ease-out; }
+ div.switch input {
+ position: absolute;
+ z-index: 3;
+ opacity: 0;
+ width: 100%;
+ height: 100%;
+ -moz-appearance: none; }
+ div.switch input:hover, div.switch input:focus {
+ cursor: pointer; }
+ div.switch span:last-child {
+ position: absolute;
+ top: -1px;
+ left: -1px;
+ z-index: 1;
+ display: block;
+ padding: 0;
+ border-width: 1px;
+ border-style: solid;
+ -webkit-transition: all 0.1s ease-out;
+ -moz-transition: all 0.1s ease-out;
+ transition: all 0.1s ease-out; }
+ div.switch input:not(:checked) + label {
+ opacity: 0; }
+ div.switch input:checked {
+ display: none !important; }
+ div.switch input {
+ left: 0;
+ display: block !important; }
+ div.switch input:first-of-type + label, div.switch input:first-of-type + span + label {
+ left: -50%; }
+ div.switch input:first-of-type:checked + label, div.switch input:first-of-type:checked + span + label {
+ left: 0%; }
+ div.switch input:last-of-type + label, div.switch input:last-of-type + span + label {
+ right: -50%;
+ left: auto;
+ text-align: right; }
+ div.switch input:last-of-type:checked + label, div.switch input:last-of-type:checked + span + label {
+ right: 0%;
+ left: auto; }
+ div.switch span.custom {
+ display: none !important; }
+ form.custom div.switch .hidden-field {
+ margin-left: auto;
+ position: absolute;
+ visibility: visible; }
+ div.switch label {
+ padding: 0;
+ line-height: 2.3rem;
+ font-size: 0.875rem; }
+ div.switch input:first-of-type:checked ~ span:last-child {
+ left: 100%;
+ margin-left: -2.1875rem; }
+ div.switch span:last-child {
+ width: 2.25rem;
+ height: 2.25rem; }
+ div.switch span:last-child {
+ border-color: #b3b3b3;
+ background: white;
+ background: -moz-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
+ background: -webkit-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
+ background: linear-gradient(to bottom, #ffffff 0%, #f2f2f2 100%);
+ -webkit-box-shadow: 2px 0 10px 0 rgba(0, 0, 0, 0.07), 1000px 0 0 1000px #f3faf6, -2px 0 10px 0 rgba(0, 0, 0, 0.07), -1000px 0 0 1000px whitesmoke;
+ box-shadow: 2px 0 10px 0 rgba(0, 0, 0, 0.07), 1000px 0 0 980px #f3faf6, -2px 0 10px 0 rgba(0, 0, 0, 0.07), -1000px 0 0 1000px whitesmoke; }
+ div.switch:hover span:last-child, div.switch:focus span:last-child {
+ background: white;
+ background: -moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
+ background: -webkit-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
+ background: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%); }
+ div.switch:active {
+ background: transparent; }
+ div.switch.large {
+ height: 2.75rem; }
+ div.switch.large label {
+ padding: 0;
+ line-height: 2.3rem;
+ font-size: 1.0625rem; }
+ div.switch.large input:first-of-type:checked ~ span:last-child {
+ left: 100%;
+ margin-left: -2.6875rem; }
+ div.switch.large span:last-child {
+ width: 2.75rem;
+ height: 2.75rem; }
+ div.switch.small {
+ height: 1.75rem; }
+ div.switch.small label {
+ padding: 0;
+ line-height: 2.1rem;
+ font-size: 0.75rem; }
+ div.switch.small input:first-of-type:checked ~ span:last-child {
+ left: 100%;
+ margin-left: -1.6875rem; }
+ div.switch.small span:last-child {
+ width: 1.75rem;
+ height: 1.75rem; }
+ div.switch.tiny {
+ height: 1.375rem; }
+ div.switch.tiny label {
+ padding: 0;
+ line-height: 1.9rem;
+ font-size: 0.6875rem; }
+ div.switch.tiny input:first-of-type:checked ~ span:last-child {
+ left: 100%;
+ margin-left: -1.3125rem; }
+ div.switch.tiny span:last-child {
+ width: 1.375rem;
+ height: 1.375rem; }
+ div.switch.radius {
+ -webkit-border-radius: 4px;
+ border-radius: 4px; }
+ div.switch.radius span:last-child {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ div.switch.round {
+ -webkit-border-radius: 1000px;
+ border-radius: 1000px; }
+ div.switch.round span:last-child {
+ -webkit-border-radius: 999px;
+ border-radius: 999px; }
+ div.switch.round label {
+ padding: 0 0.5625rem; }
+
+@-webkit-keyframes webkitSiblingBugfix {
+ from {
+ position: relative; }
+
+ to {
+ position: relative; } }
+
+table {
+ background: white;
+ margin-bottom: 1.25rem;
+ border: solid 1px #dddddd; }
+ table thead, table tfoot {
+ background: whitesmoke; }
+ table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td {
+ padding: 0.5rem 0.625rem 0.625rem;
+ font-size: 0.875rem;
+ font-weight: bold;
+ color: #222222;
+ text-align: left; }
+ table tr th, table tr td {
+ padding: 0.5625rem 0.625rem;
+ font-size: 0.875rem;
+ color: #222222; }
+ table tr.even, table tr.alt, table tr:nth-of-type(even) {
+ background: #f9f9f9; }
+ table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td {
+ display: table-cell;
+ line-height: 1.125rem; }
+
+.tabs {
+ *zoom: 1;
+ margin-bottom: 0 !important; }
+ .tabs:before, .tabs:after {
+ content: " ";
+ display: table; }
+ .tabs:after {
+ clear: both; }
+ .tabs dd {
+ position: relative;
+ margin-bottom: 0 !important;
+ top: 1px;
+ float: left; }
+ .tabs dd > a {
+ display: block;
+ background: #efefef;
+ color: #222222;
+ padding-top: 1rem;
+ padding-right: 2rem;
+ padding-bottom: 1.0625rem;
+ padding-left: 2rem;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-size: 1rem; }
+ .tabs dd > a:hover {
+ background: #e1e1e1; }
+ .tabs dd.active a {
+ background: white; }
+ .tabs.radius dd:first-child a {
+ -moz-border-radius-bottomleft: 3px;
+ -moz-border-radius-topleft: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -webkit-border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px; }
+ .tabs.radius dd:last-child a {
+ -moz-border-radius-topright: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+ .tabs.vertical dd {
+ position: inherit;
+ float: none;
+ display: block;
+ top: auto; }
+
+.tabs-content {
+ *zoom: 1;
+ margin-bottom: 1.5rem; }
+ .tabs-content:before, .tabs-content:after {
+ content: " ";
+ display: table; }
+ .tabs-content:after {
+ clear: both; }
+ .tabs-content > .content {
+ display: none;
+ float: left;
+ padding: 0.9375rem 0; }
+ .tabs-content > .content.active {
+ display: block; }
+ .tabs-content > .content.contained {
+ padding: 0.9375rem; }
+ .tabs-content.vertical {
+ display: block; }
+ .tabs-content.vertical > .content {
+ padding: 0 0.9375rem; }
+
+@media only screen and (min-width:40.063em) {
+ .tabs.vertical {
+ width: 20%;
+ float: left;
+ margin-bottom: 1.25rem; }
+ .tabs-content.vertical {
+ width: 80%;
+ float: left;
+ margin-left: -1px; } }
+
+/* Image Thumbnails */
+.th {
+ line-height: 0;
+ display: inline-block;
+ border: solid 4px white;
+ max-width: 100%;
+ -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
+ -webkit-transition: all 200ms ease-out;
+ -moz-transition: all 200ms ease-out;
+ transition: all 200ms ease-out; }
+ .th:hover, .th:focus {
+ -webkit-box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5);
+ box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); }
+ .th.radius {
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+
+/* Tooltips */
+.has-tip {
+ border-bottom: dotted 1px #cccccc;
+ cursor: help;
+ font-weight: bold;
+ color: #333333; }
+ .has-tip:hover, .has-tip:focus {
+ border-bottom: dotted 1px #004054;
+ color: #008cba; }
+ .has-tip.tip-left, .has-tip.tip-right {
+ float: none !important; }
+
+.tooltip {
+ display: none;
+ position: absolute;
+ z-index: 999;
+ font-weight: normal;
+ font-size: 0.875rem;
+ line-height: 1.3;
+ padding: 0.75rem;
+ max-width: 85%;
+ left: 50%;
+ width: 100%;
+ color: white;
+ background: #333333;
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .tooltip > .nub {
+ display: block;
+ left: 5px;
+ position: absolute;
+ width: 0;
+ height: 0;
+ border: solid 5px;
+ border-color: transparent transparent #333333 transparent;
+ top: -10px; }
+ .tooltip.opened {
+ color: #008cba !important;
+ border-bottom: dotted 1px #004054 !important; }
+
+.tap-to-close {
+ display: block;
+ font-size: 0.625rem;
+ color: #777777;
+ font-weight: normal; }
+
+@media only screen and (min-width:40.063em) {
+ .tooltip > .nub {
+ border-color: transparent transparent #333333 transparent;
+ top: -10px; }
+ .tooltip.tip-top > .nub {
+ border-color: #333333 transparent transparent transparent;
+ top: auto;
+ bottom: -10px; }
+ .tooltip.tip-left, .tooltip.tip-right {
+ float: none !important; }
+ .tooltip.tip-left > .nub {
+ border-color: transparent transparent transparent #333333;
+ right: -10px;
+ left: auto;
+ top: 50%;
+ margin-top: -5px; }
+ .tooltip.tip-right > .nub {
+ border-color: transparent #333333 transparent transparent;
+ right: auto;
+ left: -10px;
+ top: 50%;
+ margin-top: -5px; } }
+
+meta.foundation-mq-topbar {
+ font-family: "/only screen and (min-width:40.063em)/";
+ width: 40.063em; }
+
+/* Wrapped around .top-bar to contain to grid width */
+.contain-to-grid {
+ width: 100%;
+ background: #333333; }
+ .contain-to-grid .top-bar {
+ margin-bottom: 0; }
+
+.fixed {
+ width: 100%;
+ left: 0;
+ position: fixed;
+ top: 0;
+ z-index: 99; }
+ .fixed.expanded:not(.top-bar) {
+ overflow-y: auto;
+ height: auto;
+ width: 100%;
+ max-height: 100%; }
+ .fixed.expanded:not(.top-bar) .title-area {
+ position: fixed;
+ width: 100%;
+ z-index: 99; }
+ .fixed.expanded:not(.top-bar) .top-bar-section {
+ z-index: 98;
+ margin-top: 45px; }
+
+.top-bar {
+ overflow: hidden;
+ height: 45px;
+ line-height: 45px;
+ position: relative;
+ background: #333333;
+ margin-bottom: 0; }
+ .top-bar ul {
+ margin-bottom: 0;
+ list-style: none; }
+ .top-bar .row {
+ max-width: none; }
+ .top-bar form, .top-bar input {
+ margin-bottom: 0; }
+ .top-bar input {
+ height: auto;
+ padding-top: 0.35rem;
+ padding-bottom: 0.35rem;
+ font-size: 0.75rem; }
+ .top-bar .button {
+ padding-top: 0.45rem;
+ padding-bottom: 0.35rem;
+ margin-bottom: 0;
+ font-size: 0.75rem; }
+ .top-bar .title-area {
+ position: relative;
+ margin: 0; }
+ .top-bar .name {
+ height: 45px;
+ margin: 0;
+ font-size: 16px; }
+ .top-bar .name h1 {
+ line-height: 45px;
+ font-size: 1.0625rem;
+ margin: 0; }
+ .top-bar .name h1 a {
+ font-weight: normal;
+ color: white;
+ width: 50%;
+ display: block;
+ padding: 0 15px; }
+ .top-bar .toggle-topbar {
+ position: absolute;
+ right: 0;
+ top: 0; }
+ .top-bar .toggle-topbar a {
+ color: white;
+ text-transform: uppercase;
+ font-size: 0.8125rem;
+ font-weight: bold;
+ position: relative;
+ display: block;
+ padding: 0 15px;
+ height: 45px;
+ line-height: 45px; }
+ .top-bar .toggle-topbar.menu-icon {
+ right: 15px;
+ top: 50%;
+ margin-top: -16px;
+ padding-left: 40px; }
+ .top-bar .toggle-topbar.menu-icon a {
+ height: 34px;
+ line-height: 33px;
+ padding: 0;
+ padding-right: 25px;
+ color: white;
+ position: relative; }
+ .top-bar .toggle-topbar.menu-icon a::after {
+ content: "";
+ position: absolute;
+ right: 0;
+ display: block;
+ width: 16px;
+ top: 0;
+ height: 0;
+ -webkit-box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white;
+ box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; }
+ .top-bar.expanded {
+ height: auto;
+ background: transparent; }
+ .top-bar.expanded .title-area {
+ background: #333333; }
+ .top-bar.expanded .toggle-topbar a {
+ color: #888888; }
+ .top-bar.expanded .toggle-topbar a span {
+ -webkit-box-shadow: 0 10px 0 1px #888888, 0 16px 0 1px #888888, 0 22px 0 1px #888888;
+ box-shadow: 0 10px 0 1px #888888, 0 16px 0 1px #888888, 0 22px 0 1px #888888; }
+
+.top-bar-section {
+ left: 0;
+ position: relative;
+ width: auto;
+ -webkit-transition: left 300ms ease-out;
+ -moz-transition: left 300ms ease-out;
+ transition: left 300ms ease-out; }
+ .top-bar-section ul {
+ width: 100%;
+ height: auto;
+ display: block;
+ background: #333333;
+ font-size: 16px;
+ margin: 0; }
+ .top-bar-section .divider, .top-bar-section [role="separator"] {
+ border-top: solid 1px #1a1a1a;
+ clear: both;
+ height: 1px;
+ width: 100%; }
+ .top-bar-section ul li > a {
+ display: block;
+ width: 100%;
+ color: white;
+ padding: 12px 0 12px 0;
+ padding-left: 15px;
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-size: 0.8125rem;
+ font-weight: normal;
+ background: #333333; }
+ .top-bar-section ul li > a.button {
+ background: #008cba;
+ font-size: 0.8125rem;
+ padding-right: 15px;
+ padding-left: 15px; }
+ .top-bar-section ul li > a.button:hover {
+ background: #006888; }
+ .top-bar-section ul li > a.button.secondary {
+ background: #e7e7e7; }
+ .top-bar-section ul li > a.button.secondary:hover {
+ background: #cecece; }
+ .top-bar-section ul li > a.button.success {
+ background: #43ac6a; }
+ .top-bar-section ul li > a.button.success:hover {
+ background: #358853; }
+ .top-bar-section ul li > a.button.alert {
+ background: #f04124; }
+ .top-bar-section ul li > a.button.alert:hover {
+ background: #d4290f; }
+ .top-bar-section ul li:hover > a {
+ background: #272727;
+ color: white; }
+ .top-bar-section ul li.active > a {
+ background: #008cba;
+ color: white; }
+ .top-bar-section ul li.active > a:hover {
+ background: #007ba0; }
+ .top-bar-section .has-form {
+ padding: 15px; }
+ .top-bar-section .has-dropdown {
+ position: relative; }
+ .top-bar-section .has-dropdown > a:after {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
+ border-left-style: solid;
+ margin-right: 15px;
+ margin-top: -4.5px;
+ position: absolute;
+ top: 50%;
+ right: 0; }
+ .top-bar-section .has-dropdown.moved {
+ position: static; }
+ .top-bar-section .has-dropdown.moved > .dropdown {
+ display: block; }
+ .top-bar-section .dropdown {
+ position: absolute;
+ left: 100%;
+ top: 0;
+ display: none;
+ z-index: 99; }
+ .top-bar-section .dropdown li {
+ width: 100%;
+ height: auto; }
+ .top-bar-section .dropdown li a {
+ font-weight: normal;
+ padding: 8px 15px; }
+ .top-bar-section .dropdown li a.parent-link {
+ font-weight: normal; }
+ .top-bar-section .dropdown li.title h5 {
+ margin-bottom: 0; }
+ .top-bar-section .dropdown li.title h5 a {
+ color: white;
+ line-height: 22.5px;
+ display: block; }
+ .top-bar-section .dropdown li.has-form {
+ padding: 8px 15px; }
+ .top-bar-section .dropdown li .button {
+ top: auto; }
+ .top-bar-section .dropdown label {
+ padding: 8px 15px 2px;
+ margin-bottom: 0;
+ text-transform: uppercase;
+ color: #777777;
+ font-weight: bold;
+ font-size: 0.625rem; }
+
+.js-generated {
+ display: block; }
+
+@media only screen and (min-width:40.063em) {
+ .top-bar {
+ background: #333333;
+ *zoom: 1;
+ overflow: visible; }
+ .top-bar:before, .top-bar:after {
+ content: " ";
+ display: table; }
+ .top-bar:after {
+ clear: both; }
+ .top-bar .toggle-topbar {
+ display: none; }
+ .top-bar .title-area {
+ float: left; }
+ .top-bar .name h1 a {
+ width: auto; }
+ .top-bar input, .top-bar .button {
+ font-size: 0.875rem;
+ position: relative;
+ top: 7px; }
+ .top-bar.expanded {
+ background: #333333; }
+ .contain-to-grid .top-bar {
+ max-width: 62.5rem;
+ margin: 0 auto;
+ margin-bottom: 0; }
+ .top-bar-section {
+ -webkit-transition: none 0 0;
+ -moz-transition: none 0 0;
+ transition: none 0 0;
+ left: 0 !important; }
+ .top-bar-section ul {
+ width: auto;
+ height: auto !important;
+ display: inline; }
+ .top-bar-section ul li {
+ float: left; }
+ .top-bar-section ul li .js-generated {
+ display: none; }
+ .top-bar-section li.hover > a:not(.button) {
+ background: #272727;
+ color: white; }
+ .top-bar-section li:not(.has-form) a:not(.button) {
+ padding: 0 15px;
+ line-height: 45px;
+ background: #333333; }
+ .top-bar-section li:not(.has-form) a:not(.button):hover {
+ background: #272727; }
+ .top-bar-section .has-dropdown > a {
+ padding-right: 35px !important; }
+ .top-bar-section .has-dropdown > a:after {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
+ border-top-style: solid;
+ margin-top: -2.5px;
+ top: 22.5px; }
+ .top-bar-section .has-dropdown.moved {
+ position: relative; }
+ .top-bar-section .has-dropdown.moved > .dropdown {
+ display: none; }
+ .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
+ display: block; }
+ .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
+ border: none;
+ content: "\00bb";
+ top: 1rem;
+ margin-top: -2px;
+ right: 5px;
+ line-height: 1.2; }
+ .top-bar-section .dropdown {
+ left: 0;
+ top: auto;
+ background: transparent;
+ min-width: 100%; }
+ .top-bar-section .dropdown li a {
+ color: white;
+ line-height: 1;
+ white-space: nowrap;
+ padding: 12px 15px;
+ background: #333333; }
+ .top-bar-section .dropdown li label {
+ white-space: nowrap;
+ background: #333333; }
+ .top-bar-section .dropdown li .dropdown {
+ left: 100%;
+ top: 0; }
+ .top-bar-section > ul > .divider, .top-bar-section > ul > [role="separator"] {
+ border-bottom: none;
+ border-top: none;
+ border-right: solid 1px #4e4e4e;
+ clear: none;
+ height: 45px;
+ width: 0; }
+ .top-bar-section .has-form {
+ background: #333333;
+ padding: 0 15px;
+ height: 45px; }
+ .top-bar-section .right li .dropdown {
+ left: auto;
+ right: 0; }
+ .top-bar-section .right li .dropdown li .dropdown {
+ right: 100%; }
+ .top-bar-section .left li .dropdown {
+ right: auto;
+ left: 0; }
+ .top-bar-section .left li .dropdown li .dropdown {
+ left: 100%; }
+ .no-js .top-bar-section ul li:hover > a {
+ background: #272727;
+ color: white; }
+ .no-js .top-bar-section ul li:active > a {
+ background: #008cba;
+ color: white; }
+ .no-js .top-bar-section .has-dropdown:hover > .dropdown {
+ display: block; } }
+
+/* Typography resets */
+div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
+ margin: 0;
+ padding: 0; }
+
+/* Default Link Styles */
+a {
+ color: #008cba;
+ text-decoration: none;
+ line-height: inherit; }
+ a:hover, a:focus {
+ color: #007ba0; }
+ a img {
+ border: none; }
+
+/* Default paragraph styles */
+p {
+ font-family: inherit;
+ font-weight: normal;
+ font-size: 1rem;
+ line-height: 1.6;
+ margin-bottom: 1.25rem;
+ text-rendering: optimizeLegibility; }
+ p.lead {
+ font-size: 1.21875rem;
+ line-height: 1.6; }
+ p aside {
+ font-size: 0.875rem;
+ line-height: 1.35;
+ font-style: italic; }
+
+/* Default header styles */
+h1, h2, h3, h4, h5, h6 {
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
+ font-weight: 300;
+ font-style: normal;
+ color: #222222;
+ text-rendering: optimizeLegibility;
+ margin-top: 0.2rem;
+ margin-bottom: 0.5rem;
+ line-height: 1.4; }
+ h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
+ font-size: 60%;
+ color: #6f6f6f;
+ line-height: 0; }
+
+h1 {
+ font-size: 2.125rem; }
+
+h2 {
+ font-size: 1.6875rem; }
+
+h3 {
+ font-size: 1.375rem; }
+
+h4 {
+ font-size: 1.125rem; }
+
+h5 {
+ font-size: 1.125rem; }
+
+h6 {
+ font-size: 1rem; }
+
+.subheader {
+ line-height: 1.4;
+ color: #6f6f6f;
+ font-weight: 300;
+ margin-top: 0.2rem;
+ margin-bottom: 0.5rem; }
+
+hr {
+ border: solid #dddddd;
+ border-width: 1px 0 0;
+ clear: both;
+ margin: 1.25rem 0 1.1875rem;
+ height: 0; }
+
+/* Helpful Typography Defaults */
+em, i {
+ font-style: italic;
+ line-height: inherit; }
+
+strong, b {
+ font-weight: bold;
+ line-height: inherit; }
+
+small {
+ font-size: 60%;
+ line-height: inherit; }
+
+code {
+ font-family: Consolas, 'Liberation Mono', Courier, monospace;
+ font-weight: bold;
+ color: #bd240d; }
+
+/* Lists */
+ul, ol, dl {
+ font-size: 1rem;
+ line-height: 1.6;
+ margin-bottom: 1.25rem;
+ list-style-position: outside;
+ font-family: inherit; }
+
+ul {
+ margin-left: 1.1rem; }
+ ul.no-bullet {
+ margin-left: 0; }
+ ul.no-bullet li ul, ul.no-bullet li ol {
+ margin-left: 1.25rem;
+ margin-bottom: 0;
+ list-style: none; }
+
+/* Unordered Lists */
+ul li ul, ul li ol {
+ margin-left: 1.25rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ /* Override nested font-size change */ }
+ul.square li ul, ul.circle li ul, ul.disc li ul {
+ list-style: inherit; }
+ul.square {
+ list-style-type: square;
+ margin-left: 1.1rem; }
+ul.circle {
+ list-style-type: circle;
+ margin-left: 1.1rem; }
+ul.disc {
+ list-style-type: disc;
+ margin-left: 1.1rem; }
+ul.no-bullet {
+ list-style: none; }
+
+/* Ordered Lists */
+ol {
+ margin-left: 1.4rem; }
+ ol li ul, ol li ol {
+ margin-left: 1.25rem;
+ margin-bottom: 0; }
+
+/* Definition Lists */
+dl dt {
+ margin-bottom: 0.3rem;
+ font-weight: bold; }
+dl dd {
+ margin-bottom: 0.75rem; }
+
+/* Abbreviations */
+abbr, acronym {
+ text-transform: uppercase;
+ font-size: 90%;
+ color: #222222;
+ border-bottom: 1px dotted #dddddd;
+ cursor: help; }
+
+abbr {
+ text-transform: none; }
+
+/* Blockquotes */
+blockquote {
+ margin: 0 0 1.25rem;
+ padding: 0.5625rem 1.25rem 0 1.1875rem;
+ border-left: 1px solid #dddddd; }
+ blockquote cite {
+ display: block;
+ font-size: 0.8125rem;
+ color: #555555; }
+ blockquote cite:before {
+ content: "\2014 \0020"; }
+ blockquote cite a, blockquote cite a:visited {
+ color: #555555; }
+
+blockquote, blockquote p {
+ line-height: 1.6;
+ color: #6f6f6f; }
+
+/* Microformats */
+.vcard {
+ display: inline-block;
+ margin: 0 0 1.25rem 0;
+ border: 1px solid #dddddd;
+ padding: 0.625rem 0.75rem; }
+ .vcard li {
+ margin: 0;
+ display: block; }
+ .vcard .fn {
+ font-weight: bold;
+ font-size: 0.9375rem; }
+
+.vevent .summary {
+ font-weight: bold; }
+.vevent abbr {
+ cursor: default;
+ text-decoration: none;
+ font-weight: bold;
+ border: none;
+ padding: 0 0.0625rem; }
+
+@media only screen and (min-width:40.063em) {
+ h1, h2, h3, h4, h5, h6 {
+ line-height: 1.4; }
+ h1 {
+ font-size: 2.75rem; }
+ h2 {
+ font-size: 2.3125rem; }
+ h3 {
+ font-size: 1.6875rem; }
+ h4 {
+ font-size: 1.4375rem; } }
+
+/*
+ * Print styles.
+ *
+ * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
+ * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
+ */
+.print-only {
+ display: none !important; }
+
+@media print {
+ @page {
+ margin: 0.5cm; }
+
+ * {
+ background: transparent !important;
+ color: black !important;
+ /* Black prints faster: h5bp.com/s */
+ box-shadow: none !important;
+ text-shadow: none !important; }
+ a, a:visited {
+ text-decoration: underline; }
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
+ content: ""; }
+ pre, blockquote {
+ border: 1px solid #999999;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group;
+ /* h5bp.com/t */ }
+ tr, img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ p, h2, h3 {
+ orphans: 3;
+ widows: 3; }
+ h2, h3 {
+ page-break-after: avoid; }
+ .hide-on-print {
+ display: none !important; }
+ .print-only {
+ display: block !important; }
+ .hide-for-print {
+ display: none !important; }
+ .show-for-print {
+ display: inherit !important; } }
+
+.off-canvas-wrap {
+ -webkit-backface-visibility: hidden;
+ position: relative;
+ width: 100%;
+ overflow: hidden; }
+
+.inner-wrap {
+ -webkit-backface-visibility: hidden;
+ position: relative;
+ width: 100%;
+ *zoom: 1;
+ -webkit-transition: -webkit-transform 500ms ease;
+ -moz-transition: -moz-transform 500ms ease;
+ -ms-transition: -ms-transform 500ms ease;
+ -o-transition: -o-transform 500ms ease;
+ transition: transform 500ms ease; }
+ .inner-wrap:before, .inner-wrap:after {
+ content: " ";
+ display: table; }
+ .inner-wrap:after {
+ clear: both; }
+
+nav.tab-bar {
+ -webkit-backface-visibility: hidden;
+ background: #333333;
+ color: white;
+ height: 2.8125rem;
+ line-height: 2.8125rem;
+ position: relative; }
+ nav.tab-bar h1, nav.tab-bar h2, nav.tab-bar h3, nav.tab-bar h4, nav.tab-bar h5, nav.tab-bar h6 {
+ color: white;
+ font-weight: bold;
+ line-height: 2.8125rem;
+ margin: 0; }
+ nav.tab-bar h1, nav.tab-bar h2, nav.tab-bar h3, nav.tab-bar h4 {
+ font-size: 1.125rem; }
+
+section.left-small {
+ width: 2.8125rem;
+ height: 2.8125rem;
+ position: absolute;
+ top: 0;
+ border-right: solid 1px #1a1a1a;
+ box-shadow: 1px 0 0 #4e4e4e;
+ left: 0; }
+
+section.right-small {
+ width: 2.8125rem;
+ height: 2.8125rem;
+ position: absolute;
+ top: 0;
+ border-left: solid 1px #4e4e4e;
+ box-shadow: -1px 0 0 #1a1a1a;
+ right: 0; }
+
+section.tab-bar-section {
+ padding: 0 0.625rem;
+ position: absolute;
+ text-align: center;
+ height: 2.8125rem;
+ top: 0; }
+ @media only screen and (min-width:40.063em) {
+ section.tab-bar-section {
+ text-align: left; } }
+ section.tab-bar-section.left {
+ left: 0;
+ right: 2.8125rem; }
+ section.tab-bar-section.right {
+ left: 2.8125rem;
+ right: 0; }
+ section.tab-bar-section.middle {
+ left: 2.8125rem;
+ right: 2.8125rem; }
+
+a.menu-icon {
+ text-indent: 2.1875rem;
+ width: 2.8125rem;
+ height: 2.8125rem;
+ display: block;
+ line-height: 2.0625rem;
+ padding: 0;
+ color: white;
+ position: relative; }
+ a.menu-icon span {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0;
+ left: 0.8125rem;
+ top: 0.3125rem;
+ -webkit-box-shadow: 1px 10px 1px 1px white, 1px 16px 1px 1px white, 1px 22px 1px 1px white;
+ box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; }
+ a.menu-icon:hover span {
+ -webkit-box-shadow: 1px 10px 1px 1px #b3b3b3, 1px 16px 1px 1px #b3b3b3, 1px 22px 1px 1px #b3b3b3;
+ box-shadow: 0 10px 0 1px #b3b3b3, 0 16px 0 1px #b3b3b3, 0 22px 0 1px #b3b3b3; }
+
+.left-off-canvas-menu {
+ -webkit-backface-visibility: hidden;
+ width: 250px;
+ top: 0;
+ bottom: 0;
+ height: 100%;
+ position: absolute;
+ overflow-y: auto;
+ background: #333333;
+ z-index: 1001;
+ box-sizing: content-box;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ -moz-transform: translate3d(-100%, 0, 0);
+ -ms-transform: translate3d(-100%, 0, 0);
+ -o-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0); }
+ .left-off-canvas-menu * {
+ -webkit-backface-visibility: hidden; }
+
+.right-off-canvas-menu {
+ -webkit-backface-visibility: hidden;
+ width: 250px;
+ top: 0;
+ bottom: 0;
+ height: 100%;
+ position: absolute;
+ overflow-y: auto;
+ background: #333333;
+ z-index: 1001;
+ box-sizing: content-box;
+ -webkit-transform: translate3d(100%, 0, 0);
+ -moz-transform: translate3d(100%, 0, 0);
+ -ms-transform: translate3d(100%, 0, 0);
+ -o-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ right: 0; }
+
+ul.off-canvas-list {
+ list-style-type: none;
+ padding: 0;
+ margin: 0; }
+ ul.off-canvas-list li label {
+ padding: 0.3rem 0.9375rem;
+ color: #999999;
+ text-transform: uppercase;
+ font-weight: bold;
+ background: #444444;
+ border-top: 1px solid #5e5e5e;
+ border-bottom: none;
+ margin: 0; }
+ ul.off-canvas-list li a {
+ display: block;
+ padding: 0.66667rem;
+ color: rgba(255, 255, 255, 0.7);
+ border-bottom: 1px solid #262626; }
+
+.move-right > .inner-wrap {
+ -webkit-transform: translate3d(250px, 0, 0);
+ -moz-transform: translate3d(250px, 0, 0);
+ -ms-transform: translate3d(250px, 0, 0);
+ -o-transform: translate3d(250px, 0, 0);
+ transform: translate3d(250px, 0, 0); }
+.move-right a.exit-off-canvas {
+ -webkit-backface-visibility: hidden;
+ transition: background 300ms ease;
+ cursor: pointer;
+ box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
+ display: block;
+ position: absolute;
+ background: rgba(255, 255, 255, 0.2);
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1002;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
+ @media only screen and (min-width:40.063em) {
+ .move-right a.exit-off-canvas:hover {
+ background: rgba(255, 255, 255, 0.05); } }
+
+.move-left > .inner-wrap {
+ -webkit-transform: translate3d(-250px, 0, 0);
+ -moz-transform: translate3d(-250px, 0, 0);
+ -ms-transform: translate3d(-250px, 0, 0);
+ -o-transform: translate3d(-250px, 0, 0);
+ transform: translate3d(-250px, 0, 0); }
+.move-left a.exit-off-canvas {
+ -webkit-backface-visibility: hidden;
+ transition: background 300ms ease;
+ cursor: pointer;
+ box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
+ display: block;
+ position: absolute;
+ background: rgba(255, 255, 255, 0.2);
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1002;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
+ @media only screen and (min-width:40.063em) {
+ .move-left a.exit-off-canvas:hover {
+ background: rgba(255, 255, 255, 0.05); } }
+
+.csstransforms.no-csstransforms3d .left-off-canvas-menu {
+ -webkit-transform: translate(-100%, 0);
+ -moz-transform: translate(-100%, 0);
+ -ms-transform: translate(-100%, 0);
+ -o-transform: translate(-100%, 0);
+ transform: translate(-100%, 0); }
+.csstransforms.no-csstransforms3d .right-off-canvas-menu {
+ -webkit-transform: translate(100%, 0);
+ -moz-transform: translate(100%, 0);
+ -ms-transform: translate(100%, 0);
+ -o-transform: translate(100%, 0);
+ transform: translate(100%, 0); }
+.csstransforms.no-csstransforms3d .move-left > .inner-wrap {
+ -webkit-transform: translate(-250px, 0);
+ -moz-transform: translate(-250px, 0);
+ -ms-transform: translate(-250px, 0);
+ -o-transform: translate(-250px, 0);
+ transform: translate(-250px, 0); }
+.csstransforms.no-csstransforms3d .move-right > .inner-wrap {
+ -webkit-transform: translate(250px, 0);
+ -moz-transform: translate(250px, 0);
+ -ms-transform: translate(250px, 0);
+ -o-transform: translate(250px, 0);
+ transform: translate(250px, 0); }
+
+.no-csstransforms .left-off-canvas-menu {
+ left: -250px; }
+.no-csstransforms .right-off-canvas-menu {
+ right: -250px; }
+.no-csstransforms .move-left > .inner-wrap {
+ right: 250px; }
+.no-csstransforms .move-right > .inner-wrap {
+ left: 250px; }
+
+/* Foundation Visibility HTML Classes */
+.show-for-small, .show-for-small-only, .show-for-medium-down, .show-for-large-down, .hide-for-medium, .hide-for-medium-up, .hide-for-medium-only, .hide-for-large, .hide-for-large-up, .hide-for-large-only, .hide-for-xlarge, .hide-for-xlarge-up, .hide-for-xlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge-only {
+ display: inherit !important; }
+
+.hide-for-small, .hide-for-small-only, .hide-for-medium-down, .show-for-medium, .show-for-medium-up, .show-for-medium-only, .hide-for-large-down, .show-for-large, .show-for-large-up, .show-for-large-only, .show-for-xlarge, .show-for-xlarge-up, .show-for-xlarge-only, .show-for-xxlarge-up, .show-for-xxlarge-only {
+ display: none !important; }
+
+/* Specific visibility for tables */
+table.show-for-small, table.show-for-small-only, table.show-for-medium-down, table.show-for-large-down, table.hide-for-medium, table.hide-for-medium-up, table.hide-for-medium-only, table.hide-for-large, table.hide-for-large-up, table.hide-for-large-only, table.hide-for-xlarge, table.hide-for-xlarge-up, table.hide-for-xlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge-only {
+ display: table; }
+
+thead.show-for-small, thead.show-for-small-only, thead.show-for-medium-down, thead.show-for-large-down, thead.hide-for-medium, thead.hide-for-medium-up, thead.hide-for-medium-only, thead.hide-for-large, thead.hide-for-large-up, thead.hide-for-large-only, thead.hide-for-xlarge, thead.hide-for-xlarge-up, thead.hide-for-xlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge-only {
+ display: table-header-group !important; }
+
+tbody.show-for-small, tbody.show-for-small-only, tbody.show-for-medium-down, tbody.show-for-large-down, tbody.hide-for-medium, tbody.hide-for-medium-up, tbody.hide-for-medium-only, tbody.hide-for-large, tbody.hide-for-large-up, tbody.hide-for-large-only, tbody.hide-for-xlarge, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge-only {
+ display: table-row-group !important; }
+
+tr.show-for-small, tr.show-for-small-only, tr.show-for-medium-down, tr.show-for-large-down, tr.hide-for-medium, tr.hide-for-medium-up, tr.hide-for-medium-only, tr.hide-for-large, tr.hide-for-large-up, tr.hide-for-large-only, tr.hide-for-xlarge, tr.hide-for-xlarge-up, tr.hide-for-xlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge-only {
+ display: table-row !important; }
+
+td.show-for-small, td.show-for-small-only, td.show-for-medium-down td.show-for-large-down, td.hide-for-medium, td.hide-for-medium-up, td.hide-for-large, td.hide-for-large-up, td.hide-for-xlarge td.hide-for-xlarge-up, td.hide-for-xxlarge-up, th.show-for-small, th.show-for-small-only, th.show-for-medium-down th.show-for-large-down, th.hide-for-medium, th.hide-for-medium-up, th.hide-for-large, th.hide-for-large-up, th.hide-for-xlarge th.hide-for-xlarge-up, th.hide-for-xxlarge-up {
+ display: table-cell !important; }
+
+/* Medium Displays: 641px and up */
+@media only screen and (min-width:40.063em) {
+ /* Specific visibility for tables */
+ .hide-for-small, .hide-for-small-only, .show-for-medium, .show-for-medium-down, .show-for-medium-up, .show-for-medium-only, .hide-for-large, .hide-for-large-up, .hide-for-large-only, .hide-for-xlarge, .hide-for-xlarge-up, .hide-for-xlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge-only {
+ display: inherit !important; }
+ .show-for-small, .show-for-small-only, .hide-for-medium, .hide-for-medium-down, .hide-for-medium-up, .hide-for-medium-only, .hide-for-large-down, .show-for-large, .show-for-large-up, .show-for-large-only, .show-for-xlarge, .show-for-xlarge-up, .show-for-xlarge-only, .show-for-xxlarge-up, .show-for-xxlarge-only {
+ display: none !important; }
+ table.hide-for-small, table.hide-for-small-only, table.show-for-medium, table.show-for-medium-down, table.show-for-medium-up, table.show-for-medium-only, table.hide-for-large, table.hide-for-large-up, table.hide-for-large-only, table.hide-for-xlarge, table.hide-for-xlarge-up, table.hide-for-xlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge-only {
+ display: table; }
+ thead.hide-for-small, thead.hide-for-small-only, thead.show-for-medium, thead.show-for-medium-down, thead.show-for-medium-up, thead.show-for-medium-only, thead.hide-for-large, thead.hide-for-large-up, thead.hide-for-large-only, thead.hide-for-xlarge, thead.hide-for-xlarge-up, thead.hide-for-xlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge-only {
+ display: table-header-group !important; }
+ tbody.hide-for-small, tbody.hide-for-small-only, tbody.show-for-medium, tbody.show-for-medium-down, tbody.show-for-medium-up, tbody.show-for-medium-only, tbody.hide-for-large, tbody.hide-for-large-up, tbody.hide-for-large-only, tbody.hide-for-xlarge, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge-only {
+ display: table-row-group !important; }
+ tr.hide-for-small, tr.hide-for-small-only, tr.show-for-medium, tr.show-for-medium-down, tr.show-for-medium-up, tr.show-for-medium-only, tr.hide-for-large, tr.hide-for-large-up, tr.hide-for-large-only, tr.hide-for-xlarge, tr.hide-for-xlarge-up, tr.hide-for-xlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge-only {
+ display: table-row !important; }
+ td.hide-for-small, td.hide-for-small-only, td.show-for-medium, td.show-for-medium-down, td.show-for-medium-up, td.show-for-medium-only, td.hide-for-large, td.hide-for-large-up, td.hide-for-large-only, td.hide-for-xlarge, td.hide-for-xlarge-up, td.hide-for-xlarge-only, td.hide-for-xxlarge-up, td.hide-for-xxlarge-only, th.hide-for-small, th.hide-for-small-only, th.show-for-medium, th.show-for-medium-down, th.show-for-medium-up, th.show-for-medium-only, th.hide-for-large, th.hide-for-large-up, th.hide-for-large-only, th.hide-for-xlarge, th.hide-for-xlarge-up, th.hide-for-xlarge-only, th.hide-for-xxlarge-up, th.hide-for-xxlarge-only {
+ display: table-cell !important; } }
+
+/* Large Displays: 1024px and up */
+@media only screen and (min-width:64.063em) {
+ /* Specific visibility for tables */
+ .hide-for-small, .hide-for-small-only, .hide-for-medium, .hide-for-medium-down, .hide-for-medium-only, .show-for-medium-up, .show-for-large, .show-for-large-up, .show-for-large-only, .hide-for-xlarge, .hide-for-xlarge-up, .hide-for-xlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge-only {
+ display: inherit !important; }
+ .show-for-small-only, .show-for-medium, .show-for-medium-down, .show-for-medium-only, .hide-for-large, .hide-for-large-up, .hide-for-large-only, .show-for-xlarge, .show-for-xlarge-up, .show-for-xlarge-only, .show-for-xxlarge-up, .show-for-xxlarge-only {
+ display: none !important; }
+ table.hide-for-small, table.hide-for-small-only, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-medium-only, table.show-for-medium-up, table.show-for-large, table.show-for-large-up, table.show-for-large-only, table.hide-for-xlarge, table.hide-for-xlarge-up, table.hide-for-xlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge-only {
+ display: table; }
+ thead.hide-for-small, thead.hide-for-small-only, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.show-for-large, thead.show-for-large-up, thead.show-for-large-only, thead.hide-for-xlarge, thead.hide-for-xlarge-up, thead.hide-for-xlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge-only {
+ display: table-header-group !important; }
+ tbody.hide-for-small, tbody.hide-for-small-only, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.show-for-large, tbody.show-for-large-up, tbody.show-for-large-only, tbody.hide-for-xlarge, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge-only {
+ display: table-row-group !important; }
+ tr.hide-for-small, tr.hide-for-small-only, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.show-for-large, tr.show-for-large-up, tr.show-for-large-only, tr.hide-for-xlarge, tr.hide-for-xlarge-up, tr.hide-for-xlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge-only {
+ display: table-row !important; }
+ td.hide-for-small, td.hide-for-small-only, td.hide-for-medium, td.hide-for-medium-down, td.hide-for-medium-only, td.show-for-medium-up, td.show-for-large, td.show-for-large-up, td.show-for-large-only, td.hide-for-xlarge, td.hide-for-xlarge-up, td.hide-for-xlarge-only, td.hide-for-xxlarge-up, td.hide-for-xxlarge-only, th.hide-for-small, th.hide-for-small-only, th.hide-for-medium, th.hide-for-medium-down, th.hide-for-medium-only, th.show-for-medium-up, th.show-for-large, th.show-for-large-up, th.show-for-large-only, th.hide-for-xlarge, th.hide-for-xlarge-up, th.hide-for-xlarge-only, th.hide-for-xxlarge-up, th.hide-for-xxlarge-only {
+ display: table-cell !important; } }
+
+/* X-Large Displays: 1441 and up */
+@media only screen and (min-width:90.063em) {
+ /* Specific visibility for tables */
+ .hide-for-small, .hide-for-small-only, .hide-for-medium, .hide-for-medium-down, .hide-for-medium-only, .show-for-medium-up, .show-for-large-up, .hide-for-large-only, .show-for-xlarge, .show-for-xlarge-up, .show-for-xlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge-only {
+ display: inherit !important; }
+ .show-for-small-only, .show-for-medium, .show-for-medium-down, .show-for-medium-only, .show-for-large, .show-for-large-only, .show-for-large-down, .hide-for-xlarge, .hide-for-xlarge-up, .hide-for-xlarge-only, .show-for-xxlarge-up, .show-for-xxlarge-only {
+ display: none !important; }
+ table.hide-for-small, table.hide-for-small-only, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-medium-only, table.show-for-medium-up, table.show-for-large-up, table.hide-for-large-only, table.show-for-xlarge, table.show-for-xlarge-up, table.show-for-xlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge-only {
+ display: table; }
+ thead.hide-for-small, thead.hide-for-small-only, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.show-for-large-up, thead.hide-for-large-only, thead.show-for-xlarge, thead.show-for-xlarge-up, thead.show-for-xlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge-only {
+ display: table-header-group !important; }
+ tbody.hide-for-small, tbody.hide-for-small-only, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.show-for-large-up, tbody.hide-for-large-only, tbody.show-for-xlarge, tbody.show-for-xlarge-up, tbody.show-for-xlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge-only {
+ display: table-row-group !important; }
+ tr.hide-for-small, tr.hide-for-small-only, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.show-for-large-up, tr.hide-for-large-only, tr.show-for-xlarge, tr.show-for-xlarge-up, tr.show-for-xlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge-only {
+ display: table-row !important; }
+ td.hide-for-small, td.hide-for-small-only, td.hide-for-medium, td.hide-for-medium-down, td.hide-for-medium-only, td.show-for-medium-up, td.show-for-large-up, td.hide-for-large-only, td.show-for-xlarge, td.show-for-xlarge-up, td.show-for-xlarge-only, td.hide-for-xxlarge-up, td.hide-for-xxlarge-only, th.hide-for-small, th.hide-for-small-only, th.hide-for-medium, th.hide-for-medium-down, th.hide-for-medium-only, th.show-for-medium-up, th.show-for-large-up, th.hide-for-large-only, th.show-for-xlarge, th.show-for-xlarge-up, th.show-for-xlarge-only, th.hide-for-xxlarge-up, th.hide-for-xxlarge-only {
+ display: table-cell !important; } }
+
+/* XX-Large Displays: 1920 and up */
+@media only screen and (min-width:120.063em) {
+ /* Specific visibility for tables */
+ .hide-for-small, .hide-for-small-only, .hide-for-medium, .hide-for-medium-down, .hide-for-medium-only, .show-for-medium-up, .show-for-large-up, .hide-for-large-only, .hide-for-xlarge-only, .show-for-xlarge-up, .show-for-xxlarge-up, .show-for-xxlarge-only {
+ display: inherit !important; }
+ .show-for-small-only, .show-for-medium, .show-for-medium-down, .show-for-medium-only, .show-for-large, .show-for-large-only, .show-for-large-down, .hide-for-xlarge, .show-for-xlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge-only {
+ display: none !important; }
+ table.hide-for-small, table.hide-for-small-only, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-medium-only, table.show-for-medium-up, table.show-for-large-up, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xxlarge-up, table.show-for-xxlarge-only {
+ display: table; }
+ thead.hide-for-small, thead.hide-for-small-only, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.show-for-large-up, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xxlarge-up, thead.show-for-xxlarge-only {
+ display: table-header-group !important; }
+ tbody.hide-for-small, tbody.hide-for-small-only, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.show-for-large-up, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge-only {
+ display: table-row-group !important; }
+ tr.hide-for-small, tr.hide-for-small-only, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.show-for-large-up, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xxlarge-up, tr.show-for-xxlarge-only {
+ display: table-row !important; }
+ td.hide-for-small, td.hide-for-small-only, td.hide-for-medium, td.hide-for-medium-down, td.hide-for-medium-only, td.show-for-medium-up, td.show-for-large-up, td.hide-for-xlarge-only, td.show-for-xlarge-up, td.show-for-xxlarge-up, td.show-for-xxlarge-only, th.hide-for-small, th.hide-for-small-only, th.hide-for-medium, th.hide-for-medium-down, th.hide-for-medium-only, th.show-for-medium-up, th.show-for-large-up, th.hide-for-xlarge-only, th.show-for-xlarge-up, th.show-for-xxlarge-up, th.show-for-xxlarge-only {
+ display: table-cell !important; } }
+
+/* Orientation targeting */
+.show-for-landscape, .hide-for-portrait {
+ display: inherit !important; }
+
+.hide-for-landscape, .show-for-portrait {
+ display: none !important; }
+
+/* Specific visibility for tables */
+table.hide-for-landscape, table.show-for-portrait {
+ display: table; }
+
+thead.hide-for-landscape, thead.show-for-portrait {
+ display: table-header-group !important; }
+
+tbody.hide-for-landscape, tbody.show-for-portrait {
+ display: table-row-group !important; }
+
+tr.hide-for-landscape, tr.show-for-portrait {
+ display: table-row !important; }
+
+td.hide-for-landscape, td.show-for-portrait, th.hide-for-landscape, th.show-for-portrait {
+ display: table-cell !important; }
+
+@media only screen and (orientation: landscape) {
+ /* Specific visibility for tables */
+ .show-for-landscape, .hide-for-portrait {
+ display: inherit !important; }
+ .hide-for-landscape, .show-for-portrait {
+ display: none !important; }
+ table.show-for-landscape, table.hide-for-portrait {
+ display: table; }
+ thead.show-for-landscape, thead.hide-for-portrait {
+ display: table-header-group !important; }
+ tbody.show-for-landscape, tbody.hide-for-portrait {
+ display: table-row-group !important; }
+ tr.show-for-landscape, tr.hide-for-portrait {
+ display: table-row !important; }
+ td.show-for-landscape, td.hide-for-portrait, th.show-for-landscape, th.hide-for-portrait {
+ display: table-cell !important; } }
+
+@media only screen and (orientation: portrait) {
+ /* Specific visibility for tables */
+ .show-for-portrait, .hide-for-landscape {
+ display: inherit !important; }
+ .hide-for-portrait, .show-for-landscape {
+ display: none !important; }
+ table.show-for-portrait, table.hide-for-landscape {
+ display: table; }
+ thead.show-for-portrait, thead.hide-for-landscape {
+ display: table-header-group !important; }
+ tbody.show-for-portrait, tbody.hide-for-landscape {
+ display: table-row-group !important; }
+ tr.show-for-portrait, tr.hide-for-landscape {
+ display: table-row !important; }
+ td.show-for-portrait, td.hide-for-landscape, th.show-for-portrait, th.hide-for-landscape {
+ display: table-cell !important; } }
+
+/* Touch-enabled device targeting */
+.show-for-touch {
+ display: none !important; }
+
+.hide-for-touch {
+ display: inherit !important; }
+
+.touch .show-for-touch {
+ display: inherit !important; }
+
+.touch .hide-for-touch {
+ display: none !important; }
+
+/* Specific visibility for tables */
+table.hide-for-touch {
+ display: table; }
+
+.touch table.show-for-touch {
+ display: table; }
+
+thead.hide-for-touch {
+ display: table-header-group !important; }
+
+.touch thead.show-for-touch {
+ display: table-header-group !important; }
+
+tbody.hide-for-touch {
+ display: table-row-group !important; }
+
+.touch tbody.show-for-touch {
+ display: table-row-group !important; }
+
+tr.hide-for-touch {
+ display: table-row !important; }
+
+.touch tr.show-for-touch {
+ display: table-row !important; }
+
+td.hide-for-touch {
+ display: table-cell !important; }
+
+.touch td.show-for-touch {
+ display: table-cell !important; }
+
+th.hide-for-touch {
+ display: table-cell !important; }
+
+.touch th.show-for-touch {
+ display: table-cell !important; }
diff --git a/bower_components/foundation/css/foundation.min.css b/bower_components/foundation/css/foundation.min.css
new file mode 100644
index 0000000..61138a0
--- /dev/null
+++ b/bower_components/foundation/css/foundation.min.css
@@ -0,0 +1 @@
+meta.foundation-mq-small {font-family:"/only screen and (max-width: 40em)/";width:0em;}meta.foundation-mq-medium {font-family:"/only screen and (min-width:40.063em)/";width:40.063em;}meta.foundation-mq-large {font-family:"/only screen and (min-width:64.063em)/";width:64.063em;}meta.foundation-mq-xlarge {font-family:"/only screen and (min-width:90.063em)/";width:90.063em;}meta.foundation-mq-xxlarge {font-family:"/only screen and (min-width:120.063em)/";width:120.063em;}* ,*:before ,*:after {-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}html ,body {font-size:100%;}body {background:#ffffff;color:#222222;padding:0;margin:0;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1;position:relative;cursor:default;}a:hover {cursor:pointer;}img ,object ,embed {max-width:100%;height:auto;}object ,embed {height:100%;}img {-ms-interpolation-mode:bicubic;}#map_canvas img ,#map_canvas embed ,#map_canvas object ,.map_canvas img ,.map_canvas embed ,.map_canvas object {max-width:none !important;}.left {float:left !important;}.right {float:right !important;}.clearfix {*zoom:1;}.clearfix:before ,.clearfix:after {content:" ";display:table;}.clearfix:after {clear:both;}.text-left {text-align:left !important;}.text-right {text-align:right !important;}.text-center {text-align:center !important;}.text-justify {text-align:justify !important;}.hide {display:none;}.start {float:left !important;}.end {float:right !important;}.text-start {text-align:left !important;}.text-end {text-align:right !important;}.antialiased {-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}img {display:inline-block;vertical-align:middle;}textarea {height:auto;min-height:50px;}select {width:100%;}.row {width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5rem;*zoom:1;}.row:before ,.row:after {content:" ";display:table;}.row:after {clear:both;}.row.collapse>.column ,.row.collapse>.columns {position:relative;padding-left:0;padding-right:0;float:left;}.row.collapse .row {margin-left:0;margin-right:0;}.row .row {width:auto;margin-left:-0.9375rem;margin-right:-0.9375rem;margin-top:0;margin-bottom:0;max-width:none;*zoom:1;}.row .row:before ,.row .row:after {content:" ";display:table;}.row .row:after {clear:both;}.row .row.collapse {width:auto;margin:0;max-width:none;*zoom:1;}.row .row.collapse:before ,.row .row.collapse:after {content:" ";display:table;}.row .row.collapse:after {clear:both;}.column ,.columns {position:relative;padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left;}@media only screen{.column.small-centered ,.columns.small-centered {position:relative;margin-left:auto;margin-right:auto;float:none;}.column.small-uncentered ,.columns.small-uncentered {margin-left:0;margin-right:0;float:left;}.column.small-uncentered.opposite ,.columns.small-uncentered.opposite {float:right;}.small-push-1 {position:relative;left:8.33333%;right:auto;}.small-pull-1 {position:relative;right:8.33333%;left:auto;}.small-push-2 {position:relative;left:16.66667%;right:auto;}.small-pull-2 {position:relative;right:16.66667%;left:auto;}.small-push-3 {position:relative;left:25%;right:auto;}.small-pull-3 {position:relative;right:25%;left:auto;}.small-push-4 {position:relative;left:33.33333%;right:auto;}.small-pull-4 {position:relative;right:33.33333%;left:auto;}.small-push-5 {position:relative;left:41.66667%;right:auto;}.small-pull-5 {position:relative;right:41.66667%;left:auto;}.small-push-6 {position:relative;left:50%;right:auto;}.small-pull-6 {position:relative;right:50%;left:auto;}.small-push-7 {position:relative;left:58.33333%;right:auto;}.small-pull-7 {position:relative;right:58.33333%;left:auto;}.small-push-8 {position:relative;left:66.66667%;right:auto;}.small-pull-8 {position:relative;right:66.66667%;left:auto;}.small-push-9 {position:relative;left:75%;right:auto;}.small-pull-9 {position:relative;right:75%;left:auto;}.small-push-10 {position:relative;left:83.33333%;right:auto;}.small-pull-10 {position:relative;right:83.33333%;left:auto;}.small-push-11 {position:relative;left:91.66667%;right:auto;}.small-pull-11 {position:relative;right:91.66667%;left:auto;}.column ,.columns {position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left;}.small-1 {position:relative;width:8.33333%;}.small-2 {position:relative;width:16.66667%;}.small-3 {position:relative;width:25%;}.small-4 {position:relative;width:33.33333%;}.small-5 {position:relative;width:41.66667%;}.small-6 {position:relative;width:50%;}.small-7 {position:relative;width:58.33333%;}.small-8 {position:relative;width:66.66667%;}.small-9 {position:relative;width:75%;}.small-10 {position:relative;width:83.33333%;}.small-11 {position:relative;width:91.66667%;}.small-12 {position:relative;width:100%;}[class*="column"]+[class*="column"]:last-child {float:right;}[class*="column"]+[class*="column"].end {float:left;}.small-offset-0 {position:relative;margin-left:0% !important;}.small-offset-1 {position:relative;margin-left:8.33333% !important;}.small-offset-2 {position:relative;margin-left:16.66667% !important;}.small-offset-3 {position:relative;margin-left:25% !important;}.small-offset-4 {position:relative;margin-left:33.33333% !important;}.small-offset-5 {position:relative;margin-left:41.66667% !important;}.small-offset-6 {position:relative;margin-left:50% !important;}.small-offset-7 {position:relative;margin-left:58.33333% !important;}.small-offset-8 {position:relative;margin-left:66.66667% !important;}.small-offset-9 {position:relative;margin-left:75% !important;}.small-offset-10 {position:relative;margin-left:83.33333% !important;}.column.small-reset-order ,.columns.small-reset-order {margin-left:0;margin-right:0;left:auto;right:auto;float:left;}}@media only screen and (min-width:40.063em){.column.medium-centered ,.columns.medium-centered {position:relative;margin-left:auto;margin-right:auto;float:none;}.column.medium-uncentered ,.columns.medium-uncentered {margin-left:0;margin-right:0;float:left;}.column.medium-uncentered.opposite ,.columns.medium-uncentered.opposite {float:right;}.medium-push-1 {position:relative;left:8.33333%;right:auto;}.medium-pull-1 {position:relative;right:8.33333%;left:auto;}.medium-push-2 {position:relative;left:16.66667%;right:auto;}.medium-pull-2 {position:relative;right:16.66667%;left:auto;}.medium-push-3 {position:relative;left:25%;right:auto;}.medium-pull-3 {position:relative;right:25%;left:auto;}.medium-push-4 {position:relative;left:33.33333%;right:auto;}.medium-pull-4 {position:relative;right:33.33333%;left:auto;}.medium-push-5 {position:relative;left:41.66667%;right:auto;}.medium-pull-5 {position:relative;right:41.66667%;left:auto;}.medium-push-6 {position:relative;left:50%;right:auto;}.medium-pull-6 {position:relative;right:50%;left:auto;}.medium-push-7 {position:relative;left:58.33333%;right:auto;}.medium-pull-7 {position:relative;right:58.33333%;left:auto;}.medium-push-8 {position:relative;left:66.66667%;right:auto;}.medium-pull-8 {position:relative;right:66.66667%;left:auto;}.medium-push-9 {position:relative;left:75%;right:auto;}.medium-pull-9 {position:relative;right:75%;left:auto;}.medium-push-10 {position:relative;left:83.33333%;right:auto;}.medium-pull-10 {position:relative;right:83.33333%;left:auto;}.medium-push-11 {position:relative;left:91.66667%;right:auto;}.medium-pull-11 {position:relative;right:91.66667%;left:auto;}.column ,.columns {position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left;}.medium-1 {position:relative;width:8.33333%;}.medium-2 {position:relative;width:16.66667%;}.medium-3 {position:relative;width:25%;}.medium-4 {position:relative;width:33.33333%;}.medium-5 {position:relative;width:41.66667%;}.medium-6 {position:relative;width:50%;}.medium-7 {position:relative;width:58.33333%;}.medium-8 {position:relative;width:66.66667%;}.medium-9 {position:relative;width:75%;}.medium-10 {position:relative;width:83.33333%;}.medium-11 {position:relative;width:91.66667%;}.medium-12 {position:relative;width:100%;}[class*="column"]+[class*="column"]:last-child {float:right;}[class*="column"]+[class*="column"].end {float:left;}.medium-offset-0 {position:relative;margin-left:0% !important;}.medium-offset-1 {position:relative;margin-left:8.33333% !important;}.medium-offset-2 {position:relative;margin-left:16.66667% !important;}.medium-offset-3 {position:relative;margin-left:25% !important;}.medium-offset-4 {position:relative;margin-left:33.33333% !important;}.medium-offset-5 {position:relative;margin-left:41.66667% !important;}.medium-offset-6 {position:relative;margin-left:50% !important;}.medium-offset-7 {position:relative;margin-left:58.33333% !important;}.medium-offset-8 {position:relative;margin-left:66.66667% !important;}.medium-offset-9 {position:relative;margin-left:75% !important;}.medium-offset-10 {position:relative;margin-left:83.33333% !important;}.column.medium-reset-order ,.columns.medium-reset-order {margin-left:0;margin-right:0;left:auto;right:auto;float:left;}.push-1 {position:relative;left:8.33333%;right:auto;}.pull-1 {position:relative;right:8.33333%;left:auto;}.push-2 {position:relative;left:16.66667%;right:auto;}.pull-2 {position:relative;right:16.66667%;left:auto;}.push-3 {position:relative;left:25%;right:auto;}.pull-3 {position:relative;right:25%;left:auto;}.push-4 {position:relative;left:33.33333%;right:auto;}.pull-4 {position:relative;right:33.33333%;left:auto;}.push-5 {position:relative;left:41.66667%;right:auto;}.pull-5 {position:relative;right:41.66667%;left:auto;}.push-6 {position:relative;left:50%;right:auto;}.pull-6 {position:relative;right:50%;left:auto;}.push-7 {position:relative;left:58.33333%;right:auto;}.pull-7 {position:relative;right:58.33333%;left:auto;}.push-8 {position:relative;left:66.66667%;right:auto;}.pull-8 {position:relative;right:66.66667%;left:auto;}.push-9 {position:relative;left:75%;right:auto;}.pull-9 {position:relative;right:75%;left:auto;}.push-10 {position:relative;left:83.33333%;right:auto;}.pull-10 {position:relative;right:83.33333%;left:auto;}.push-11 {position:relative;left:91.66667%;right:auto;}.pull-11 {position:relative;right:91.66667%;left:auto;}}@media only screen and (min-width:64.063em){.column.large-centered ,.columns.large-centered {position:relative;margin-left:auto;margin-right:auto;float:none;}.column.large-uncentered ,.columns.large-uncentered {margin-left:0;margin-right:0;float:left;}.column.large-uncentered.opposite ,.columns.large-uncentered.opposite {float:right;}.large-push-1 {position:relative;left:8.33333%;right:auto;}.large-pull-1 {position:relative;right:8.33333%;left:auto;}.large-push-2 {position:relative;left:16.66667%;right:auto;}.large-pull-2 {position:relative;right:16.66667%;left:auto;}.large-push-3 {position:relative;left:25%;right:auto;}.large-pull-3 {position:relative;right:25%;left:auto;}.large-push-4 {position:relative;left:33.33333%;right:auto;}.large-pull-4 {position:relative;right:33.33333%;left:auto;}.large-push-5 {position:relative;left:41.66667%;right:auto;}.large-pull-5 {position:relative;right:41.66667%;left:auto;}.large-push-6 {position:relative;left:50%;right:auto;}.large-pull-6 {position:relative;right:50%;left:auto;}.large-push-7 {position:relative;left:58.33333%;right:auto;}.large-pull-7 {position:relative;right:58.33333%;left:auto;}.large-push-8 {position:relative;left:66.66667%;right:auto;}.large-pull-8 {position:relative;right:66.66667%;left:auto;}.large-push-9 {position:relative;left:75%;right:auto;}.large-pull-9 {position:relative;right:75%;left:auto;}.large-push-10 {position:relative;left:83.33333%;right:auto;}.large-pull-10 {position:relative;right:83.33333%;left:auto;}.large-push-11 {position:relative;left:91.66667%;right:auto;}.large-pull-11 {position:relative;right:91.66667%;left:auto;}.column ,.columns {position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left;}.large-1 {position:relative;width:8.33333%;}.large-2 {position:relative;width:16.66667%;}.large-3 {position:relative;width:25%;}.large-4 {position:relative;width:33.33333%;}.large-5 {position:relative;width:41.66667%;}.large-6 {position:relative;width:50%;}.large-7 {position:relative;width:58.33333%;}.large-8 {position:relative;width:66.66667%;}.large-9 {position:relative;width:75%;}.large-10 {position:relative;width:83.33333%;}.large-11 {position:relative;width:91.66667%;}.large-12 {position:relative;width:100%;}[class*="column"]+[class*="column"]:last-child {float:right;}[class*="column"]+[class*="column"].end {float:left;}.large-offset-0 {position:relative;margin-left:0% !important;}.large-offset-1 {position:relative;margin-left:8.33333% !important;}.large-offset-2 {position:relative;margin-left:16.66667% !important;}.large-offset-3 {position:relative;margin-left:25% !important;}.large-offset-4 {position:relative;margin-left:33.33333% !important;}.large-offset-5 {position:relative;margin-left:41.66667% !important;}.large-offset-6 {position:relative;margin-left:50% !important;}.large-offset-7 {position:relative;margin-left:58.33333% !important;}.large-offset-8 {position:relative;margin-left:66.66667% !important;}.large-offset-9 {position:relative;margin-left:75% !important;}.large-offset-10 {position:relative;margin-left:83.33333% !important;}.column.large-reset-order ,.columns.large-reset-order {margin-left:0;margin-right:0;left:auto;right:auto;float:left;}.push-1 {position:relative;left:8.33333%;right:auto;}.pull-1 {position:relative;right:8.33333%;left:auto;}.push-2 {position:relative;left:16.66667%;right:auto;}.pull-2 {position:relative;right:16.66667%;left:auto;}.push-3 {position:relative;left:25%;right:auto;}.pull-3 {position:relative;right:25%;left:auto;}.push-4 {position:relative;left:33.33333%;right:auto;}.pull-4 {position:relative;right:33.33333%;left:auto;}.push-5 {position:relative;left:41.66667%;right:auto;}.pull-5 {position:relative;right:41.66667%;left:auto;}.push-6 {position:relative;left:50%;right:auto;}.pull-6 {position:relative;right:50%;left:auto;}.push-7 {position:relative;left:58.33333%;right:auto;}.pull-7 {position:relative;right:58.33333%;left:auto;}.push-8 {position:relative;left:66.66667%;right:auto;}.pull-8 {position:relative;right:66.66667%;left:auto;}.push-9 {position:relative;left:75%;right:auto;}.pull-9 {position:relative;right:75%;left:auto;}.push-10 {position:relative;left:83.33333%;right:auto;}.pull-10 {position:relative;right:83.33333%;left:auto;}.push-11 {position:relative;left:91.66667%;right:auto;}.pull-11 {position:relative;right:91.66667%;left:auto;}}.accordion {*zoom:1;margin-bottom:0;}.accordion:before ,.accordion:after {content:" ";display:table;}.accordion:after {clear:both;}.accordion dd {display:block;margin-bottom:0 !important;}.accordion dd.active a {background:#e8e8e8;}.accordion dd>a {background:#efefef;color:#222222;padding:1rem;display:block;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-size:1rem;}.accordion dd > a:hover {background:#e3e3e3;}.accordion .content {display:none;padding:0.9375rem;}.accordion .content.active {display:block;background:#ffffff;}.alert-box {border-style:solid;border-width:1px;display:block;font-weight:normal;margin-bottom:1.25rem;position:relative;padding:0.875rem 1.5rem 0.875rem 0.875rem;font-size:0.8125rem;background-color:#008cba;border-color:#007ba0;color:#ffffff;}.alert-box .close {font-size:1.375rem;padding:9px 6px 4px;line-height:0;position:absolute;top:50%;margin-top:-0.6875rem;right:0.25rem;color:#333333;opacity:0.3;}.alert-box .close:hover ,.alert-box .close:focus {opacity:0.5;}.alert-box.radius {-webkit-border-radius:3px;border-radius:3px;}.alert-box.round {-webkit-border-radius:1000px;border-radius:1000px;}.alert-box.success {background-color:#43ac6a;border-color:#3a945b;color:#ffffff;}.alert-box.alert {background-color:#f04124;border-color:#de2b0f;color:#ffffff;}.alert-box.secondary {background-color:#e7e7e7;border-color:#c7c7c7;color:#4f4f4f;}.alert-box.warning {background-color:#f08a24;border-color:#de770f;color:#ffffff;}.alert-box.info {background-color:#a0d3e8;border-color:#74bfdd;color:#4f4f4f;}[class*="block-grid-"] {display:block;padding:0;margin:0 0 0 -0.625rem;*zoom:1;}[class*="block-grid-"]:before ,[class*="block-grid-"]:after {content:" ";display:table;}[class*="block-grid-"]:after {clear:both;}[class*="block-grid-"]>li {display:inline;height:auto;float:left;padding:0 0.625rem 1.25rem;}@media only screen{.small-block-grid-1>li {width:100%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-1 > li:nth-of-type(n) {clear:none;}.small-block-grid-1 > li:nth-of-type(1n+1) {clear:both;}.small-block-grid-2>li {width:50%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-2 > li:nth-of-type(n) {clear:none;}.small-block-grid-2 > li:nth-of-type(2n+1) {clear:both;}.small-block-grid-3>li {width:33.33333%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-3 > li:nth-of-type(n) {clear:none;}.small-block-grid-3 > li:nth-of-type(3n+1) {clear:both;}.small-block-grid-4>li {width:25%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-4 > li:nth-of-type(n) {clear:none;}.small-block-grid-4 > li:nth-of-type(4n+1) {clear:both;}.small-block-grid-5>li {width:20%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-5 > li:nth-of-type(n) {clear:none;}.small-block-grid-5 > li:nth-of-type(5n+1) {clear:both;}.small-block-grid-6>li {width:16.66667%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-6 > li:nth-of-type(n) {clear:none;}.small-block-grid-6 > li:nth-of-type(6n+1) {clear:both;}.small-block-grid-7>li {width:14.28571%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-7 > li:nth-of-type(n) {clear:none;}.small-block-grid-7 > li:nth-of-type(7n+1) {clear:both;}.small-block-grid-8>li {width:12.5%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-8 > li:nth-of-type(n) {clear:none;}.small-block-grid-8 > li:nth-of-type(8n+1) {clear:both;}.small-block-grid-9>li {width:11.11111%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-9 > li:nth-of-type(n) {clear:none;}.small-block-grid-9 > li:nth-of-type(9n+1) {clear:both;}.small-block-grid-10>li {width:10%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-10 > li:nth-of-type(n) {clear:none;}.small-block-grid-10 > li:nth-of-type(10n+1) {clear:both;}.small-block-grid-11>li {width:9.09091%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-11 > li:nth-of-type(n) {clear:none;}.small-block-grid-11 > li:nth-of-type(11n+1) {clear:both;}.small-block-grid-12>li {width:8.33333%;padding:0 0.625rem 1.25rem;list-style:none;}.small-block-grid-12 > li:nth-of-type(n) {clear:none;}.small-block-grid-12 > li:nth-of-type(12n+1) {clear:both;}}@media only screen and (min-width:40.063em){.medium-block-grid-1>li {width:100%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-1 > li:nth-of-type(n) {clear:none;}.medium-block-grid-1 > li:nth-of-type(1n+1) {clear:both;}.medium-block-grid-2>li {width:50%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-2 > li:nth-of-type(n) {clear:none;}.medium-block-grid-2 > li:nth-of-type(2n+1) {clear:both;}.medium-block-grid-3>li {width:33.33333%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-3 > li:nth-of-type(n) {clear:none;}.medium-block-grid-3 > li:nth-of-type(3n+1) {clear:both;}.medium-block-grid-4>li {width:25%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-4 > li:nth-of-type(n) {clear:none;}.medium-block-grid-4 > li:nth-of-type(4n+1) {clear:both;}.medium-block-grid-5>li {width:20%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-5 > li:nth-of-type(n) {clear:none;}.medium-block-grid-5 > li:nth-of-type(5n+1) {clear:both;}.medium-block-grid-6>li {width:16.66667%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-6 > li:nth-of-type(n) {clear:none;}.medium-block-grid-6 > li:nth-of-type(6n+1) {clear:both;}.medium-block-grid-7>li {width:14.28571%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-7 > li:nth-of-type(n) {clear:none;}.medium-block-grid-7 > li:nth-of-type(7n+1) {clear:both;}.medium-block-grid-8>li {width:12.5%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-8 > li:nth-of-type(n) {clear:none;}.medium-block-grid-8 > li:nth-of-type(8n+1) {clear:both;}.medium-block-grid-9>li {width:11.11111%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-9 > li:nth-of-type(n) {clear:none;}.medium-block-grid-9 > li:nth-of-type(9n+1) {clear:both;}.medium-block-grid-10>li {width:10%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-10 > li:nth-of-type(n) {clear:none;}.medium-block-grid-10 > li:nth-of-type(10n+1) {clear:both;}.medium-block-grid-11>li {width:9.09091%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-11 > li:nth-of-type(n) {clear:none;}.medium-block-grid-11 > li:nth-of-type(11n+1) {clear:both;}.medium-block-grid-12>li {width:8.33333%;padding:0 0.625rem 1.25rem;list-style:none;}.medium-block-grid-12 > li:nth-of-type(n) {clear:none;}.medium-block-grid-12 > li:nth-of-type(12n+1) {clear:both;}}@media only screen and (min-width:64.063em){.large-block-grid-1>li {width:100%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-1 > li:nth-of-type(n) {clear:none;}.large-block-grid-1 > li:nth-of-type(1n+1) {clear:both;}.large-block-grid-2>li {width:50%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-2 > li:nth-of-type(n) {clear:none;}.large-block-grid-2 > li:nth-of-type(2n+1) {clear:both;}.large-block-grid-3>li {width:33.33333%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-3 > li:nth-of-type(n) {clear:none;}.large-block-grid-3 > li:nth-of-type(3n+1) {clear:both;}.large-block-grid-4>li {width:25%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-4 > li:nth-of-type(n) {clear:none;}.large-block-grid-4 > li:nth-of-type(4n+1) {clear:both;}.large-block-grid-5>li {width:20%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-5 > li:nth-of-type(n) {clear:none;}.large-block-grid-5 > li:nth-of-type(5n+1) {clear:both;}.large-block-grid-6>li {width:16.66667%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-6 > li:nth-of-type(n) {clear:none;}.large-block-grid-6 > li:nth-of-type(6n+1) {clear:both;}.large-block-grid-7>li {width:14.28571%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-7 > li:nth-of-type(n) {clear:none;}.large-block-grid-7 > li:nth-of-type(7n+1) {clear:both;}.large-block-grid-8>li {width:12.5%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-8 > li:nth-of-type(n) {clear:none;}.large-block-grid-8 > li:nth-of-type(8n+1) {clear:both;}.large-block-grid-9>li {width:11.11111%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-9 > li:nth-of-type(n) {clear:none;}.large-block-grid-9 > li:nth-of-type(9n+1) {clear:both;}.large-block-grid-10>li {width:10%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-10 > li:nth-of-type(n) {clear:none;}.large-block-grid-10 > li:nth-of-type(10n+1) {clear:both;}.large-block-grid-11>li {width:9.09091%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-11 > li:nth-of-type(n) {clear:none;}.large-block-grid-11 > li:nth-of-type(11n+1) {clear:both;}.large-block-grid-12>li {width:8.33333%;padding:0 0.625rem 1.25rem;list-style:none;}.large-block-grid-12 > li:nth-of-type(n) {clear:none;}.large-block-grid-12 > li:nth-of-type(12n+1) {clear:both;}}.breadcrumbs {display:block;padding:0.5625rem 0.875rem 0.5625rem;overflow:hidden;margin-left:0;list-style:none;border-style:solid;border-width:1px;background-color:#f4f4f4;border-color:#dcdcdc;-webkit-border-radius:3px;border-radius:3px;}.breadcrumbs>* {margin:0;float:left;font-size:0.6875rem;text-transform:uppercase;}.breadcrumbs > *:hover a ,.breadcrumbs > *:focus a {text-decoration:underline;}.breadcrumbs > * a ,.breadcrumbs > * span {text-transform:uppercase;color:#008cba;}.breadcrumbs > *.current {cursor:default;color:#333333;}.breadcrumbs > *.current a {cursor:default;color:#333333;}.breadcrumbs > *.current:hover ,.breadcrumbs > *.current:hover a ,.breadcrumbs > *.current:focus ,.breadcrumbs > *.current:focus a {text-decoration:none;}.breadcrumbs > *.unavailable {color:#999999;}.breadcrumbs > *.unavailable a {color:#999999;}.breadcrumbs > *.unavailable:hover ,.breadcrumbs > *.unavailable:hover a ,.breadcrumbs > *.unavailable:focus ,.breadcrumbs > *.unavailable a:focus {text-decoration:none;color:#999999;cursor:default;}.breadcrumbs > *:before {content:"/";color:#aaaaaa;margin:0 0.75rem;position:relative;top:1px;}.breadcrumbs > *:first-child:before {content:" ";margin:0;}button ,.button {border-style:solid;border-width:0px;cursor:pointer;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-decoration:none;text-align:center;display:inline-block;padding-top:1rem;padding-right:2rem;padding-bottom:1.0625rem;padding-left:2rem;font-size:1rem;background-color:#008cba;border-color:#007295;color:#ffffff;-webkit-transition:background-color 300ms ease-out;-moz-transition:background-color 300ms ease-out;transition:background-color 300ms ease-out;padding-top:1.0625rem;padding-bottom:1rem;-webkit-appearance:none;border:none;font-weight:normal !important;}button:hover ,button:focus ,.button:hover ,.button:focus {background-color:#007295;}button:hover ,button:focus ,.button:hover ,.button:focus {color:#ffffff;}button.secondary ,.button.secondary {background-color:#e7e7e7;border-color:#b9b9b9;color:#333333;}button.secondary:hover ,button.secondary:focus ,.button.secondary:hover ,.button.secondary:focus {background-color:#b9b9b9;}button.secondary:hover ,button.secondary:focus ,.button.secondary:hover ,.button.secondary:focus {color:#333333;}button.success ,.button.success {background-color:#43ac6a;border-color:#368a54;color:#ffffff;}button.success:hover ,button.success:focus ,.button.success:hover ,.button.success:focus {background-color:#368a54;}button.success:hover ,button.success:focus ,.button.success:hover ,.button.success:focus {color:#ffffff;}button.alert ,.button.alert {background-color:#f04124;border-color:#cf280e;color:#ffffff;}button.alert:hover ,button.alert:focus ,.button.alert:hover ,.button.alert:focus {background-color:#cf280e;}button.alert:hover ,button.alert:focus ,.button.alert:hover ,.button.alert:focus {color:#ffffff;}button.large ,.button.large {padding-top:1.125rem;padding-right:2.25rem;padding-bottom:1.1875rem;padding-left:2.25rem;font-size:1.25rem;}button.small ,.button.small {padding-top:0.875rem;padding-right:1.75rem;padding-bottom:0.9375rem;padding-left:1.75rem;font-size:0.8125rem;}button.tiny ,.button.tiny {padding-top:0.625rem;padding-right:1.25rem;padding-bottom:0.6875rem;padding-left:1.25rem;font-size:0.6875rem;}button.expand ,.button.expand {padding-right:0;padding-left:0;width:100%;}button.left-align ,.button.left-align {text-align:left;text-indent:0.75rem;}button.right-align ,.button.right-align {text-align:right;padding-right:0.75rem;}button.radius ,.button.radius {-webkit-border-radius:3px;border-radius:3px;}button.round ,.button.round {-webkit-border-radius:1000px;border-radius:1000px;}button.disabled ,button[disabled] ,.button.disabled ,.button[disabled] {background-color:#008cba;border-color:#007295;color:#ffffff;cursor:default;opacity:0.7;-webkit-box-shadow:none;box-shadow:none;}button.disabled:hover ,button.disabled:focus ,button[disabled]:hover ,button[disabled]:focus ,.button.disabled:hover ,.button.disabled:focus ,.button[disabled]:hover ,.button[disabled]:focus {background-color:#007295;}button.disabled:hover ,button.disabled:focus ,button[disabled]:hover ,button[disabled]:focus ,.button.disabled:hover ,.button.disabled:focus ,.button[disabled]:hover ,.button[disabled]:focus {color:#ffffff;}button.disabled:hover ,button.disabled:focus ,button[disabled]:hover ,button[disabled]:focus ,.button.disabled:hover ,.button.disabled:focus ,.button[disabled]:hover ,.button[disabled]:focus {background-color:#008cba;}button.disabled.secondary ,button[disabled].secondary ,.button.disabled.secondary ,.button[disabled].secondary {background-color:#e7e7e7;border-color:#b9b9b9;color:#333333;cursor:default;opacity:0.7;-webkit-box-shadow:none;box-shadow:none;}button.disabled.secondary:hover ,button.disabled.secondary:focus ,button[disabled].secondary:hover ,button[disabled].secondary:focus ,.button.disabled.secondary:hover ,.button.disabled.secondary:focus ,.button[disabled].secondary:hover ,.button[disabled].secondary:focus {background-color:#b9b9b9;}button.disabled.secondary:hover ,button.disabled.secondary:focus ,button[disabled].secondary:hover ,button[disabled].secondary:focus ,.button.disabled.secondary:hover ,.button.disabled.secondary:focus ,.button[disabled].secondary:hover ,.button[disabled].secondary:focus {color:#333333;}button.disabled.secondary:hover ,button.disabled.secondary:focus ,button[disabled].secondary:hover ,button[disabled].secondary:focus ,.button.disabled.secondary:hover ,.button.disabled.secondary:focus ,.button[disabled].secondary:hover ,.button[disabled].secondary:focus {background-color:#e7e7e7;}button.disabled.success ,button[disabled].success ,.button.disabled.success ,.button[disabled].success {background-color:#43ac6a;border-color:#368a54;color:#ffffff;cursor:default;opacity:0.7;-webkit-box-shadow:none;box-shadow:none;}button.disabled.success:hover ,button.disabled.success:focus ,button[disabled].success:hover ,button[disabled].success:focus ,.button.disabled.success:hover ,.button.disabled.success:focus ,.button[disabled].success:hover ,.button[disabled].success:focus {background-color:#368a54;}button.disabled.success:hover ,button.disabled.success:focus ,button[disabled].success:hover ,button[disabled].success:focus ,.button.disabled.success:hover ,.button.disabled.success:focus ,.button[disabled].success:hover ,.button[disabled].success:focus {color:#ffffff;}button.disabled.success:hover ,button.disabled.success:focus ,button[disabled].success:hover ,button[disabled].success:focus ,.button.disabled.success:hover ,.button.disabled.success:focus ,.button[disabled].success:hover ,.button[disabled].success:focus {background-color:#43ac6a;}button.disabled.alert ,button[disabled].alert ,.button.disabled.alert ,.button[disabled].alert {background-color:#f04124;border-color:#cf280e;color:#ffffff;cursor:default;opacity:0.7;-webkit-box-shadow:none;box-shadow:none;}button.disabled.alert:hover ,button.disabled.alert:focus ,button[disabled].alert:hover ,button[disabled].alert:focus ,.button.disabled.alert:hover ,.button.disabled.alert:focus ,.button[disabled].alert:hover ,.button[disabled].alert:focus {background-color:#cf280e;}button.disabled.alert:hover ,button.disabled.alert:focus ,button[disabled].alert:hover ,button[disabled].alert:focus ,.button.disabled.alert:hover ,.button.disabled.alert:focus ,.button[disabled].alert:hover ,.button[disabled].alert:focus {color:#ffffff;}button.disabled.alert:hover ,button.disabled.alert:focus ,button[disabled].alert:hover ,button[disabled].alert:focus ,.button.disabled.alert:hover ,.button.disabled.alert:focus ,.button[disabled].alert:hover ,.button[disabled].alert:focus {background-color:#f04124;}@media only screen and (min-width:40.063em){button ,.button {display:inline-block;}}.button-group {list-style:none;margin:0;*zoom:1;}.button-group:before ,.button-group:after {content:" ";display:table;}.button-group:after {clear:both;}.button-group>* {margin:0;float:left;}.button-group > *>button ,.button-group > * .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group > *:last-child button ,.button-group > *:last-child .button {border-right:0;}.button-group > *:first-child {margin-left:0;}.button-group.radius > *>button ,.button-group.radius > * .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.radius > *:last-child button ,.button-group.radius > *:last-child .button {border-right:0;}.button-group.radius > *:first-child ,.button-group.radius > *:first-child>a ,.button-group.radius > *:first-child>button ,.button-group.radius > *:first-child>.button {-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px;}.button-group.radius > *:last-child ,.button-group.radius > *:last-child>a ,.button-group.radius > *:last-child>button ,.button-group.radius > *:last-child>.button {-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}.button-group.round > *>button ,.button-group.round > * .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.round > *:last-child button ,.button-group.round > *:last-child .button {border-right:0;}.button-group.round > *:first-child ,.button-group.round > *:first-child>a ,.button-group.round > *:first-child>button ,.button-group.round > *:first-child>.button {-moz-border-radius-bottomleft:1000px;-moz-border-radius-topleft:1000px;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px;}.button-group.round > *:last-child ,.button-group.round > *:last-child>a ,.button-group.round > *:last-child>button ,.button-group.round > *:last-child>.button {-moz-border-radius-topright:1000px;-moz-border-radius-bottomright:1000px;-webkit-border-top-right-radius:1000px;-webkit-border-bottom-right-radius:1000px;border-top-right-radius:1000px;border-bottom-right-radius:1000px;}.button-group.even-2 li {width:50%;}.button-group.even-2 li>button ,.button-group.even-2 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-2 li:last-child button ,.button-group.even-2 li:last-child .button {border-right:0;}.button-group.even-2 li button ,.button-group.even-2 li .button {width:100%;}.button-group.even-3 li {width:33.33333%;}.button-group.even-3 li>button ,.button-group.even-3 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-3 li:last-child button ,.button-group.even-3 li:last-child .button {border-right:0;}.button-group.even-3 li button ,.button-group.even-3 li .button {width:100%;}.button-group.even-4 li {width:25%;}.button-group.even-4 li>button ,.button-group.even-4 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-4 li:last-child button ,.button-group.even-4 li:last-child .button {border-right:0;}.button-group.even-4 li button ,.button-group.even-4 li .button {width:100%;}.button-group.even-5 li {width:20%;}.button-group.even-5 li>button ,.button-group.even-5 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-5 li:last-child button ,.button-group.even-5 li:last-child .button {border-right:0;}.button-group.even-5 li button ,.button-group.even-5 li .button {width:100%;}.button-group.even-6 li {width:16.66667%;}.button-group.even-6 li>button ,.button-group.even-6 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-6 li:last-child button ,.button-group.even-6 li:last-child .button {border-right:0;}.button-group.even-6 li button ,.button-group.even-6 li .button {width:100%;}.button-group.even-7 li {width:14.28571%;}.button-group.even-7 li>button ,.button-group.even-7 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-7 li:last-child button ,.button-group.even-7 li:last-child .button {border-right:0;}.button-group.even-7 li button ,.button-group.even-7 li .button {width:100%;}.button-group.even-8 li {width:12.5%;}.button-group.even-8 li>button ,.button-group.even-8 li .button {border-right:1px solid;border-color:rgba(255, 255, 255, 0.5);}.button-group.even-8 li:last-child button ,.button-group.even-8 li:last-child .button {border-right:0;}.button-group.even-8 li button ,.button-group.even-8 li .button {width:100%;}.button-bar {*zoom:1;}.button-bar:before ,.button-bar:after {content:" ";display:table;}.button-bar:after {clear:both;}.button-bar .button-group {float:left;margin-right:0.625rem;}.button-bar .button-group div {overflow:hidden;}[data-clearing] {*zoom:1;margin-bottom:0;margin-left:0;list-style:none;}[data-clearing]:before ,[data-clearing]:after {content:" ";display:table;}[data-clearing]:after {clear:both;}[data-clearing] li {float:left;margin-right:10px;}.clearing-blackout {background:#333333;position:fixed;width:100%;height:100%;top:0;left:0;z-index:998;}.clearing-blackout .clearing-close {display:block;}.clearing-container {position:relative;z-index:998;height:100%;overflow:hidden;margin:0;}.visible-img {height:95%;position:relative;}.visible-img img {position:absolute;left:50%;top:50%;margin-left:-50%;max-height:100%;max-width:100%;}.clearing-caption {color:#cccccc;font-size:0.875em;line-height:1.3;margin-bottom:0;text-align:center;bottom:0;background:#333333;width:100%;padding:10px 30px 20px;position:absolute;left:0;}.clearing-close {z-index:999;padding-left:20px;padding-top:10px;font-size:30px;line-height:1;color:#cccccc;display:none;}.clearing-close:hover ,.clearing-close:focus {color:#cccccc;}.clearing-assembled .clearing-container {height:100%;}.clearing-assembled .clearing-container .carousel>ul {display:none;}.clearing-feature li {display:none;}.clearing-feature li.clearing-featured-img {display:block;}@media only screen and (min-width:40.063em){.clearing-main-prev ,.clearing-main-next {position:absolute;height:100%;width:40px;top:0;}.clearing-main-prev>span ,.clearing-main-next>span {position:absolute;top:50%;display:block;width:0;height:0;border:solid 12px;}.clearing-main-prev > span:hover ,.clearing-main-next > span:hover {opacity:0.8;}.clearing-main-prev {left:0;}.clearing-main-prev>span {left:5px;border-color:transparent;border-right-color:#cccccc;}.clearing-main-next {right:0;}.clearing-main-next>span {border-color:transparent;border-left-color:#cccccc;}.clearing-main-prev.disabled ,.clearing-main-next.disabled {opacity:0.3;}.clearing-assembled .clearing-container .carousel {background:rgba(51, 51, 51, 0.8);height:120px;margin-top:10px;text-align:center;}.clearing-assembled .clearing-container .carousel>ul {display:inline-block;z-index:999;height:100%;position:relative;float:none;}.clearing-assembled .clearing-container .carousel > ul li {display:block;width:120px;min-height:inherit;float:left;overflow:hidden;margin-right:0;padding:0;position:relative;cursor:pointer;opacity:0.4;}.clearing-assembled .clearing-container .carousel > ul li.fix-height img {height:100%;max-width:none;}.clearing-assembled .clearing-container .carousel > ul li a.th {border:none;-webkit-box-shadow:none;box-shadow:none;display:block;}.clearing-assembled .clearing-container .carousel > ul li img {cursor:pointer !important;width:100% !important;}.clearing-assembled .clearing-container .carousel > ul li.visible {opacity:1;}.clearing-assembled .clearing-container .carousel > ul li:hover {opacity:0.8;}.clearing-assembled .clearing-container .visible-img {background:#333333;overflow:hidden;height:85%;}.clearing-close {position:absolute;top:10px;right:20px;padding-left:0;padding-top:0;}}@media only screen and (max-width: 40em){.f-dropdown {max-width:100%;left:0;}}.f-dropdown {position:absolute;left:-9999px;list-style:none;margin-left:0;width:100%;max-height:none;height:auto;background:#ffffff;border:solid 1px #cccccc;font-size:16px;z-index:99;margin-top:2px;max-width:200px;}.f-dropdown>*:first-child {margin-top:0;}.f-dropdown>*:last-child {margin-bottom:0;}.f-dropdown:before {content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent #ffffff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:99;}.f-dropdown:after {content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent transparent #cccccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:98;}.f-dropdown.right:before {left:auto;right:10px;}.f-dropdown.right:after {left:auto;right:9px;}.f-dropdown li {font-size:0.875rem;cursor:pointer;line-height:1.125rem;margin:0;}.f-dropdown li:hover ,.f-dropdown li:focus {background:#eeeeee;}.f-dropdown li a {display:block;padding:0.5rem;color:#555555;}.f-dropdown.content {position:absolute;left:-9999px;list-style:none;margin-left:0;padding:1.25rem;width:100%;height:auto;max-height:none;background:#ffffff;border:solid 1px #cccccc;font-size:16px;z-index:99;max-width:200px;}.f-dropdown.content>*:first-child {margin-top:0;}.f-dropdown.content>*:last-child {margin-bottom:0;}.f-dropdown.tiny {max-width:200px;}.f-dropdown.small {max-width:300px;}.f-dropdown.medium {max-width:500px;}.f-dropdown.large {max-width:800px;}.dropdown.button {position:relative;padding-right:3.5625rem;}.dropdown.button:before {position:absolute;content:"";width:0;height:0;display:block;border-style:solid;border-color:#ffffff transparent transparent transparent;top:50%;}.dropdown.button:before {border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem;}.dropdown.button:before {border-color:#ffffff transparent transparent transparent;}.dropdown.button.tiny {padding-right:2.625rem;}.dropdown.button.tiny:before {border-width:0.375rem;right:1.125rem;margin-top:-0.125rem;}.dropdown.button.tiny:before {border-color:#ffffff transparent transparent transparent;}.dropdown.button.small {padding-right:3.0625rem;}.dropdown.button.small:before {border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem;}.dropdown.button.small:before {border-color:#ffffff transparent transparent transparent;}.dropdown.button.large {padding-right:3.625rem;}.dropdown.button.large:before {border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem;}.dropdown.button.large:before {border-color:#ffffff transparent transparent transparent;}.dropdown.button.secondary:before {border-color:#333333 transparent transparent transparent;}.flex-video {position:relative;padding-top:1.5625rem;padding-bottom:67.5%;height:0;margin-bottom:1rem;overflow:hidden;}.flex-video.widescreen {padding-bottom:57.25%;}.flex-video.vimeo {padding-top:0;}.flex-video iframe ,.flex-video object ,.flex-video embed ,.flex-video video {position:absolute;top:0;left:0;width:100%;height:100%;}form {margin:0 0 1rem;}form .row .row {margin:0 -0.5rem;}form .row .row .column ,form .row .row .columns {padding:0 0.5rem;}form .row .row.collapse {margin:0;}form .row .row.collapse .column ,form .row .row.collapse .columns {padding:0;}form .row .row.collapse input {-moz-border-radius-bottomright:0;-moz-border-radius-topright:0;-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;}form .row input.column ,form .row input.columns ,form .row textarea.column ,form .row textarea.columns {padding-left:0.5rem;}label {font-size:0.875rem;color:#4d4d4d;cursor:pointer;display:block;font-weight:normal;margin-bottom:0.5rem;}label.right {float:none;text-align:right;}label.inline {margin:0 0 1rem 0;padding:0.625rem 0;}label small {text-transform:capitalize;color:#686868;}select {-webkit-appearance:none !important;background:#fafafa url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==') no-repeat;background-position-x:97%;background-position-y:center;border:1px solid #cccccc;padding:0.5rem;font-size:0.875rem;-webkit-border-radius:0;border-radius:0;}select.radius {-webkit-border-radius:3px;border-radius:3px;}select:hover {background:#f3f3f3 url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==') no-repeat;background-position-x:97%;background-position-y:center;border-color:#999999;}select::-ms-expand {display:none;}@-moz-document url-prefix() {select {background:#fafafa;}select:hover {background:#f3f3f3;}}.prefix ,.postfix {display:block;position:relative;z-index:2;text-align:center;width:100%;padding-top:0;padding-bottom:0;border-style:solid;border-width:1px;overflow:hidden;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem;}.postfix.button {padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;line-height:2.125rem;border:none;}.prefix.button {padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;line-height:2.125rem;border:none;}.prefix.button.radius {-webkit-border-radius:0;border-radius:0;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px;}.postfix.button.radius {-webkit-border-radius:0;border-radius:0;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}.prefix.button.round {-webkit-border-radius:0;border-radius:0;-moz-border-radius-bottomleft:1000px;-moz-border-radius-topleft:1000px;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px;}.postfix.button.round {-webkit-border-radius:0;border-radius:0;-moz-border-radius-topright:1000px;-moz-border-radius-bottomright:1000px;-webkit-border-top-right-radius:1000px;-webkit-border-bottom-right-radius:1000px;border-top-right-radius:1000px;border-bottom-right-radius:1000px;}span.prefix ,label.prefix {background:#f2f2f2;border-color:#d7d7d7;border-right:none;color:#333333;}span.prefix.radius ,label.prefix.radius {-webkit-border-radius:0;border-radius:0;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px;}span.postfix ,label.postfix {background:#f2f2f2;border-color:#cbcbcb;border-left:none;color:#333333;}span.postfix.radius ,label.postfix.radius {-webkit-border-radius:0;border-radius:0;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}.input-group.radius>*:first-child ,.input-group.radius>*:first-child * {-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px;}.input-group.radius>*:last-child ,.input-group.radius>*:last-child * {-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}.input-group.round>*:first-child ,.input-group.round>*:first-child * {-moz-border-radius-bottomleft:1000px;-moz-border-radius-topleft:1000px;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px;}.input-group.round>*:last-child ,.input-group.round>*:last-child * {-moz-border-radius-topright:1000px;-moz-border-radius-bottomright:1000px;-webkit-border-top-right-radius:1000px;-webkit-border-bottom-right-radius:1000px;border-top-right-radius:1000px;border-bottom-right-radius:1000px;}input[type="text"] ,input[type="password"] ,input[type="date"] ,input[type="datetime"] ,input[type="datetime-local"] ,input[type="month"] ,input[type="week"] ,input[type="email"] ,input[type="number"] ,input[type="search"] ,input[type="tel"] ,input[type="time"] ,input[type="url"] ,textarea {-webkit-appearance:none;-webkit-border-radius:0;border-radius:0;background-color:#ffffff;font-family:inherit;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);color:rgba(0, 0, 0, 0.75);display:block;font-size:0.875rem;margin:0 0 1rem 0;padding:0.5rem;height:2.3125rem;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:-webkit-box-shadow 0.45s,border-color 0.45s ease-in-out;-moz-transition:-moz-box-shadow 0.45s,border-color 0.45s ease-in-out;transition:box-shadow 0.45s,border-color 0.45s ease-in-out;-webkit-transition:all 0.15s linear;-moz-transition:all 0.15s linear;transition:all 0.15s linear;}input[type="text"]:focus ,input[type="password"]:focus ,input[type="date"]:focus ,input[type="datetime"]:focus ,input[type="datetime-local"]:focus ,input[type="month"]:focus ,input[type="week"]:focus ,input[type="email"]:focus ,input[type="number"]:focus ,input[type="search"]:focus ,input[type="tel"]:focus ,input[type="time"]:focus ,input[type="url"]:focus ,textarea:focus {-webkit-box-shadow:0 0 5px #999999;-moz-box-shadow:0 0 5px #999999;box-shadow:0 0 5px #999999;border-color:#999999;}input[type="text"]:focus ,input[type="password"]:focus ,input[type="date"]:focus ,input[type="datetime"]:focus ,input[type="datetime-local"]:focus ,input[type="month"]:focus ,input[type="week"]:focus ,input[type="email"]:focus ,input[type="number"]:focus ,input[type="search"]:focus ,input[type="tel"]:focus ,input[type="time"]:focus ,input[type="url"]:focus ,textarea:focus {background:#fafafa;border-color:#999999;outline:none;}input[type="text"][disabled] ,input[type="password"][disabled] ,input[type="date"][disabled] ,input[type="datetime"][disabled] ,input[type="datetime-local"][disabled] ,input[type="month"][disabled] ,input[type="week"][disabled] ,input[type="email"][disabled] ,input[type="number"][disabled] ,input[type="search"][disabled] ,input[type="tel"][disabled] ,input[type="time"][disabled] ,input[type="url"][disabled] ,textarea[disabled] {background-color:#dddddd;}select {height:2.3125rem;}input[type="file"] ,input[type="checkbox"] ,input[type="radio"] ,select {margin:0 0 1rem 0;}input[type="checkbox"]+label ,input[type="radio"]+label {display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline;}input[type="file"] {width:100%;}fieldset {border:solid 1px #dddddd;padding:1.25rem;margin:1.125rem 0;}fieldset legend {font-weight:bold;background:#ffffff;padding:0 0.1875rem;margin:0;margin-left:-0.1875rem;}[data-abide] .error small.error ,[data-abide] span.error ,[data-abide] small.error {display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#ffffff;}[data-abide] span.error ,[data-abide] small.error {display:none;}span.error ,small.error {display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#ffffff;}.error input ,.error textarea ,.error select {margin-bottom:0;}.error label ,.error label.error {color:#f04124;}.error>small ,.error small.error {display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#ffffff;}.error > label>small {color:#686868;background:transparent;padding:0;text-transform:capitalize;font-style:normal;font-size:60%;margin:0;display:inline;}.error span.error-message {display:block;}input.error ,textarea.error {margin-bottom:0;}label.error {color:#f04124;}.inline-list {margin:0 auto 1.0625rem auto;margin-left:-1.375rem;margin-right:0;padding:0;list-style:none;overflow:hidden;}.inline-list>li {list-style:none;float:left;margin-left:1.375rem;display:block;}.inline-list > li>* {display:block;}.joyride-list {display:none;}.joyride-tip-guide {display:none;position:absolute;background:#333333;color:#ffffff;z-index:101;top:0;left:2.5%;font-family:inherit;font-weight:normal;width:95%;}.lt-ie9 .joyride-tip-guide {max-width:800px;left:50%;margin-left:-400px;}.joyride-content-wrapper {width:100%;padding:1.125rem 1.25rem 1.5rem;}.joyride-content-wrapper .button {margin-bottom:0 !important;}.joyride-tip-guide .joyride-nub {display:block;position:absolute;left:22px;width:0;height:0;border:10px solid #333333;}.joyride-tip-guide .joyride-nub.top {border-top-style:solid;border-color:#333333;border-top-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px;}.joyride-tip-guide .joyride-nub.bottom {border-bottom-style:solid;border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px;}.joyride-tip-guide .joyride-nub.right {right:-20px;}.joyride-tip-guide .joyride-nub.left {left:-20px;}.joyride-tip-guide h1 ,.joyride-tip-guide h2 ,.joyride-tip-guide h3 ,.joyride-tip-guide h4 ,.joyride-tip-guide h5 ,.joyride-tip-guide h6 {line-height:1.25;margin:0;font-weight:bold;color:#ffffff;}.joyride-tip-guide p {margin:0 0 1.125rem 0;font-size:0.875rem;line-height:1.3;}.joyride-timer-indicator-wrap {width:50px;height:3px;border:solid 1px #555555;position:absolute;right:1.0625rem;bottom:1rem;}.joyride-timer-indicator {display:block;width:0;height:inherit;background:#666666;}.joyride-close-tip {position:absolute;right:12px;top:10px;color:#777777 !important;text-decoration:none;font-size:24px;font-weight:normal;line-height:0.5 !important;}.joyride-close-tip:hover ,.joyride-close-tip:focus {color:#eeeeee !important;}.joyride-modal-bg {position:fixed;height:100%;width:100%;background:transparent;background:rgba(0, 0, 0, 0.5);z-index:100;display:none;top:0;left:0;cursor:pointer;}.joyride-expose-wrapper {background-color:#ffffff;position:absolute;border-radius:3px;z-index:102;-moz-box-shadow:0 0 30px #ffffff;-webkit-box-shadow:0 0 15px #ffffff;box-shadow:0 0 15px #ffffff;}.joyride-expose-cover {background:transparent;border-radius:3px;position:absolute;z-index:9999;top:0;left:0;}@media only screen and (min-width:40.063em){.joyride-tip-guide {width:300px;left:inherit;}.joyride-tip-guide .joyride-nub.bottom {border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px;}.joyride-tip-guide .joyride-nub.right {border-color:#333333 !important;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:auto;right:-20px;}.joyride-tip-guide .joyride-nub.left {border-color:#333333 !important;border-top-color:transparent !important;border-left-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:-20px;right:auto;}}.keystroke ,kbd {background-color:#ededed;border-color:#dcdcdc;color:#222222;border-style:solid;border-width:1px;margin:0;font-family:"Consolas","Menlo","Courier",monospace;font-size:0.875rem;padding:0.125rem 0.25rem 0;-webkit-border-radius:3px;border-radius:3px;}.label {font-weight:normal;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;text-align:center;text-decoration:none;line-height:1;white-space:nowrap;display:inline-block;position:relative;margin-bottom:inherit;padding:0.25rem 0.5rem 0.375rem;font-size:0.6875rem;background-color:#008cba;color:#ffffff;}.label.radius {-webkit-border-radius:3px;border-radius:3px;}.label.round {-webkit-border-radius:1000px;border-radius:1000px;}.label.alert {background-color:#f04124;color:#ffffff;}.label.success {background-color:#43ac6a;color:#ffffff;}.label.secondary {background-color:#e7e7e7;color:#333333;}[data-magellan-expedition] {background:#ffffff;z-index:50;min-width:100%;padding:10px;}[data-magellan-expedition] .sub-nav {margin-bottom:0;}[data-magellan-expedition] .sub-nav dd {margin-bottom:0;}[data-magellan-expedition] .sub-nav .active {line-height:1.8em;}@-webkit-keyframes rotate {from {-webkit-transform:rotate(0deg);}to {-webkit-transform:rotate(360deg);}}@-moz-keyframes rotate {from {-moz-transform:rotate(0deg);}to {-moz-transform:rotate(360deg);}}@-o-keyframes rotate {from {-o-transform:rotate(0deg);}to {-o-transform:rotate(360deg);}}@keyframes rotate {from {transform:rotate(0deg);}to {transform:rotate(360deg);}}.slideshow-wrapper {position:relative;}.slideshow-wrapper ul {list-style-type:none;margin:0;}.slideshow-wrapper ul li ,.slideshow-wrapper ul li .orbit-caption {display:none;}.slideshow-wrapper ul li:first-child {display:block;}.slideshow-wrapper .orbit-container {background-color:transparent;}.slideshow-wrapper .orbit-container li {display:block;}.slideshow-wrapper .orbit-container li .orbit-caption {display:block;}.preloader {display:block;width:40px;height:40px;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px;border:solid 3px;border-color:#555555 #ffffff;-webkit-border-radius:1000px;border-radius:1000px;-webkit-animation-name:rotate;-webkit-animation-duration:1.5s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-moz-animation-name:rotate;-moz-animation-duration:1.5s;-moz-animation-iteration-count:infinite;-moz-animation-timing-function:linear;-o-animation-name:rotate;-o-animation-duration:1.5s;-o-animation-iteration-count:infinite;-o-animation-timing-function:linear;animation-name:rotate;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:linear;}.orbit-container {overflow:hidden;width:100%;position:relative;background:none;}.orbit-container .orbit-slides-container {list-style:none;margin:0;padding:0;position:relative;}.orbit-container .orbit-slides-container img {display:block;max-width:100%;}.orbit-container .orbit-slides-container>* {position:absolute;top:0;width:100%;margin-left:100%;}.orbit-container .orbit-slides-container > *:first-child {margin-left:0%;}.orbit-container .orbit-slides-container > * .orbit-caption {position:absolute;bottom:0;background-color:rgba(51, 51, 51, 0.8);color:#ffffff;width:100%;padding:0.625rem 0.875rem;font-size:0.875rem;}.orbit-container .orbit-slide-number {position:absolute;top:10px;left:10px;font-size:12px;color:#ffffff;background:rgba(0, 0, 0, 0);z-index:10;}.orbit-container .orbit-slide-number span {font-weight:700;padding:0.3125rem;}.orbit-container .orbit-timer {position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10;}.orbit-container .orbit-timer .orbit-progress {height:3px;background-color:rgba(255, 255, 255, 0.3);display:block;width:0%;position:relative;right:20px;top:5px;}.orbit-container .orbit-timer>span {display:none;position:absolute;top:0px;right:0;width:11px;height:14px;border:solid 4px #ffffff;border-top:none;border-bottom:none;}.orbit-container .orbit-timer.paused>span {right:-4px;top:0px;width:11px;height:14px;border:inset 8px;border-right-style:solid;border-color:transparent transparent transparent #ffffff;}.orbit-container .orbit-timer.paused > span.dark {border-color:transparent transparent transparent #333333;}.orbit-container:hover .orbit-timer>span {display:block;}.orbit-container .orbit-prev ,.orbit-container .orbit-next {position:absolute;top:45%;margin-top:-25px;width:36px;height:60px;line-height:50px;color:white;background-color:none;text-indent:-9999px !important;z-index:10;}.orbit-container .orbit-prev:hover ,.orbit-container .orbit-next:hover {background-color:rgba(0, 0, 0, 0.3);}.orbit-container .orbit-prev>span ,.orbit-container .orbit-next>span {position:absolute;top:50%;margin-top:-10px;display:block;width:0;height:0;border:inset 10px;}.orbit-container .orbit-prev {left:0;}.orbit-container .orbit-prev>span {border-right-style:solid;border-color:transparent;border-right-color:#ffffff;}.orbit-container .orbit-prev:hover>span {border-right-color:#ffffff;}.orbit-container .orbit-next {right:0;}.orbit-container .orbit-next>span {border-color:transparent;border-left-style:solid;border-left-color:#ffffff;left:50%;margin-left:-4px;}.orbit-container .orbit-next:hover>span {border-left-color:#ffffff;}.orbit-bullets-container {text-align:center;}.orbit-bullets {margin:0 auto 30px auto;overflow:hidden;position:relative;top:10px;float:none;text-align:center;display:block;}.orbit-bullets li {display:inline-block;width:0.5625rem;height:0.5625rem;background:#cccccc;float:none;margin-right:6px;-webkit-border-radius:1000px;border-radius:1000px;}.orbit-bullets li.active {background:#999999;}.orbit-bullets li:last-child {margin-right:0;}.touch .orbit-container .orbit-prev ,.touch .orbit-container .orbit-next {display:none;}.touch .orbit-bullets {display:none;}@media only screen and (min-width:40.063em){.touch .orbit-container .orbit-prev ,.touch .orbit-container .orbit-next {display:inherit;}.touch .orbit-bullets {display:block;}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container {height:auto !important;}.orbit-stack-on-small .orbit-slides-container>* {position:relative;margin-left:0% !important;}.orbit-stack-on-small .orbit-timer ,.orbit-stack-on-small .orbit-next ,.orbit-stack-on-small .orbit-prev ,.orbit-stack-on-small .orbit-bullets {display:none;}}ul.pagination {display:block;height:1.5rem;margin-left:-0.3125rem;}ul.pagination li {height:1.5rem;color:#222222;font-size:0.875rem;margin-left:0.3125rem;}ul.pagination li a {display:block;padding:0.0625rem 0.625rem 0.0625rem;color:#999999;-webkit-border-radius:3px;border-radius:3px;}ul.pagination li:hover a ,ul.pagination li a:focus {background:#e6e6e6;}ul.pagination li.unavailable a {cursor:default;color:#999999;}ul.pagination li.unavailable:hover a ,ul.pagination li.unavailable a:focus {background:transparent;}ul.pagination li.current a {background:#008cba;color:#ffffff;font-weight:bold;cursor:default;}ul.pagination li.current a:hover ,ul.pagination li.current a:focus {background:#008cba;}ul.pagination li {float:left;display:block;}.pagination-centered {text-align:center;}.pagination-centered ul.pagination li {float:none;display:inline-block;}.panel {border-style:solid;border-width:1px;border-color:#d7d7d7;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;}.panel>:first-child {margin-top:0;}.panel>:last-child {margin-bottom:0;}.panel h1 ,.panel h2 ,.panel h3 ,.panel h4 ,.panel h5 ,.panel h6 ,.panel p {color:#333333;}.panel h1 ,.panel h2 ,.panel h3 ,.panel h4 ,.panel h5 ,.panel h6 {line-height:1;margin-bottom:0.625rem;}.panel h1.subheader ,.panel h2.subheader ,.panel h3.subheader ,.panel h4.subheader ,.panel h5.subheader ,.panel h6.subheader {line-height:1.4;}.panel.callout {border-style:solid;border-width:1px;border-color:#b6edff;margin-bottom:1.25rem;padding:1.25rem;background:#ecfaff;}.panel.callout>:first-child {margin-top:0;}.panel.callout>:last-child {margin-bottom:0;}.panel.callout h1 ,.panel.callout h2 ,.panel.callout h3 ,.panel.callout h4 ,.panel.callout h5 ,.panel.callout h6 ,.panel.callout p {color:#333333;}.panel.callout h1 ,.panel.callout h2 ,.panel.callout h3 ,.panel.callout h4 ,.panel.callout h5 ,.panel.callout h6 {line-height:1;margin-bottom:0.625rem;}.panel.callout h1.subheader ,.panel.callout h2.subheader ,.panel.callout h3.subheader ,.panel.callout h4.subheader ,.panel.callout h5.subheader ,.panel.callout h6.subheader {line-height:1.4;}.panel.callout a {color:#008cba;}.panel.radius {-webkit-border-radius:3px;border-radius:3px;}.pricing-table {border:solid 1px #dddddd;margin-left:0;margin-bottom:1.25rem;}.pricing-table * {list-style:none;line-height:1;}.pricing-table .title {background-color:#333333;padding:0.9375rem 1.25rem;text-align:center;color:#eeeeee;font-weight:normal;font-size:1rem;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;}.pricing-table .price {background-color:#f6f6f6;padding:0.9375rem 1.25rem;text-align:center;color:#333333;font-weight:normal;font-size:2rem;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;}.pricing-table .description {background-color:#ffffff;padding:0.9375rem;text-align:center;color:#777777;font-size:0.75rem;font-weight:normal;line-height:1.4;border-bottom:dotted 1px #dddddd;}.pricing-table .bullet-item {background-color:#ffffff;padding:0.9375rem;text-align:center;color:#333333;font-size:0.875rem;font-weight:normal;border-bottom:dotted 1px #dddddd;}.pricing-table .cta-button {background-color:#ffffff;text-align:center;padding:1.25rem 1.25rem 0;}.progress {background-color:#f6f6f6;height:1.5625rem;border:1px solid #ffffff;padding:0.125rem;margin-bottom:0.625rem;}.progress .meter {background:#008cba;height:100%;display:block;}.progress.secondary .meter {background:#e7e7e7;height:100%;display:block;}.progress.success .meter {background:#43ac6a;height:100%;display:block;}.progress.alert .meter {background:#f04124;height:100%;display:block;}.progress.radius {-webkit-border-radius:3px;border-radius:3px;}.progress.radius .meter {-webkit-border-radius:2px;border-radius:2px;}.progress.round {-webkit-border-radius:1000px;border-radius:1000px;}.progress.round .meter {-webkit-border-radius:999px;border-radius:999px;}.reveal-modal-bg {position:fixed;height:100%;width:100%;background:#000000;background:rgba(0, 0, 0, 0.45);z-index:98;display:none;top:0;left:0;}.reveal-modal {visibility:hidden;display:none;position:absolute;left:50%;z-index:99;height:auto;margin-left:-40%;width:80%;background-color:#ffffff;padding:1.25rem;border:solid 1px #666666;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);top:6.25rem;}.reveal-modal .column ,.reveal-modal .columns {min-width:0;}.reveal-modal>:first-child {margin-top:0;}.reveal-modal>:last-child {margin-bottom:0;}.reveal-modal .close-reveal-modal {font-size:1.375rem;line-height:1;position:absolute;top:0.5rem;right:0.6875rem;color:#aaaaaa;font-weight:bold;cursor:pointer;}@media only screen and (min-width:40.063em){.reveal-modal {padding:1.875rem;top:6.25rem;}.reveal-modal.tiny {margin-left:-15%;width:30%;}.reveal-modal.small {margin-left:-20%;width:40%;}.reveal-modal.medium {margin-left:-30%;width:60%;}.reveal-modal.large {margin-left:-35%;width:70%;}.reveal-modal.xlarge {margin-left:-47.5%;width:95%;}}@media print{.reveal-modal {background:#ffffff !important;}}.side-nav {display:block;margin:0;padding:0.875rem 0;list-style-type:none;list-style-position:inside;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;}.side-nav li {margin:0 0 0.4375rem 0;font-size:0.875rem;}.side-nav li a {display:block;color:#008cba;}.side-nav li.active>a:first-child {color:#4d4d4d;font-weight:normal;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;}.side-nav li.divider {border-top:1px solid;height:0;padding:0;list-style:none;border-top-color:#ffffff;}.split.button {position:relative;padding-right:5.0625rem;}.split.button span {display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px;}.split.button span:before {position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%;}.split.button span:active {background-color:rgba(0, 0, 0, 0.1);}.split.button span {border-left-color:rgba(255, 255, 255, 0.5);}.split.button span {width:3.09375rem;}.split.button span:before {border-top-style:solid;border-width:0.375rem;top:48%;margin-left:-0.375rem;}.split.button span:before {border-color:#ffffff transparent transparent transparent;}.split.button.secondary span {border-left-color:rgba(255, 255, 255, 0.5);}.split.button.secondary span:before {border-color:#ffffff transparent transparent transparent;}.split.button.alert span {border-left-color:rgba(255, 255, 255, 0.5);}.split.button.success span {border-left-color:rgba(255, 255, 255, 0.5);}.split.button.tiny {padding-right:3.75rem;}.split.button.tiny span {width:2.25rem;}.split.button.tiny span:before {border-top-style:solid;border-width:0.375rem;top:48%;margin-left:-0.375rem;}.split.button.small {padding-right:4.375rem;}.split.button.small span {width:2.625rem;}.split.button.small span:before {border-top-style:solid;border-width:0.4375rem;top:48%;margin-left:-0.375rem;}.split.button.large {padding-right:5.5rem;}.split.button.large span {width:3.4375rem;}.split.button.large span:before {border-top-style:solid;border-width:0.3125rem;top:48%;margin-left:-0.375rem;}.split.button.expand {padding-left:2rem;}.split.button.secondary span:before {border-color:#333333 transparent transparent transparent;}.split.button.radius span {-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}.split.button.round span {-moz-border-radius-topright:1000px;-moz-border-radius-bottomright:1000px;-webkit-border-top-right-radius:1000px;-webkit-border-bottom-right-radius:1000px;border-top-right-radius:1000px;border-bottom-right-radius:1000px;}.sub-nav {display:block;width:auto;overflow:hidden;margin:-0.25rem 0 1.125rem;padding-top:0.25rem;margin-right:0;margin-left:-0.75rem;}.sub-nav dt {text-transform:uppercase;}.sub-nav dt ,.sub-nav dd ,.sub-nav li {float:left;display:inline;margin-left:1rem;margin-bottom:0.625rem;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-weight:normal;font-size:0.875rem;color:#999999;}.sub-nav dt a ,.sub-nav dd a ,.sub-nav li a {text-decoration:none;color:#999999;}.sub-nav dt a:hover ,.sub-nav dd a:hover ,.sub-nav li a:hover {color:#0087b1;}.sub-nav dt.active a ,.sub-nav dd.active a ,.sub-nav li.active a {-webkit-border-radius:3px;border-radius:3px;font-weight:normal;background:#008cba;padding:0.1875rem 1rem;cursor:default;color:#ffffff;}.sub-nav dt.active a:hover ,.sub-nav dd.active a:hover ,.sub-nav li.active a:hover {background:#0087b1;}div.switch {position:relative;padding:0;display:block;overflow:hidden;border-style:solid;border-width:1px;margin-bottom:1.25rem;height:2.25rem;background:#ffffff;border-color:#cccccc;}div.switch label {position:relative;left:0;z-index:2;float:left;width:50%;height:100%;margin:0;font-weight:bold;text-align:left;-webkit-transition:all 0.1s ease-out;-moz-transition:all 0.1s ease-out;transition:all 0.1s ease-out;}div.switch input {position:absolute;z-index:3;opacity:0;width:100%;height:100%;-moz-appearance:none;}div.switch input:hover ,div.switch input:focus {cursor:pointer;}div.switch span:last-child {position:absolute;top:-1px;left:-1px;z-index:1;display:block;padding:0;border-width:1px;border-style:solid;-webkit-transition:all 0.1s ease-out;-moz-transition:all 0.1s ease-out;transition:all 0.1s ease-out;}div.switch input:not(:checked)+label {opacity:0;}div.switch input:checked {display:none !important;}div.switch input {left:0;display:block !important;}div.switch input:first-of-type+label ,div.switch input:first-of-type+span+label {left:-50%;}div.switch input:first-of-type:checked+label ,div.switch input:first-of-type:checked+span+label {left:0%;}div.switch input:last-of-type+label ,div.switch input:last-of-type+span+label {right:-50%;left:auto;text-align:right;}div.switch input:last-of-type:checked+label ,div.switch input:last-of-type:checked+span+label {right:0%;left:auto;}div.switch span.custom {display:none !important;}form.custom div.switch .hidden-field {margin-left:auto;position:absolute;visibility:visible;}div.switch label {padding:0;line-height:2.3rem;font-size:0.875rem;}div.switch input:first-of-type:checked~span:last-child {left:100%;margin-left:-2.1875rem;}div.switch span:last-child {width:2.25rem;height:2.25rem;}div.switch span:last-child {border-color:#b3b3b3;background:#ffffff;background:-moz-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);background:-webkit-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);background:linear-gradient(to bottom, #ffffff 0%, #f2f2f2 100%);-webkit-box-shadow:2px 0 10px 0 rgba(0, 0, 0, 0.07),1000px 0 0 1000px #f3faf6,-2px 0 10px 0 rgba(0, 0, 0, 0.07),-1000px 0 0 1000px #f5f5f5;box-shadow:2px 0 10px 0 rgba(0, 0, 0, 0.07),1000px 0 0 980px #f3faf6,-2px 0 10px 0 rgba(0, 0, 0, 0.07),-1000px 0 0 1000px #f5f5f5;}div.switch:hover span:last-child ,div.switch:focus span:last-child {background:#ffffff;background:-moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);background:-webkit-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);background:linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);}div.switch:active {background:transparent;}div.switch.large {height:2.75rem;}div.switch.large label {padding:0;line-height:2.3rem;font-size:1.0625rem;}div.switch.large input:first-of-type:checked~span:last-child {left:100%;margin-left:-2.6875rem;}div.switch.large span:last-child {width:2.75rem;height:2.75rem;}div.switch.small {height:1.75rem;}div.switch.small label {padding:0;line-height:2.1rem;font-size:0.75rem;}div.switch.small input:first-of-type:checked~span:last-child {left:100%;margin-left:-1.6875rem;}div.switch.small span:last-child {width:1.75rem;height:1.75rem;}div.switch.tiny {height:1.375rem;}div.switch.tiny label {padding:0;line-height:1.9rem;font-size:0.6875rem;}div.switch.tiny input:first-of-type:checked~span:last-child {left:100%;margin-left:-1.3125rem;}div.switch.tiny span:last-child {width:1.375rem;height:1.375rem;}div.switch.radius {-webkit-border-radius:4px;border-radius:4px;}div.switch.radius span:last-child {-webkit-border-radius:3px;border-radius:3px;}div.switch.round {-webkit-border-radius:1000px;border-radius:1000px;}div.switch.round span:last-child {-webkit-border-radius:999px;border-radius:999px;}div.switch.round label {padding:0 0.5625rem;}@-webkit-keyframes webkitSiblingBugfix {from {position:relative;}to {position:relative;}}table {background:#ffffff;margin-bottom:1.25rem;border:solid 1px #dddddd;}table thead ,table tfoot {background:#f5f5f5;}table thead tr th ,table thead tr td ,table tfoot tr th ,table tfoot tr td {padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222;text-align:left;}table tr th ,table tr td {padding:0.5625rem 0.625rem;font-size:0.875rem;color:#222222;}table tr.even ,table tr.alt ,table tr:nth-of-type(even) {background:#f9f9f9;}table thead tr th ,table tfoot tr th ,table tbody tr td ,table tr td ,table tfoot tr td {display:table-cell;line-height:1.125rem;}.tabs {*zoom:1;margin-bottom:0 !important;}.tabs:before ,.tabs:after {content:" ";display:table;}.tabs:after {clear:both;}.tabs dd {position:relative;margin-bottom:0 !important;top:1px;float:left;}.tabs dd>a {display:block;background:#efefef;color:#222222;padding-top:1rem;padding-right:2rem;padding-bottom:1.0625rem;padding-left:2rem;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-size:1rem;}.tabs dd > a:hover {background:#e1e1e1;}.tabs dd.active a {background:#ffffff;}.tabs.radius dd:first-child a {-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px;}.tabs.radius dd:last-child a {-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}.tabs.vertical dd {position:inherit;float:none;display:block;top:auto;}.tabs-content {*zoom:1;margin-bottom:1.5rem;}.tabs-content:before ,.tabs-content:after {content:" ";display:table;}.tabs-content:after {clear:both;}.tabs-content>.content {display:none;float:left;padding:0.9375rem 0;}.tabs-content > .content.active {display:block;}.tabs-content > .content.contained {padding:0.9375rem;}.tabs-content.vertical {display:block;}.tabs-content.vertical>.content {padding:0 0.9375rem;}@media only screen and (min-width:40.063em){.tabs.vertical {width:20%;float:left;margin-bottom:1.25rem;}.tabs-content.vertical {width:80%;float:left;margin-left:-1px;}}.th {line-height:0;display:inline-block;border:solid 4px #ffffff;max-width:100%;-webkit-box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);-webkit-transition:all 200ms ease-out;-moz-transition:all 200ms ease-out;transition:all 200ms ease-out;}.th:hover ,.th:focus {-webkit-box-shadow:0 0 6px 1px rgba(0, 140, 186, 0.5);box-shadow:0 0 6px 1px rgba(0, 140, 186, 0.5);}.th.radius {-webkit-border-radius:3px;border-radius:3px;}.has-tip {border-bottom:dotted 1px #cccccc;cursor:help;font-weight:bold;color:#333333;}.has-tip:hover ,.has-tip:focus {border-bottom:dotted 1px #004054;color:#008cba;}.has-tip.tip-left ,.has-tip.tip-right {float:none !important;}.tooltip {display:none;position:absolute;z-index:999;font-weight:normal;font-size:0.875rem;line-height:1.3;padding:0.75rem;max-width:85%;left:50%;width:100%;color:#ffffff;background:#333333;-webkit-border-radius:3px;border-radius:3px;}.tooltip>.nub {display:block;left:5px;position:absolute;width:0;height:0;border:solid 5px;border-color:transparent transparent #333333 transparent;top:-10px;}.tooltip.opened {color:#008cba !important;border-bottom:dotted 1px #004054 !important;}.tap-to-close {display:block;font-size:0.625rem;color:#777777;font-weight:normal;}@media only screen and (min-width:40.063em){.tooltip>.nub {border-color:transparent transparent #333333 transparent;top:-10px;}.tooltip.tip-top>.nub {border-color:#333333 transparent transparent transparent;top:auto;bottom:-10px;}.tooltip.tip-left ,.tooltip.tip-right {float:none !important;}.tooltip.tip-left>.nub {border-color:transparent transparent transparent #333333;right:-10px;left:auto;top:50%;margin-top:-5px;}.tooltip.tip-right>.nub {border-color:transparent #333333 transparent transparent;right:auto;left:-10px;top:50%;margin-top:-5px;}}meta.foundation-mq-topbar {font-family:"/only screen and (min-width:40.063em)/";width:40.063em;}.contain-to-grid {width:100%;background:#333333;}.contain-to-grid .top-bar {margin-bottom:0;}.fixed {width:100%;left:0;position:fixed;top:0;z-index:99;}.fixed.expanded:not(.top-bar) {overflow-y:auto;height:auto;width:100%;max-height:100%;}.fixed.expanded:not(.top-bar) .title-area {position:fixed;width:100%;z-index:99;}.fixed.expanded:not(.top-bar) .top-bar-section {z-index:98;margin-top:45px;}.top-bar {overflow:hidden;height:45px;line-height:45px;position:relative;background:#333333;margin-bottom:0;}.top-bar ul {margin-bottom:0;list-style:none;}.top-bar .row {max-width:none;}.top-bar form ,.top-bar input {margin-bottom:0;}.top-bar input {height:auto;padding-top:0.35rem;padding-bottom:0.35rem;font-size:0.75rem;}.top-bar .button {padding-top:0.45rem;padding-bottom:0.35rem;margin-bottom:0;font-size:0.75rem;}.top-bar .title-area {position:relative;margin:0;}.top-bar .name {height:45px;margin:0;font-size:16px;}.top-bar .name h1 {line-height:45px;font-size:1.0625rem;margin:0;}.top-bar .name h1 a {font-weight:normal;color:#ffffff;width:50%;display:block;padding:0 15px;}.top-bar .toggle-topbar {position:absolute;right:0;top:0;}.top-bar .toggle-topbar a {color:#ffffff;text-transform:uppercase;font-size:0.8125rem;font-weight:bold;position:relative;display:block;padding:0 15px;height:45px;line-height:45px;}.top-bar .toggle-topbar.menu-icon {right:15px;top:50%;margin-top:-16px;padding-left:40px;}.top-bar .toggle-topbar.menu-icon a {height:34px;line-height:33px;padding:0;padding-right:25px;color:#ffffff;position:relative;}.top-bar .toggle-topbar.menu-icon a::after {content:"";position:absolute;right:0;display:block;width:16px;top:0;height:0;-webkit-box-shadow:0 10px 0 1px #ffffff,0 16px 0 1px #ffffff,0 22px 0 1px #ffffff;box-shadow:0 10px 0 1px #ffffff,0 16px 0 1px #ffffff,0 22px 0 1px #ffffff;}.top-bar.expanded {height:auto;background:transparent;}.top-bar.expanded .title-area {background:#333333;}.top-bar.expanded .toggle-topbar a {color:#888888;}.top-bar.expanded .toggle-topbar a span {-webkit-box-shadow:0 10px 0 1px #888888,0 16px 0 1px #888888,0 22px 0 1px #888888;box-shadow:0 10px 0 1px #888888,0 16px 0 1px #888888,0 22px 0 1px #888888;}.top-bar-section {left:0;position:relative;width:auto;-webkit-transition:left 300ms ease-out;-moz-transition:left 300ms ease-out;transition:left 300ms ease-out;}.top-bar-section ul {width:100%;height:auto;display:block;background:#333333;font-size:16px;margin:0;}.top-bar-section .divider ,.top-bar-section [role="separator"] {border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%;}.top-bar-section ul li>a {display:block;width:100%;color:#ffffff;padding:12px 0 12px 0;padding-left:15px;font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;background:#333333;}.top-bar-section ul li > a.button {background:#008cba;font-size:0.8125rem;padding-right:15px;padding-left:15px;}.top-bar-section ul li > a.button:hover {background:#006888;}.top-bar-section ul li > a.button.secondary {background:#e7e7e7;}.top-bar-section ul li > a.button.secondary:hover {background:#cecece;}.top-bar-section ul li > a.button.success {background:#43ac6a;}.top-bar-section ul li > a.button.success:hover {background:#358853;}.top-bar-section ul li > a.button.alert {background:#f04124;}.top-bar-section ul li > a.button.alert:hover {background:#d4290f;}.top-bar-section ul li:hover>a {background:#272727;color:#ffffff;}.top-bar-section ul li.active>a {background:#008cba;color:#ffffff;}.top-bar-section ul li.active > a:hover {background:#007ba0;}.top-bar-section .has-form {padding:15px;}.top-bar-section .has-dropdown {position:relative;}.top-bar-section .has-dropdown > a:after {content:"";display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent rgba(255, 255, 255, 0.4);border-left-style:solid;margin-right:15px;margin-top:-4.5px;position:absolute;top:50%;right:0;}.top-bar-section .has-dropdown.moved {position:static;}.top-bar-section .has-dropdown.moved>.dropdown {display:block;}.top-bar-section .dropdown {position:absolute;left:100%;top:0;display:none;z-index:99;}.top-bar-section .dropdown li {width:100%;height:auto;}.top-bar-section .dropdown li a {font-weight:normal;padding:8px 15px;}.top-bar-section .dropdown li a.parent-link {font-weight:normal;}.top-bar-section .dropdown li.title h5 {margin-bottom:0;}.top-bar-section .dropdown li.title h5 a {color:#ffffff;line-height:22.5px;display:block;}.top-bar-section .dropdown li.has-form {padding:8px 15px;}.top-bar-section .dropdown li .button {top:auto;}.top-bar-section .dropdown label {padding:8px 15px 2px;margin-bottom:0;text-transform:uppercase;color:#777777;font-weight:bold;font-size:0.625rem;}.js-generated {display:block;}@media only screen and (min-width:40.063em){.top-bar {background:#333333;*zoom:1;overflow:visible;}.top-bar:before ,.top-bar:after {content:" ";display:table;}.top-bar:after {clear:both;}.top-bar .toggle-topbar {display:none;}.top-bar .title-area {float:left;}.top-bar .name h1 a {width:auto;}.top-bar input ,.top-bar .button {font-size:0.875rem;position:relative;top:7px;}.top-bar.expanded {background:#333333;}.contain-to-grid .top-bar {max-width:62.5rem;margin:0 auto;margin-bottom:0;}.top-bar-section {-webkit-transition:none 0 0;-moz-transition:none 0 0;transition:none 0 0;left:0 !important;}.top-bar-section ul {width:auto;height:auto !important;display:inline;}.top-bar-section ul li {float:left;}.top-bar-section ul li .js-generated {display:none;}.top-bar-section li.hover>a:not(.button) {background:#272727;color:#ffffff;}.top-bar-section li:not(.has-form) a:not(.button) {padding:0 15px;line-height:45px;background:#333333;}.top-bar-section li:not(.has-form) a:not(.button):hover {background:#272727;}.top-bar-section .has-dropdown>a {padding-right:35px !important;}.top-bar-section .has-dropdown > a:after {content:"";display:block;width:0;height:0;border:inset 5px;border-color:rgba(255, 255, 255, 0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:22.5px;}.top-bar-section .has-dropdown.moved {position:relative;}.top-bar-section .has-dropdown.moved>.dropdown {display:none;}.top-bar-section .has-dropdown.hover>.dropdown ,.top-bar-section .has-dropdown.not-click:hover>.dropdown {display:block;}.top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {border:none;content:"\00bb";top:1rem;margin-top:-2px;right:5px;line-height:1.2;}.top-bar-section .dropdown {left:0;top:auto;background:transparent;min-width:100%;}.top-bar-section .dropdown li a {color:#ffffff;line-height:1;white-space:nowrap;padding:12px 15px;background:#333333;}.top-bar-section .dropdown li label {white-space:nowrap;background:#333333;}.top-bar-section .dropdown li .dropdown {left:100%;top:0;}.top-bar-section>ul>.divider ,.top-bar-section>ul>[role="separator"] {border-bottom:none;border-top:none;border-right:solid 1px #4e4e4e;clear:none;height:45px;width:0;}.top-bar-section .has-form {background:#333333;padding:0 15px;height:45px;}.top-bar-section .right li .dropdown {left:auto;right:0;}.top-bar-section .right li .dropdown li .dropdown {right:100%;}.top-bar-section .left li .dropdown {right:auto;left:0;}.top-bar-section .left li .dropdown li .dropdown {left:100%;}.no-js .top-bar-section ul li:hover>a {background:#272727;color:#ffffff;}.no-js .top-bar-section ul li:active>a {background:#008cba;color:#ffffff;}.no-js .top-bar-section .has-dropdown:hover>.dropdown {display:block;}}div ,dl ,dt ,dd ,ul ,ol ,li ,h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,pre ,form ,p ,blockquote ,th ,td {margin:0;padding:0;}a {color:#008cba;text-decoration:none;line-height:inherit;}a:hover ,a:focus {color:#007ba0;}a img {border:none;}p {font-family:inherit;font-weight:normal;font-size:1rem;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility;}p.lead {font-size:1.21875rem;line-height:1.6;}p aside {font-size:0.875rem;line-height:1.35;font-style:italic;}h1 ,h2 ,h3 ,h4 ,h5 ,h6 {font-family:"Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;font-weight:300;font-style:normal;color:#222222;text-rendering:optimizeLegibility;margin-top:0.2rem;margin-bottom:0.5rem;line-height:1.4;}h1 small ,h2 small ,h3 small ,h4 small ,h5 small ,h6 small {font-size:60%;color:#6f6f6f;line-height:0;}h1 {font-size:2.125rem;}h2 {font-size:1.6875rem;}h3 {font-size:1.375rem;}h4 {font-size:1.125rem;}h5 {font-size:1.125rem;}h6 {font-size:1rem;}.subheader {line-height:1.4;color:#6f6f6f;font-weight:300;margin-top:0.2rem;margin-bottom:0.5rem;}hr {border:solid #dddddd;border-width:1px 0 0;clear:both;margin:1.25rem 0 1.1875rem;height:0;}em ,i {font-style:italic;line-height:inherit;}strong ,b {font-weight:bold;line-height:inherit;}small {font-size:60%;line-height:inherit;}code {font-family:Consolas,'Liberation Mono',Courier,monospace;font-weight:bold;color:#bd240d;}ul ,ol ,dl {font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit;}ul {margin-left:1.1rem;}ul.no-bullet {margin-left:0;}ul.no-bullet li ul ,ul.no-bullet li ol {margin-left:1.25rem;margin-bottom:0;list-style:none;}ul li ul ,ul li ol {margin-left:1.25rem;margin-bottom:0;font-size:1rem;}ul.square li ul ,ul.circle li ul ,ul.disc li ul {list-style:inherit;}ul.square {list-style-type:square;margin-left:1.1rem;}ul.circle {list-style-type:circle;margin-left:1.1rem;}ul.disc {list-style-type:disc;margin-left:1.1rem;}ul.no-bullet {list-style:none;}ol {margin-left:1.4rem;}ol li ul ,ol li ol {margin-left:1.25rem;margin-bottom:0;}dl dt {margin-bottom:0.3rem;font-weight:bold;}dl dd {margin-bottom:0.75rem;}abbr ,acronym {text-transform:uppercase;font-size:90%;color:#222222;border-bottom:1px dotted #dddddd;cursor:help;}abbr {text-transform:none;}blockquote {margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #dddddd;}blockquote cite {display:block;font-size:0.8125rem;color:#555555;}blockquote cite:before {content:"\2014 \0020";}blockquote cite a ,blockquote cite a:visited {color:#555555;}blockquote ,blockquote p {line-height:1.6;color:#6f6f6f;}.vcard {display:inline-block;margin:0 0 1.25rem 0;border:1px solid #dddddd;padding:0.625rem 0.75rem;}.vcard li {margin:0;display:block;}.vcard .fn {font-weight:bold;font-size:0.9375rem;}.vevent .summary {font-weight:bold;}.vevent abbr {cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem;}@media only screen and (min-width:40.063em){h1 ,h2 ,h3 ,h4 ,h5 ,h6 {line-height:1.4;}h1 {font-size:2.75rem;}h2 {font-size:2.3125rem;}h3 {font-size:1.6875rem;}h4 {font-size:1.4375rem;}}.print-only {display:none !important;}@media print{@page{margin:0.5cm;}* {background:transparent !important;color:#000000 !important;box-shadow:none !important;text-shadow:none !important;}a ,a:visited {text-decoration:underline;}a[href]:after {content:" (" attr(href) ")";}abbr[title]:after {content:" (" attr(title) ")";}.ir a:after ,a[href^="javascript:"]:after ,a[href^="#"]:after {content:"";}pre ,blockquote {border:1px solid #999999;page-break-inside:avoid;}thead {display:table-header-group;}tr ,img {page-break-inside:avoid;}img {max-width:100% !important;}p ,h2 ,h3 {orphans:3;widows:3;}h2 ,h3 {page-break-after:avoid;}.hide-on-print {display:none !important;}.print-only {display:block !important;}.hide-for-print {display:none !important;}.show-for-print {display:inherit !important;}}.off-canvas-wrap {-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden;}.inner-wrap {-webkit-backface-visibility:hidden;position:relative;width:100%;*zoom:1;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease;}.inner-wrap:before ,.inner-wrap:after {content:" ";display:table;}.inner-wrap:after {clear:both;}nav.tab-bar {-webkit-backface-visibility:hidden;background:#333333;color:#ffffff;height:2.8125rem;line-height:2.8125rem;position:relative;}nav.tab-bar h1 ,nav.tab-bar h2 ,nav.tab-bar h3 ,nav.tab-bar h4 ,nav.tab-bar h5 ,nav.tab-bar h6 {color:#ffffff;font-weight:bold;line-height:2.8125rem;margin:0;}nav.tab-bar h1 ,nav.tab-bar h2 ,nav.tab-bar h3 ,nav.tab-bar h4 {font-size:1.125rem;}section.left-small {width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-right:solid 1px #1a1a1a;box-shadow:1px 0 0 #4e4e4e;left:0;}section.right-small {width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-left:solid 1px #4e4e4e;box-shadow:-1px 0 0 #1a1a1a;right:0;}section.tab-bar-section {padding:0 0.625rem;position:absolute;text-align:center;height:2.8125rem;top:0;}@media only screen and (min-width:40.063em){section.tab-bar-section {text-align:left;}}section.tab-bar-section.left {left:0;right:2.8125rem;}section.tab-bar-section.right {left:2.8125rem;right:0;}section.tab-bar-section.middle {left:2.8125rem;right:2.8125rem;}a.menu-icon {text-indent:2.1875rem;width:2.8125rem;height:2.8125rem;display:block;line-height:2.0625rem;padding:0;color:#ffffff;position:relative;}a.menu-icon span {position:absolute;display:block;width:1rem;height:0;left:0.8125rem;top:0.3125rem;-webkit-box-shadow:1px 10px 1px 1px #ffffff,1px 16px 1px 1px #ffffff,1px 22px 1px 1px #ffffff;box-shadow:0 10px 0 1px #ffffff,0 16px 0 1px #ffffff,0 22px 0 1px #ffffff;}a.menu-icon:hover span {-webkit-box-shadow:1px 10px 1px 1px #b3b3b3,1px 16px 1px 1px #b3b3b3,1px 22px 1px 1px #b3b3b3;box-shadow:0 10px 0 1px #b3b3b3,0 16px 0 1px #b3b3b3,0 22px 0 1px #b3b3b3;}.left-off-canvas-menu {-webkit-backface-visibility:hidden;width:250px;top:0;bottom:0;height:100%;position:absolute;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);}.left-off-canvas-menu * {-webkit-backface-visibility:hidden;}.right-off-canvas-menu {-webkit-backface-visibility:hidden;width:250px;top:0;bottom:0;height:100%;position:absolute;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;}ul.off-canvas-list {list-style-type:none;padding:0;margin:0;}ul.off-canvas-list li label {padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0;}ul.off-canvas-list li a {display:block;padding:0.66667rem;color:rgba(255, 255, 255, 0.7);border-bottom:1px solid #262626;}.move-right>.inner-wrap {-webkit-transform:translate3d(250px, 0, 0);-moz-transform:translate3d(250px, 0, 0);-ms-transform:translate3d(250px, 0, 0);-o-transform:translate3d(250px, 0, 0);transform:translate3d(250px, 0, 0);}.move-right a.exit-off-canvas {-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0, 0, 0, 0.5),4px 0 4px rgba(0, 0, 0, 0.5);display:block;position:absolute;background:rgba(255, 255, 255, 0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}@media only screen and (min-width:40.063em){.move-right a.exit-off-canvas:hover {background:rgba(255, 255, 255, 0.05);}}.move-left>.inner-wrap {-webkit-transform:translate3d(-250px, 0, 0);-moz-transform:translate3d(-250px, 0, 0);-ms-transform:translate3d(-250px, 0, 0);-o-transform:translate3d(-250px, 0, 0);transform:translate3d(-250px, 0, 0);}.move-left a.exit-off-canvas {-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0, 0, 0, 0.5),4px 0 4px rgba(0, 0, 0, 0.5);display:block;position:absolute;background:rgba(255, 255, 255, 0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}@media only screen and (min-width:40.063em){.move-left a.exit-off-canvas:hover {background:rgba(255, 255, 255, 0.05);}}.csstransforms.no-csstransforms3d .left-off-canvas-menu {-webkit-transform:translate(-100%, 0);-moz-transform:translate(-100%, 0);-ms-transform:translate(-100%, 0);-o-transform:translate(-100%, 0);transform:translate(-100%, 0);}.csstransforms.no-csstransforms3d .right-off-canvas-menu {-webkit-transform:translate(100%, 0);-moz-transform:translate(100%, 0);-ms-transform:translate(100%, 0);-o-transform:translate(100%, 0);transform:translate(100%, 0);}.csstransforms.no-csstransforms3d .move-left>.inner-wrap {-webkit-transform:translate(-250px, 0);-moz-transform:translate(-250px, 0);-ms-transform:translate(-250px, 0);-o-transform:translate(-250px, 0);transform:translate(-250px, 0);}.csstransforms.no-csstransforms3d .move-right>.inner-wrap {-webkit-transform:translate(250px, 0);-moz-transform:translate(250px, 0);-ms-transform:translate(250px, 0);-o-transform:translate(250px, 0);transform:translate(250px, 0);}.no-csstransforms .left-off-canvas-menu {left:-250px;}.no-csstransforms .right-off-canvas-menu {right:-250px;}.no-csstransforms .move-left>.inner-wrap {right:250px;}.no-csstransforms .move-right>.inner-wrap {left:250px;}.show-for-small ,.show-for-small-only ,.show-for-medium-down ,.show-for-large-down ,.hide-for-medium ,.hide-for-medium-up ,.hide-for-medium-only ,.hide-for-large ,.hide-for-large-up ,.hide-for-large-only ,.hide-for-xlarge ,.hide-for-xlarge-up ,.hide-for-xlarge-only ,.hide-for-xxlarge-up ,.hide-for-xxlarge-only {display:inherit !important;}.hide-for-small ,.hide-for-small-only ,.hide-for-medium-down ,.show-for-medium ,.show-for-medium-up ,.show-for-medium-only ,.hide-for-large-down ,.show-for-large ,.show-for-large-up ,.show-for-large-only ,.show-for-xlarge ,.show-for-xlarge-up ,.show-for-xlarge-only ,.show-for-xxlarge-up ,.show-for-xxlarge-only {display:none !important;}table.show-for-small ,table.show-for-small-only ,table.show-for-medium-down ,table.show-for-large-down ,table.hide-for-medium ,table.hide-for-medium-up ,table.hide-for-medium-only ,table.hide-for-large ,table.hide-for-large-up ,table.hide-for-large-only ,table.hide-for-xlarge ,table.hide-for-xlarge-up ,table.hide-for-xlarge-only ,table.hide-for-xxlarge-up ,table.hide-for-xxlarge-only {display:table;}thead.show-for-small ,thead.show-for-small-only ,thead.show-for-medium-down ,thead.show-for-large-down ,thead.hide-for-medium ,thead.hide-for-medium-up ,thead.hide-for-medium-only ,thead.hide-for-large ,thead.hide-for-large-up ,thead.hide-for-large-only ,thead.hide-for-xlarge ,thead.hide-for-xlarge-up ,thead.hide-for-xlarge-only ,thead.hide-for-xxlarge-up ,thead.hide-for-xxlarge-only {display:table-header-group !important;}tbody.show-for-small ,tbody.show-for-small-only ,tbody.show-for-medium-down ,tbody.show-for-large-down ,tbody.hide-for-medium ,tbody.hide-for-medium-up ,tbody.hide-for-medium-only ,tbody.hide-for-large ,tbody.hide-for-large-up ,tbody.hide-for-large-only ,tbody.hide-for-xlarge ,tbody.hide-for-xlarge-up ,tbody.hide-for-xlarge-only ,tbody.hide-for-xxlarge-up ,tbody.hide-for-xxlarge-only {display:table-row-group !important;}tr.show-for-small ,tr.show-for-small-only ,tr.show-for-medium-down ,tr.show-for-large-down ,tr.hide-for-medium ,tr.hide-for-medium-up ,tr.hide-for-medium-only ,tr.hide-for-large ,tr.hide-for-large-up ,tr.hide-for-large-only ,tr.hide-for-xlarge ,tr.hide-for-xlarge-up ,tr.hide-for-xlarge-only ,tr.hide-for-xxlarge-up ,tr.hide-for-xxlarge-only {display:table-row !important;}td.show-for-small ,td.show-for-small-only ,td.show-for-medium-down td.show-for-large-down ,td.hide-for-medium ,td.hide-for-medium-up ,td.hide-for-large ,td.hide-for-large-up ,td.hide-for-xlarge td.hide-for-xlarge-up ,td.hide-for-xxlarge-up ,th.show-for-small ,th.show-for-small-only ,th.show-for-medium-down th.show-for-large-down ,th.hide-for-medium ,th.hide-for-medium-up ,th.hide-for-large ,th.hide-for-large-up ,th.hide-for-xlarge th.hide-for-xlarge-up ,th.hide-for-xxlarge-up {display:table-cell !important;}@media only screen and (min-width:40.063em){.hide-for-small ,.hide-for-small-only ,.show-for-medium ,.show-for-medium-down ,.show-for-medium-up ,.show-for-medium-only ,.hide-for-large ,.hide-for-large-up ,.hide-for-large-only ,.hide-for-xlarge ,.hide-for-xlarge-up ,.hide-for-xlarge-only ,.hide-for-xxlarge-up ,.hide-for-xxlarge-only {display:inherit !important;}.show-for-small ,.show-for-small-only ,.hide-for-medium ,.hide-for-medium-down ,.hide-for-medium-up ,.hide-for-medium-only ,.hide-for-large-down ,.show-for-large ,.show-for-large-up ,.show-for-large-only ,.show-for-xlarge ,.show-for-xlarge-up ,.show-for-xlarge-only ,.show-for-xxlarge-up ,.show-for-xxlarge-only {display:none !important;}table.hide-for-small ,table.hide-for-small-only ,table.show-for-medium ,table.show-for-medium-down ,table.show-for-medium-up ,table.show-for-medium-only ,table.hide-for-large ,table.hide-for-large-up ,table.hide-for-large-only ,table.hide-for-xlarge ,table.hide-for-xlarge-up ,table.hide-for-xlarge-only ,table.hide-for-xxlarge-up ,table.hide-for-xxlarge-only {display:table;}thead.hide-for-small ,thead.hide-for-small-only ,thead.show-for-medium ,thead.show-for-medium-down ,thead.show-for-medium-up ,thead.show-for-medium-only ,thead.hide-for-large ,thead.hide-for-large-up ,thead.hide-for-large-only ,thead.hide-for-xlarge ,thead.hide-for-xlarge-up ,thead.hide-for-xlarge-only ,thead.hide-for-xxlarge-up ,thead.hide-for-xxlarge-only {display:table-header-group !important;}tbody.hide-for-small ,tbody.hide-for-small-only ,tbody.show-for-medium ,tbody.show-for-medium-down ,tbody.show-for-medium-up ,tbody.show-for-medium-only ,tbody.hide-for-large ,tbody.hide-for-large-up ,tbody.hide-for-large-only ,tbody.hide-for-xlarge ,tbody.hide-for-xlarge-up ,tbody.hide-for-xlarge-only ,tbody.hide-for-xxlarge-up ,tbody.hide-for-xxlarge-only {display:table-row-group !important;}tr.hide-for-small ,tr.hide-for-small-only ,tr.show-for-medium ,tr.show-for-medium-down ,tr.show-for-medium-up ,tr.show-for-medium-only ,tr.hide-for-large ,tr.hide-for-large-up ,tr.hide-for-large-only ,tr.hide-for-xlarge ,tr.hide-for-xlarge-up ,tr.hide-for-xlarge-only ,tr.hide-for-xxlarge-up ,tr.hide-for-xxlarge-only {display:table-row !important;}td.hide-for-small ,td.hide-for-small-only ,td.show-for-medium ,td.show-for-medium-down ,td.show-for-medium-up ,td.show-for-medium-only ,td.hide-for-large ,td.hide-for-large-up ,td.hide-for-large-only ,td.hide-for-xlarge ,td.hide-for-xlarge-up ,td.hide-for-xlarge-only ,td.hide-for-xxlarge-up ,td.hide-for-xxlarge-only ,th.hide-for-small ,th.hide-for-small-only ,th.show-for-medium ,th.show-for-medium-down ,th.show-for-medium-up ,th.show-for-medium-only ,th.hide-for-large ,th.hide-for-large-up ,th.hide-for-large-only ,th.hide-for-xlarge ,th.hide-for-xlarge-up ,th.hide-for-xlarge-only ,th.hide-for-xxlarge-up ,th.hide-for-xxlarge-only {display:table-cell !important;}}@media only screen and (min-width:64.063em){.hide-for-small ,.hide-for-small-only ,.hide-for-medium ,.hide-for-medium-down ,.hide-for-medium-only ,.show-for-medium-up ,.show-for-large ,.show-for-large-up ,.show-for-large-only ,.hide-for-xlarge ,.hide-for-xlarge-up ,.hide-for-xlarge-only ,.hide-for-xxlarge-up ,.hide-for-xxlarge-only {display:inherit !important;}.show-for-small-only ,.show-for-medium ,.show-for-medium-down ,.show-for-medium-only ,.hide-for-large ,.hide-for-large-up ,.hide-for-large-only ,.show-for-xlarge ,.show-for-xlarge-up ,.show-for-xlarge-only ,.show-for-xxlarge-up ,.show-for-xxlarge-only {display:none !important;}table.hide-for-small ,table.hide-for-small-only ,table.hide-for-medium ,table.hide-for-medium-down ,table.hide-for-medium-only ,table.show-for-medium-up ,table.show-for-large ,table.show-for-large-up ,table.show-for-large-only ,table.hide-for-xlarge ,table.hide-for-xlarge-up ,table.hide-for-xlarge-only ,table.hide-for-xxlarge-up ,table.hide-for-xxlarge-only {display:table;}thead.hide-for-small ,thead.hide-for-small-only ,thead.hide-for-medium ,thead.hide-for-medium-down ,thead.hide-for-medium-only ,thead.show-for-medium-up ,thead.show-for-large ,thead.show-for-large-up ,thead.show-for-large-only ,thead.hide-for-xlarge ,thead.hide-for-xlarge-up ,thead.hide-for-xlarge-only ,thead.hide-for-xxlarge-up ,thead.hide-for-xxlarge-only {display:table-header-group !important;}tbody.hide-for-small ,tbody.hide-for-small-only ,tbody.hide-for-medium ,tbody.hide-for-medium-down ,tbody.hide-for-medium-only ,tbody.show-for-medium-up ,tbody.show-for-large ,tbody.show-for-large-up ,tbody.show-for-large-only ,tbody.hide-for-xlarge ,tbody.hide-for-xlarge-up ,tbody.hide-for-xlarge-only ,tbody.hide-for-xxlarge-up ,tbody.hide-for-xxlarge-only {display:table-row-group !important;}tr.hide-for-small ,tr.hide-for-small-only ,tr.hide-for-medium ,tr.hide-for-medium-down ,tr.hide-for-medium-only ,tr.show-for-medium-up ,tr.show-for-large ,tr.show-for-large-up ,tr.show-for-large-only ,tr.hide-for-xlarge ,tr.hide-for-xlarge-up ,tr.hide-for-xlarge-only ,tr.hide-for-xxlarge-up ,tr.hide-for-xxlarge-only {display:table-row !important;}td.hide-for-small ,td.hide-for-small-only ,td.hide-for-medium ,td.hide-for-medium-down ,td.hide-for-medium-only ,td.show-for-medium-up ,td.show-for-large ,td.show-for-large-up ,td.show-for-large-only ,td.hide-for-xlarge ,td.hide-for-xlarge-up ,td.hide-for-xlarge-only ,td.hide-for-xxlarge-up ,td.hide-for-xxlarge-only ,th.hide-for-small ,th.hide-for-small-only ,th.hide-for-medium ,th.hide-for-medium-down ,th.hide-for-medium-only ,th.show-for-medium-up ,th.show-for-large ,th.show-for-large-up ,th.show-for-large-only ,th.hide-for-xlarge ,th.hide-for-xlarge-up ,th.hide-for-xlarge-only ,th.hide-for-xxlarge-up ,th.hide-for-xxlarge-only {display:table-cell !important;}}@media only screen and (min-width:90.063em){.hide-for-small ,.hide-for-small-only ,.hide-for-medium ,.hide-for-medium-down ,.hide-for-medium-only ,.show-for-medium-up ,.show-for-large-up ,.hide-for-large-only ,.show-for-xlarge ,.show-for-xlarge-up ,.show-for-xlarge-only ,.hide-for-xxlarge-up ,.hide-for-xxlarge-only {display:inherit !important;}.show-for-small-only ,.show-for-medium ,.show-for-medium-down ,.show-for-medium-only ,.show-for-large ,.show-for-large-only ,.show-for-large-down ,.hide-for-xlarge ,.hide-for-xlarge-up ,.hide-for-xlarge-only ,.show-for-xxlarge-up ,.show-for-xxlarge-only {display:none !important;}table.hide-for-small ,table.hide-for-small-only ,table.hide-for-medium ,table.hide-for-medium-down ,table.hide-for-medium-only ,table.show-for-medium-up ,table.show-for-large-up ,table.hide-for-large-only ,table.show-for-xlarge ,table.show-for-xlarge-up ,table.show-for-xlarge-only ,table.hide-for-xxlarge-up ,table.hide-for-xxlarge-only {display:table;}thead.hide-for-small ,thead.hide-for-small-only ,thead.hide-for-medium ,thead.hide-for-medium-down ,thead.hide-for-medium-only ,thead.show-for-medium-up ,thead.show-for-large-up ,thead.hide-for-large-only ,thead.show-for-xlarge ,thead.show-for-xlarge-up ,thead.show-for-xlarge-only ,thead.hide-for-xxlarge-up ,thead.hide-for-xxlarge-only {display:table-header-group !important;}tbody.hide-for-small ,tbody.hide-for-small-only ,tbody.hide-for-medium ,tbody.hide-for-medium-down ,tbody.hide-for-medium-only ,tbody.show-for-medium-up ,tbody.show-for-large-up ,tbody.hide-for-large-only ,tbody.show-for-xlarge ,tbody.show-for-xlarge-up ,tbody.show-for-xlarge-only ,tbody.hide-for-xxlarge-up ,tbody.hide-for-xxlarge-only {display:table-row-group !important;}tr.hide-for-small ,tr.hide-for-small-only ,tr.hide-for-medium ,tr.hide-for-medium-down ,tr.hide-for-medium-only ,tr.show-for-medium-up ,tr.show-for-large-up ,tr.hide-for-large-only ,tr.show-for-xlarge ,tr.show-for-xlarge-up ,tr.show-for-xlarge-only ,tr.hide-for-xxlarge-up ,tr.hide-for-xxlarge-only {display:table-row !important;}td.hide-for-small ,td.hide-for-small-only ,td.hide-for-medium ,td.hide-for-medium-down ,td.hide-for-medium-only ,td.show-for-medium-up ,td.show-for-large-up ,td.hide-for-large-only ,td.show-for-xlarge ,td.show-for-xlarge-up ,td.show-for-xlarge-only ,td.hide-for-xxlarge-up ,td.hide-for-xxlarge-only ,th.hide-for-small ,th.hide-for-small-only ,th.hide-for-medium ,th.hide-for-medium-down ,th.hide-for-medium-only ,th.show-for-medium-up ,th.show-for-large-up ,th.hide-for-large-only ,th.show-for-xlarge ,th.show-for-xlarge-up ,th.show-for-xlarge-only ,th.hide-for-xxlarge-up ,th.hide-for-xxlarge-only {display:table-cell !important;}}@media only screen and (min-width:120.063em){.hide-for-small ,.hide-for-small-only ,.hide-for-medium ,.hide-for-medium-down ,.hide-for-medium-only ,.show-for-medium-up ,.show-for-large-up ,.hide-for-large-only ,.hide-for-xlarge-only ,.show-for-xlarge-up ,.show-for-xxlarge-up ,.show-for-xxlarge-only {display:inherit !important;}.show-for-small-only ,.show-for-medium ,.show-for-medium-down ,.show-for-medium-only ,.show-for-large ,.show-for-large-only ,.show-for-large-down ,.hide-for-xlarge ,.show-for-xlarge-only ,.hide-for-xxlarge-up ,.hide-for-xxlarge-only {display:none !important;}table.hide-for-small ,table.hide-for-small-only ,table.hide-for-medium ,table.hide-for-medium-down ,table.hide-for-medium-only ,table.show-for-medium-up ,table.show-for-large-up ,table.hide-for-xlarge-only ,table.show-for-xlarge-up ,table.show-for-xxlarge-up ,table.show-for-xxlarge-only {display:table;}thead.hide-for-small ,thead.hide-for-small-only ,thead.hide-for-medium ,thead.hide-for-medium-down ,thead.hide-for-medium-only ,thead.show-for-medium-up ,thead.show-for-large-up ,thead.hide-for-xlarge-only ,thead.show-for-xlarge-up ,thead.show-for-xxlarge-up ,thead.show-for-xxlarge-only {display:table-header-group !important;}tbody.hide-for-small ,tbody.hide-for-small-only ,tbody.hide-for-medium ,tbody.hide-for-medium-down ,tbody.hide-for-medium-only ,tbody.show-for-medium-up ,tbody.show-for-large-up ,tbody.hide-for-xlarge-only ,tbody.show-for-xlarge-up ,tbody.show-for-xxlarge-up ,tbody.show-for-xxlarge-only {display:table-row-group !important;}tr.hide-for-small ,tr.hide-for-small-only ,tr.hide-for-medium ,tr.hide-for-medium-down ,tr.hide-for-medium-only ,tr.show-for-medium-up ,tr.show-for-large-up ,tr.hide-for-xlarge-only ,tr.show-for-xlarge-up ,tr.show-for-xxlarge-up ,tr.show-for-xxlarge-only {display:table-row !important;}td.hide-for-small ,td.hide-for-small-only ,td.hide-for-medium ,td.hide-for-medium-down ,td.hide-for-medium-only ,td.show-for-medium-up ,td.show-for-large-up ,td.hide-for-xlarge-only ,td.show-for-xlarge-up ,td.show-for-xxlarge-up ,td.show-for-xxlarge-only ,th.hide-for-small ,th.hide-for-small-only ,th.hide-for-medium ,th.hide-for-medium-down ,th.hide-for-medium-only ,th.show-for-medium-up ,th.show-for-large-up ,th.hide-for-xlarge-only ,th.show-for-xlarge-up ,th.show-for-xxlarge-up ,th.show-for-xxlarge-only {display:table-cell !important;}}.show-for-landscape ,.hide-for-portrait {display:inherit !important;}.hide-for-landscape ,.show-for-portrait {display:none !important;}table.hide-for-landscape ,table.show-for-portrait {display:table;}thead.hide-for-landscape ,thead.show-for-portrait {display:table-header-group !important;}tbody.hide-for-landscape ,tbody.show-for-portrait {display:table-row-group !important;}tr.hide-for-landscape ,tr.show-for-portrait {display:table-row !important;}td.hide-for-landscape ,td.show-for-portrait ,th.hide-for-landscape ,th.show-for-portrait {display:table-cell !important;}@media only screen and (orientation: landscape){.show-for-landscape ,.hide-for-portrait {display:inherit !important;}.hide-for-landscape ,.show-for-portrait {display:none !important;}table.show-for-landscape ,table.hide-for-portrait {display:table;}thead.show-for-landscape ,thead.hide-for-portrait {display:table-header-group !important;}tbody.show-for-landscape ,tbody.hide-for-portrait {display:table-row-group !important;}tr.show-for-landscape ,tr.hide-for-portrait {display:table-row !important;}td.show-for-landscape ,td.hide-for-portrait ,th.show-for-landscape ,th.hide-for-portrait {display:table-cell !important;}}@media only screen and (orientation: portrait){.show-for-portrait ,.hide-for-landscape {display:inherit !important;}.hide-for-portrait ,.show-for-landscape {display:none !important;}table.show-for-portrait ,table.hide-for-landscape {display:table;}thead.show-for-portrait ,thead.hide-for-landscape {display:table-header-group !important;}tbody.show-for-portrait ,tbody.hide-for-landscape {display:table-row-group !important;}tr.show-for-portrait ,tr.hide-for-landscape {display:table-row !important;}td.show-for-portrait ,td.hide-for-landscape ,th.show-for-portrait ,th.hide-for-landscape {display:table-cell !important;}}.show-for-touch {display:none !important;}.hide-for-touch {display:inherit !important;}.touch .show-for-touch {display:inherit !important;}.touch .hide-for-touch {display:none !important;}table.hide-for-touch {display:table;}.touch table.show-for-touch {display:table;}thead.hide-for-touch {display:table-header-group !important;}.touch thead.show-for-touch {display:table-header-group !important;}tbody.hide-for-touch {display:table-row-group !important;}.touch tbody.show-for-touch {display:table-row-group !important;}tr.hide-for-touch {display:table-row !important;}.touch tr.show-for-touch {display:table-row !important;}td.hide-for-touch {display:table-cell !important;}.touch td.show-for-touch {display:table-cell !important;}th.hide-for-touch {display:table-cell !important;}.touch th.show-for-touch {display:table-cell !important;}
\ No newline at end of file
diff --git a/bower_components/foundation/css/normalize.css b/bower_components/foundation/css/normalize.css
new file mode 100644
index 0000000..3a802be
--- /dev/null
+++ b/bower_components/foundation/css/normalize.css
@@ -0,0 +1,310 @@
+/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined in IE 8/9.
+ */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+ display: block; }
+
+/**
+ * Correct `inline-block` display not defined in IE 8/9.
+ */
+audio, canvas, video {
+ display: inline-block; }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9.
+ * Hide the `template` element in IE, Safari, and Firefox < 22.
+ */
+[hidden], template {
+ display: none; }
+
+script {
+ display: none !important; }
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background: transparent; }
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+a:focus {
+ outline: thin dotted; }
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+a:active, a:hover {
+ outline: 0; }
+
+/* ==========================================================================
+ Typography
+ ========================================================================== */
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari 5, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9, Safari 5, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
+ */
+b, strong {
+ font-weight: bold; }
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: yellow;
+ color: black; }
+
+/**
+ * Correct font family set oddly in Safari 5 and Chrome.
+ */
+code, kbd, pre, samp {
+ font-family: monospace, serif;
+ font-size: 1em; }
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+pre {
+ white-space: pre-wrap; }
+
+/**
+ * Set consistent quote types.
+ */
+q {
+ quotes: "\201C" "\201D" "\2018" "\2019"; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub, sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9.
+ */
+img {
+ border: 0; }
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari 5.
+ */
+figure {
+ margin: 0; }
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+/**
+ * Define consistent border, margin, and padding.
+ */
+fieldset {
+ border: 1px solid silver;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+legend {
+ border: 0;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * 1. Correct font family not being inherited in all browsers.
+ * 2. Correct font size not being inherited in all browsers.
+ * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
+ */
+button, input, select, textarea {
+ font-family: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+button, input {
+ line-height: normal; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+button, select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button, html input[type="button"], input[type="reset"], input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled], html input[disabled] {
+ cursor: default; }
+
+/**
+ * 1. Address box sizing set to `content-box` in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ */
+input[type="checkbox"], input[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ /* 2 */
+ box-sizing: content-box; }
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner, input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * 1. Remove default vertical scrollbar in IE 8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+textarea {
+ overflow: auto;
+ /* 1 */
+ vertical-align: top;
+ /* 2 */ }
+
+/* ==========================================================================
+ Tables
+ ========================================================================== */
+/**
+ * Remove most spacing between table cells.
+ */
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
diff --git a/bower_components/foundation/js/foundation.js b/bower_components/foundation/js/foundation.js
new file mode 100644
index 0000000..541f039
--- /dev/null
+++ b/bower_components/foundation/js/foundation.js
@@ -0,0 +1,4186 @@
+/*
+ * Foundation Responsive Library
+ * http://foundation.zurb.com
+ * Copyright 2013, ZURB
+ * Free to use under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+*/
+
+(function ($, window, document, undefined) {
+ 'use strict';
+
+ // Used to retrieve Foundation media queries from CSS.
+ if($('head').has('.foundation-mq-small').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-medium').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-large').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-xlarge').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-xxlarge').length === 0) {
+ $('head').append('');
+ }
+
+ // Enable FastClick if present
+
+ $(function() {
+ if(typeof FastClick !== 'undefined') {
+ // Don't attach to body if undefined
+ if (typeof document.body !== 'undefined') {
+ FastClick.attach(document.body);
+ }
+ }
+ });
+
+ // private Fast Selector wrapper,
+ // returns jQuery object. Only use where
+ // getElementById is not available.
+ var S = function (selector, context) {
+ if (typeof selector === 'string') {
+ if (context) {
+ return $(context.querySelectorAll(selector));
+ }
+
+ return $(document.querySelectorAll(selector));
+ }
+
+ return $(selector, context);
+ };
+
+ /*
+ https://github.com/paulirish/matchMedia.js
+ */
+
+ window.matchMedia = window.matchMedia || (function( doc, undefined ) {
+
+ "use strict";
+
+ var bool,
+ docElem = doc.documentElement,
+ refNode = docElem.firstElementChild || docElem.firstChild,
+ // fakeBody required for
+ fakeBody = doc.createElement( "body" ),
+ div = doc.createElement( "div" );
+
+ div.id = "mq-test-1";
+ div.style.cssText = "position:absolute;top:-100em";
+ fakeBody.style.background = "none";
+ fakeBody.appendChild(div);
+
+ return function(q){
+
+ div.innerHTML = "";
+
+ docElem.insertBefore( fakeBody, refNode );
+ bool = div.offsetWidth === 42;
+ docElem.removeChild( fakeBody );
+
+ return {
+ matches: bool,
+ media: q
+ };
+
+ };
+
+ }( document ));
+
+ /*
+ * jquery.requestAnimationFrame
+ * https://github.com/gnarf37/jquery-requestAnimationFrame
+ * Requires jQuery 1.8+
+ *
+ * Copyright (c) 2012 Corey Frang
+ * Licensed under the MIT license.
+ */
+
+ (function( $ ) {
+
+ // requestAnimationFrame polyfill adapted from Erik Möller
+ // fixes from Paul Irish and Tino Zijdel
+ // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
+ // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
+
+
+ var animating,
+ lastTime = 0,
+ vendors = ['webkit', 'moz'],
+ requestAnimationFrame = window.requestAnimationFrame,
+ cancelAnimationFrame = window.cancelAnimationFrame;
+
+ for(; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
+ requestAnimationFrame = window[ vendors[lastTime] + "RequestAnimationFrame" ];
+ cancelAnimationFrame = cancelAnimationFrame ||
+ window[ vendors[lastTime] + "CancelAnimationFrame" ] ||
+ window[ vendors[lastTime] + "CancelRequestAnimationFrame" ];
+ }
+
+ function raf() {
+ if ( animating ) {
+ requestAnimationFrame( raf );
+ jQuery.fx.tick();
+ }
+ }
+
+ if ( requestAnimationFrame ) {
+ // use rAF
+ window.requestAnimationFrame = requestAnimationFrame;
+ window.cancelAnimationFrame = cancelAnimationFrame;
+ jQuery.fx.timer = function( timer ) {
+ if ( timer() && jQuery.timers.push( timer ) && !animating ) {
+ animating = true;
+ raf();
+ }
+ };
+
+ jQuery.fx.stop = function() {
+ animating = false;
+ };
+ } else {
+ // polyfill
+ window.requestAnimationFrame = function( callback, element ) {
+ var currTime = new Date().getTime(),
+ timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) ),
+ id = window.setTimeout( function() {
+ callback( currTime + timeToCall );
+ }, timeToCall );
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+
+ window.cancelAnimationFrame = function(id) {
+ clearTimeout(id);
+ };
+
+ }
+
+ }( jQuery ));
+
+
+ function removeQuotes (string) {
+ if (typeof string === 'string' || string instanceof String) {
+ string = string.replace(/^[\\/'"]+|(;\s?})+|[\\/'"]+$/g, '');
+ }
+
+ return string;
+ }
+
+ window.Foundation = {
+ name : 'Foundation',
+
+ version : '5.0.3',
+
+ media_queries : {
+ small : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ medium : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ large : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ xlarge: S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ xxlarge: S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
+ },
+
+ stylesheet : $('').appendTo('head')[0].sheet,
+
+ init : function (scope, libraries, method, options, response) {
+ var library_arr,
+ args = [scope, method, options, response],
+ responses = [];
+
+ // check RTL
+ this.rtl = /rtl/i.test(S('html').attr('dir'));
+
+ // set foundation global scope
+ this.scope = scope || this.scope;
+
+ if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
+ if (this.libs.hasOwnProperty(libraries)) {
+ responses.push(this.init_lib(libraries, args));
+ }
+ } else {
+ for (var lib in this.libs) {
+ responses.push(this.init_lib(lib, libraries));
+ }
+ }
+
+ return scope;
+ },
+
+ init_lib : function (lib, args) {
+ if (this.libs.hasOwnProperty(lib)) {
+ this.patch(this.libs[lib]);
+
+ if (args && args.hasOwnProperty(lib)) {
+ return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
+ }
+
+ args = args instanceof Array ? args : Array(args); // PATCH: added this line
+ return this.libs[lib].init.apply(this.libs[lib], args);
+ }
+
+ return function () {};
+ },
+
+ patch : function (lib) {
+ lib.scope = this.scope;
+ lib['data_options'] = this.lib_methods.data_options;
+ lib['bindings'] = this.lib_methods.bindings;
+ lib['S'] = S;
+ lib.rtl = this.rtl;
+ },
+
+ inherit : function (scope, methods) {
+ var methods_arr = methods.split(' ');
+
+ for (var i = methods_arr.length - 1; i >= 0; i--) {
+ if (this.lib_methods.hasOwnProperty(methods_arr[i])) {
+ this.libs[scope.name][methods_arr[i]] = this.lib_methods[methods_arr[i]];
+ }
+ }
+ },
+
+ random_str : function (length) {
+ var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
+
+ if (!length) {
+ length = Math.floor(Math.random() * chars.length);
+ }
+
+ var str = '';
+ for (var i = 0; i < length; i++) {
+ str += chars[Math.floor(Math.random() * chars.length)];
+ }
+ return str;
+ },
+
+ libs : {},
+
+ // methods that can be inherited in libraries
+ lib_methods : {
+ throttle : function(fun, delay) {
+ var timer = null;
+
+ return function () {
+ var context = this, args = arguments;
+
+ clearTimeout(timer);
+ timer = setTimeout(function () {
+ fun.apply(context, args);
+ }, delay);
+ };
+ },
+
+ // parses data-options attribute
+ data_options : function (el) {
+ var opts = {}, ii, p, opts_arr, opts_len,
+ data_options = el.data('options');
+
+ if (typeof data_options === 'object') {
+ return data_options;
+ }
+
+ opts_arr = (data_options || ':').split(';'),
+ opts_len = opts_arr.length;
+
+ function isNumber (o) {
+ return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
+ }
+
+ function trim(str) {
+ if (typeof str === 'string') return $.trim(str);
+ return str;
+ }
+
+ // parse options
+ for (ii = opts_len - 1; ii >= 0; ii--) {
+ p = opts_arr[ii].split(':');
+
+ if (/true/i.test(p[1])) p[1] = true;
+ if (/false/i.test(p[1])) p[1] = false;
+ if (isNumber(p[1])) p[1] = parseInt(p[1], 10);
+
+ if (p.length === 2 && p[0].length > 0) {
+ opts[trim(p[0])] = trim(p[1]);
+ }
+ }
+
+ return opts;
+ },
+
+ delay : function (fun, delay) {
+ return setTimeout(fun, delay);
+ },
+
+ // test for empty object or array
+ empty : function (obj) {
+ if (obj.length && obj.length > 0) return false;
+ if (obj.length && obj.length === 0) return true;
+
+ for (var key in obj) {
+ if (hasOwnProperty.call(obj, key)) return false;
+ }
+
+ return true;
+ },
+
+ register_media : function(media, media_class) {
+ if(Foundation.media_queries[media] === undefined) {
+ $('head').append('');
+ Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));
+ }
+ },
+
+ addCustomRule : function(rule, media) {
+ if(media === undefined) {
+ Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);
+ } else {
+ var query = Foundation.media_queries[media];
+ if(query !== undefined) {
+ Foundation.stylesheet.insertRule('@media ' +
+ Foundation.media_queries[media] + '{ ' + rule + ' }');
+ }
+ }
+ },
+
+ loaded : function (image, callback) {
+ function loaded () {
+ callback(image[0]);
+ }
+
+ function bindLoad () {
+ this.one('load', loaded);
+
+ if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
+ var src = this.attr( 'src' ),
+ param = src.match( /\?/ ) ? '&' : '?';
+
+ param += 'random=' + (new Date()).getTime();
+ this.attr('src', src + param);
+ }
+ }
+
+ if (!image.attr('src')) {
+ loaded();
+ return;
+ }
+
+ if (image[0].complete || image[0].readyState === 4) {
+ loaded();
+ } else {
+ bindLoad.call(image);
+ }
+ },
+
+ bindings : function (method, options) {
+ var self = this,
+ should_bind_events = !S(this).data(this.name + '-init');
+
+ if (typeof method === 'string') {
+ return this[method].call(this, options);
+ }
+
+ if (S(this.scope).is('[data-' + this.name +']')) {
+ S(this.scope).data(this.name + '-init', $.extend({}, this.settings, (options || method), this.data_options(S(this.scope))));
+
+ if (should_bind_events) {
+ this.events(this.scope);
+ }
+
+ } else {
+ S('[data-' + this.name + ']', this.scope).each(function () {
+ var should_bind_events = !S(this).data(self.name + '-init');
+
+ S(this).data(self.name + '-init', $.extend({}, self.settings, (options || method), self.data_options(S(this))));
+
+ if (should_bind_events) {
+ self.events(this);
+ }
+ });
+ }
+ }
+ }
+ };
+
+ $.fn.foundation = function () {
+ var args = Array.prototype.slice.call(arguments, 0);
+
+ return this.each(function () {
+ Foundation.init.apply(Foundation, [this].concat(args));
+ return this;
+ });
+ };
+
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.abide = {
+ name : 'abide',
+
+ version : '5.0.3',
+
+ settings : {
+ focus_on_invalid : true,
+ error_labels: true, // labels with a for="inputId" will recieve an `error` class
+ timeout : 1000,
+ patterns : {
+ alpha: /[a-zA-Z]+/,
+ alpha_numeric : /[a-zA-Z0-9]+/,
+ integer: /-?\d+/,
+ number: /-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?/,
+
+ // generic password: upper-case, lower-case, number/special character, and min 8 characters
+ password : /(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,
+
+ // amex, visa, diners
+ card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|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}$/,
+
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+ 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})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?/,
+ // abc.de
+ domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/,
+
+ 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))/,
+ // YYYY-MM-DD
+ 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))/,
+ // HH:MM:SS
+ time : /(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}/,
+ dateISO: /\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/,
+ // MM/DD/YYYY
+ month_day_year : /(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d/,
+
+ // #FFF or #FFFFFF
+ color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
+ }
+ },
+
+ timer : null,
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function (scope) {
+ var self = this,
+ form = $(scope).attr('novalidate', 'novalidate'),
+ settings = form.data('abide-init');
+
+ form
+ .off('.abide')
+ .on('submit.fndtn.abide validate.fndtn.abide', function (e) {
+ var is_ajax = /ajax/i.test($(this).attr('data-abide'));
+ return self.validate($(this).find('input, textarea, select').get(), e, is_ajax);
+ })
+ .find('input, textarea, select')
+ .off('.abide')
+ .on('blur.fndtn.abide change.fndtn.abide', function (e) {
+ self.validate([this], e);
+ })
+ .on('keydown.fndtn.abide', function (e) {
+ var settings = $(this).closest('form').data('abide-init');
+ clearTimeout(self.timer);
+ self.timer = setTimeout(function () {
+ self.validate([this], e);
+ }.bind(this), settings.timeout);
+ });
+ },
+
+ validate : function (els, e, is_ajax) {
+ var validations = this.parse_patterns(els),
+ validation_count = validations.length,
+ form = $(els[0]).closest('form'),
+ submit_event = /submit/.test(e.type);
+
+ for (var i=0; i < validation_count; i++) {
+ if (!validations[i] && (submit_event || is_ajax)) {
+ if (this.settings.focus_on_invalid) els[i].focus();
+ form.trigger('invalid');
+ $(els[i]).closest('form').attr('data-invalid', '');
+ return false;
+ }
+ }
+
+ if (submit_event || is_ajax) {
+ form.trigger('valid');
+ }
+
+ form.removeAttr('data-invalid');
+
+ if (is_ajax) return false;
+
+ return true;
+ },
+
+ parse_patterns : function (els) {
+ var count = els.length,
+ el_patterns = [];
+
+ for (var i = count - 1; i >= 0; i--) {
+ el_patterns.push(this.pattern(els[i]));
+ }
+
+ return this.check_validation_and_apply_styles(el_patterns);
+ },
+
+ pattern : function (el) {
+ var type = el.getAttribute('type'),
+ required = typeof el.getAttribute('required') === 'string';
+
+ var pattern = el.getAttribute('pattern') || '';
+
+ if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) {
+ return [el, this.settings.patterns[pattern], required];
+ } else if (pattern.length > 0) {
+ return [el, new RegExp(pattern), required];
+ }
+
+ if (this.settings.patterns.hasOwnProperty(type)) {
+ return [el, this.settings.patterns[type], required];
+ }
+
+ pattern = /.*/;
+
+ return [el, pattern, required];
+ },
+
+ check_validation_and_apply_styles : function (el_patterns) {
+ var count = el_patterns.length,
+ validations = [];
+
+ for (var i = count - 1; i >= 0; i--) {
+ var el = el_patterns[i][0],
+ required = el_patterns[i][2],
+ value = el.value,
+ is_equal = el.getAttribute('data-equalto'),
+ is_radio = el.type === "radio",
+ is_checkbox = el.type === "checkbox",
+ label = $('label[for="' + el.getAttribute('id') + '"]'),
+ valid_length = (required) ? (el.value.length > 0) : true;
+
+ if (is_radio && required) {
+ validations.push(this.valid_radio(el, required));
+ } else if (is_checkbox && required) {
+ validations.push(this.valid_checkbox(el, required));
+ } else if (is_equal && required) {
+ validations.push(this.valid_equal(el, required));
+ } else {
+ if (el_patterns[i][1].test(value) && valid_length ||
+ !required && el.value.length < 1) {
+ $(el).removeAttr('data-invalid').parent().removeClass('error');
+ if (label.length > 0 && this.settings.error_labels) label.removeClass('error');
+
+ validations.push(true);
+ } else {
+ $(el).attr('data-invalid', '').parent().addClass('error');
+ if (label.length > 0 && this.settings.error_labels) label.addClass('error');
+
+ validations.push(false);
+ }
+ }
+ }
+
+ return validations;
+ },
+
+ valid_checkbox : function(el, required) {
+ var el = $(el),
+ valid = (el.is(':checked') || !required);
+ if (valid) {
+ el.removeAttr('data-invalid').parent().removeClass('error');
+ } else {
+ el.attr('data-invalid', '').parent().addClass('error');
+ }
+
+ return valid;
+ },
+
+ valid_radio : function (el, required) {
+ var name = el.getAttribute('name'),
+ group = document.getElementsByName(name),
+ count = group.length,
+ valid = false;
+
+ for (var i=0; i < count; i++) {
+ if (group[i].checked) valid = true;
+ }
+
+ for (var i=0; i < count; i++) {
+ if (valid) {
+ $(group[i]).removeAttr('data-invalid').parent().removeClass('error');
+ } else {
+ $(group[i]).attr('data-invalid', '').parent().addClass('error');
+ }
+ }
+
+ return valid;
+ },
+
+ valid_equal: function(el, required) {
+ var from = document.getElementById(el.getAttribute('data-equalto')).value,
+ to = el.value,
+ valid = (from === to);
+
+ if (valid) {
+ $(el).removeAttr('data-invalid').parent().removeClass('error');
+ } else {
+ $(el).attr('data-invalid', '').parent().addClass('error');
+ }
+
+ return valid;
+ }
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.accordion = {
+ name : 'accordion',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'active',
+ toggleable: true
+ },
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ $(this.scope).off('.accordion').on('click.fndtn.accordion', '[data-accordion] > dd > a', function (e) {
+ var accordion = $(this).parent(),
+ target = $('#' + this.href.split('#')[1]),
+ siblings = $('> dd > .content', target.closest('[data-accordion]')),
+ settings = accordion.parent().data('accordion-init'),
+ active = $('> dd > .content.' + settings.active_class, accordion.parent());
+
+ e.preventDefault();
+
+ if (active[0] == target[0] && settings.toggleable) {
+ return target.toggleClass(settings.active_class);
+ }
+
+ siblings.removeClass(settings.active_class);
+ target.addClass(settings.active_class);
+ });
+ },
+
+ off : function () {},
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.alert = {
+ name : 'alert',
+
+ version : '5.0.3',
+
+ settings : {
+ animation: 'fadeOut',
+ speed: 300, // fade out speed
+ callback: function (){}
+ },
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ $(this.scope).off('.alert').on('click.fndtn.alert', '[data-alert] a.close', function (e) {
+ var alertBox = $(this).closest("[data-alert]"),
+ settings = alertBox.data('alert-init') || Foundation.libs.alert.settings;
+
+ e.preventDefault();
+ alertBox[settings.animation](settings.speed, function () {
+ $(this).trigger('closed').remove();
+ settings.callback();
+ });
+ });
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.clearing = {
+ name : 'clearing',
+
+ version: '5.0.3',
+
+ settings : {
+ templates : {
+ viewing : '×' +
+ '' +
+ '
' +
+ '
'
+ },
+
+ // comma delimited list of selectors that, on click, will close clearing,
+ // add 'div.clearing-blackout, div.visible-img' to close on background click
+ close_selectors : '.clearing-close',
+
+ // event initializers and locks
+ init : false,
+ locked : false
+ },
+
+ init : function (scope, method, options) {
+ var self = this;
+ Foundation.inherit(this, 'throttle loaded');
+
+ this.bindings(method, options);
+
+ if ($(this.scope).is('[data-clearing]')) {
+ this.assemble($('li', this.scope));
+ } else {
+ $('[data-clearing]', this.scope).each(function () {
+ self.assemble($('li', this));
+ });
+ }
+ },
+
+ events : function (scope) {
+ var self = this;
+
+ $(this.scope)
+ .off('.clearing')
+ .on('click.fndtn.clearing', 'ul[data-clearing] li',
+ function (e, current, target) {
+ var current = current || $(this),
+ target = target || current,
+ next = current.next('li'),
+ settings = current.closest('[data-clearing]').data('clearing-init'),
+ image = $(e.target);
+
+ e.preventDefault();
+
+ if (!settings) {
+ self.init();
+ settings = current.closest('[data-clearing]').data('clearing-init');
+ }
+
+ // if clearing is open and the current image is
+ // clicked, go to the next image in sequence
+ if (target.hasClass('visible') &&
+ current[0] === target[0] &&
+ next.length > 0 && self.is_open(current)) {
+ target = next;
+ image = $('img', target);
+ }
+
+ // set current and target to the clicked li if not otherwise defined.
+ self.open(image, current, target);
+ self.update_paddles(target);
+ })
+
+ .on('click.fndtn.clearing', '.clearing-main-next',
+ function (e) { self.nav(e, 'next') })
+ .on('click.fndtn.clearing', '.clearing-main-prev',
+ function (e) { self.nav(e, 'prev') })
+ .on('click.fndtn.clearing', this.settings.close_selectors,
+ function (e) { Foundation.libs.clearing.close(e, this) })
+ .on('keydown.fndtn.clearing',
+ function (e) { self.keydown(e) });
+
+ $(window).off('.clearing').on('resize.fndtn.clearing',
+ function () { self.resize() });
+
+ this.swipe_events(scope);
+ },
+
+ swipe_events : function (scope) {
+ var self = this;
+
+ $(this.scope)
+ .on('touchstart.fndtn.clearing', '.visible-img', function(e) {
+ if (!e.touches) { e = e.originalEvent; }
+ var data = {
+ start_page_x: e.touches[0].pageX,
+ start_page_y: e.touches[0].pageY,
+ start_time: (new Date()).getTime(),
+ delta_x: 0,
+ is_scrolling: undefined
+ };
+
+ $(this).data('swipe-transition', data);
+ e.stopPropagation();
+ })
+ .on('touchmove.fndtn.clearing', '.visible-img', function(e) {
+ if (!e.touches) { e = e.originalEvent; }
+ // Ignore pinch/zoom events
+ if(e.touches.length > 1 || e.scale && e.scale !== 1) return;
+
+ var data = $(this).data('swipe-transition');
+
+ if (typeof data === 'undefined') {
+ data = {};
+ }
+
+ data.delta_x = e.touches[0].pageX - data.start_page_x;
+
+ if ( typeof data.is_scrolling === 'undefined') {
+ data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
+ }
+
+ if (!data.is_scrolling && !data.active) {
+ e.preventDefault();
+ var direction = (data.delta_x < 0) ? 'next' : 'prev';
+ data.active = true;
+ self.nav(e, direction);
+ }
+ })
+ .on('touchend.fndtn.clearing', '.visible-img', function(e) {
+ $(this).data('swipe-transition', {});
+ e.stopPropagation();
+ });
+ },
+
+ assemble : function ($li) {
+ var $el = $li.parent();
+
+ if ($el.parent().hasClass('carousel')) return;
+ $el.after('');
+
+ var holder = $('#foundationClearingHolder'),
+ settings = $el.data('clearing-init'),
+ grid = $el.detach(),
+ data = {
+ grid: '' + grid[0].outerHTML + '
',
+ viewing: settings.templates.viewing
+ },
+ wrapper = '' + data.viewing +
+ data.grid + '
';
+
+ return holder.after(wrapper).remove();
+ },
+
+ open : function ($image, current, target) {
+ var root = target.closest('.clearing-assembled'),
+ container = $('div', root).first(),
+ visible_image = $('.visible-img', container),
+ image = $('img', visible_image).not($image);
+
+ if (!this.locked()) {
+ // set the image to the selected thumbnail
+ image
+ .attr('src', this.load($image))
+ .css('visibility', 'hidden');
+
+ this.loaded(image, function () {
+ image.css('visibility', 'visible');
+ // toggle the gallery
+ root.addClass('clearing-blackout');
+ container.addClass('clearing-container');
+ visible_image.show();
+ this.fix_height(target)
+ .caption($('.clearing-caption', visible_image), $image)
+ .center(image)
+ .shift(current, target, function () {
+ target.siblings().removeClass('visible');
+ target.addClass('visible');
+ });
+ }.bind(this));
+ }
+ },
+
+ close : function (e, el) {
+ e.preventDefault();
+
+ var root = (function (target) {
+ if (/blackout/.test(target.selector)) {
+ return target;
+ } else {
+ return target.closest('.clearing-blackout');
+ }
+ }($(el))), container, visible_image;
+
+ if (el === e.target && root) {
+ container = $('div', root).first();
+ visible_image = $('.visible-img', container);
+ this.settings.prev_index = 0;
+ $('ul[data-clearing]', root)
+ .attr('style', '').closest('.clearing-blackout')
+ .removeClass('clearing-blackout');
+ container.removeClass('clearing-container');
+ visible_image.hide();
+ }
+
+ return false;
+ },
+
+ is_open : function (current) {
+ return current.parent().prop('style').length > 0;
+ },
+
+ keydown : function (e) {
+ var clearing = $('ul[data-clearing]', '.clearing-blackout'),
+ NEXT_KEY = this.rtl ? 37 : 39,
+ PREV_KEY = this.rtl ? 39 : 37,
+ ESC_KEY = 27;
+
+ if (e.which === NEXT_KEY) this.go(clearing, 'next');
+ if (e.which === PREV_KEY) this.go(clearing, 'prev');
+ if (e.which === ESC_KEY) $('a.clearing-close').trigger('click');
+ },
+
+ nav : function (e, direction) {
+ var clearing = $('ul[data-clearing]', '.clearing-blackout');
+
+ e.preventDefault();
+ this.go(clearing, direction);
+ },
+
+ resize : function () {
+ var image = $('img', '.clearing-blackout .visible-img');
+
+ if (image.length) {
+ this.center(image);
+ }
+ },
+
+ // visual adjustments
+ fix_height : function (target) {
+ var lis = target.parent().children(),
+ self = this;
+
+ lis.each(function () {
+ var li = $(this),
+ image = li.find('img');
+
+ if (li.height() > image.outerHeight()) {
+ li.addClass('fix-height');
+ }
+ })
+ .closest('ul')
+ .width(lis.length * 100 + '%');
+
+ return this;
+ },
+
+ update_paddles : function (target) {
+ var visible_image = target
+ .closest('.carousel')
+ .siblings('.visible-img');
+
+ if (target.next().length > 0) {
+ $('.clearing-main-next', visible_image)
+ .removeClass('disabled');
+ } else {
+ $('.clearing-main-next', visible_image)
+ .addClass('disabled');
+ }
+
+ if (target.prev().length > 0) {
+ $('.clearing-main-prev', visible_image)
+ .removeClass('disabled');
+ } else {
+ $('.clearing-main-prev', visible_image)
+ .addClass('disabled');
+ }
+ },
+
+ center : function (target) {
+ if (!this.rtl) {
+ target.css({
+ marginLeft : -(target.outerWidth() / 2),
+ marginTop : -(target.outerHeight() / 2)
+ });
+ } else {
+ target.css({
+ marginRight : -(target.outerWidth() / 2),
+ marginTop : -(target.outerHeight() / 2),
+ left: 'auto',
+ right: '50%'
+ });
+ }
+ return this;
+ },
+
+ // image loading and preloading
+
+ load : function ($image) {
+ if ($image[0].nodeName === "A") {
+ var href = $image.attr('href');
+ } else {
+ var href = $image.parent().attr('href');
+ }
+
+ this.preload($image);
+
+ if (href) return href;
+ return $image.attr('src');
+ },
+
+ preload : function ($image) {
+ this
+ .img($image.closest('li').next())
+ .img($image.closest('li').prev());
+ },
+
+ img : function (img) {
+ if (img.length) {
+ var new_img = new Image(),
+ new_a = $('a', img);
+
+ if (new_a.length) {
+ new_img.src = new_a.attr('href');
+ } else {
+ new_img.src = $('img', img).attr('src');
+ }
+ }
+ return this;
+ },
+
+ // image caption
+
+ caption : function (container, $image) {
+ var caption = $image.data('caption');
+
+ if (caption) {
+ container
+ .html(caption)
+ .show();
+ } else {
+ container
+ .text('')
+ .hide();
+ }
+ return this;
+ },
+
+ // directional methods
+
+ go : function ($ul, direction) {
+ var current = $('.visible', $ul),
+ target = current[direction]();
+
+ if (target.length) {
+ $('img', target)
+ .trigger('click', [current, target]);
+ }
+ },
+
+ shift : function (current, target, callback) {
+ var clearing = target.parent(),
+ old_index = this.settings.prev_index || target.index(),
+ direction = this.direction(clearing, current, target),
+ dir = this.rtl ? 'right' : 'left',
+ left = parseInt(clearing.css('left'), 10),
+ width = target.outerWidth(),
+ skip_shift;
+
+ var dir_obj = {};
+
+ // we use jQuery animate instead of CSS transitions because we
+ // need a callback to unlock the next animation
+ // needs support for RTL **
+ if (target.index() !== old_index && !/skip/.test(direction)){
+ if (/left/.test(direction)) {
+ this.lock();
+ dir_obj[dir] = left + width;
+ clearing.animate(dir_obj, 300, this.unlock());
+ } else if (/right/.test(direction)) {
+ this.lock();
+ dir_obj[dir] = left - width;
+ clearing.animate(dir_obj, 300, this.unlock());
+ }
+ } else if (/skip/.test(direction)) {
+ // the target image is not adjacent to the current image, so
+ // do we scroll right or not
+ skip_shift = target.index() - this.settings.up_count;
+ this.lock();
+
+ if (skip_shift > 0) {
+ dir_obj[dir] = -(skip_shift * width);
+ clearing.animate(dir_obj, 300, this.unlock());
+ } else {
+ dir_obj[dir] = 0;
+ clearing.animate(dir_obj, 300, this.unlock());
+ }
+ }
+
+ callback();
+ },
+
+ direction : function ($el, current, target) {
+ var lis = $('li', $el),
+ li_width = lis.outerWidth() + (lis.outerWidth() / 4),
+ up_count = Math.floor($('.clearing-container').outerWidth() / li_width) - 1,
+ target_index = lis.index(target),
+ response;
+
+ this.settings.up_count = up_count;
+
+ if (this.adjacent(this.settings.prev_index, target_index)) {
+ if ((target_index > up_count)
+ && target_index > this.settings.prev_index) {
+ response = 'right';
+ } else if ((target_index > up_count - 1)
+ && target_index <= this.settings.prev_index) {
+ response = 'left';
+ } else {
+ response = false;
+ }
+ } else {
+ response = 'skip';
+ }
+
+ this.settings.prev_index = target_index;
+
+ return response;
+ },
+
+ adjacent : function (current_index, target_index) {
+ for (var i = target_index + 1; i >= target_index - 1; i--) {
+ if (i === current_index) return true;
+ }
+ return false;
+ },
+
+ // lock management
+
+ lock : function () {
+ this.settings.locked = true;
+ },
+
+ unlock : function () {
+ this.settings.locked = false;
+ },
+
+ locked : function () {
+ return this.settings.locked;
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.clearing');
+ $(window).off('.fndtn.clearing');
+ },
+
+ reflow : function () {
+ this.init();
+ }
+ };
+
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.dropdown = {
+ name : 'dropdown',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'open',
+ is_hover: false,
+ opened: function(){},
+ closed: function(){}
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'throttle');
+
+ this.bindings(method, options);
+ },
+
+ events : function (scope) {
+ var self = this;
+
+ $(this.scope)
+ .off('.dropdown')
+ .on('click.fndtn.dropdown', '[data-dropdown]', function (e) {
+ var settings = $(this).data('dropdown-init') || self.settings;
+ e.preventDefault();
+
+ self.closeall.call(self);
+
+ if (!settings.is_hover || Modernizr.touch) self.toggle($(this));
+ })
+ .on('mouseenter.fndtn.dropdown', '[data-dropdown], [data-dropdown-content]', function (e) {
+ var $this = $(this);
+ clearTimeout(self.timeout);
+
+ if ($this.data('dropdown')) {
+ var dropdown = $('#' + $this.data('dropdown')),
+ target = $this;
+ } else {
+ var dropdown = $this;
+ target = $("[data-dropdown='" + dropdown.attr('id') + "']");
+ }
+
+ var settings = target.data('dropdown-init') || self.settings;
+
+ if($(e.target).data('dropdown') && settings.is_hover) {
+ self.closeall.call(self);
+ }
+
+ if (settings.is_hover) self.open.apply(self, [dropdown, target]);
+ })
+ .on('mouseleave.fndtn.dropdown', '[data-dropdown], [data-dropdown-content]', function (e) {
+ var $this = $(this);
+ self.timeout = setTimeout(function () {
+ if ($this.data('dropdown')) {
+ var settings = $this.data('dropdown-init') || self.settings;
+ if (settings.is_hover) self.close.call(self, $('#' + $this.data('dropdown')));
+ } else {
+ var target = $('[data-dropdown="' + $(this).attr('id') + '"]'),
+ settings = target.data('dropdown-init') || self.settings;
+ if (settings.is_hover) self.close.call(self, $this);
+ }
+ }.bind(this), 150);
+ })
+ .on('click.fndtn.dropdown', function (e) {
+ var parent = $(e.target).closest('[data-dropdown-content]');
+
+ if ($(e.target).data('dropdown') || $(e.target).parent().data('dropdown')) {
+ return;
+ }
+ if (!($(e.target).data('revealId')) &&
+ (parent.length > 0 && ($(e.target).is('[data-dropdown-content]') ||
+ $.contains(parent.first()[0], e.target)))) {
+ e.stopPropagation();
+ return;
+ }
+
+ self.close.call(self, $('[data-dropdown-content]'));
+ })
+ .on('opened.fndtn.dropdown', '[data-dropdown-content]', function () {
+ self.settings.opened.call(this);
+ })
+ .on('closed.fndtn.dropdown', '[data-dropdown-content]', function () {
+ self.settings.closed.call(this);
+ });
+
+ $(window)
+ .off('.dropdown')
+ .on('resize.fndtn.dropdown', self.throttle(function () {
+ self.resize.call(self);
+ }, 50)).trigger('resize');
+ },
+
+ close: function (dropdown) {
+ var self = this;
+ dropdown.each(function () {
+ if ($(this).hasClass(self.settings.active_class)) {
+ $(this)
+ .css(Foundation.rtl ? 'right':'left', '-99999px')
+ .removeClass(self.settings.active_class);
+ $(this).trigger('closed');
+ }
+ });
+ },
+
+ closeall: function() {
+ var self = this;
+ $.each($('[data-dropdown-content]'), function() {
+ self.close.call(self, $(this))
+ });
+ },
+
+ open: function (dropdown, target) {
+ this
+ .css(dropdown
+ .addClass(this.settings.active_class), target);
+ dropdown.trigger('opened');
+ },
+
+ toggle : function (target) {
+ var dropdown = $('#' + target.data('dropdown'));
+ if (dropdown.length === 0) {
+ // No dropdown found, not continuing
+ return;
+ }
+
+ this.close.call(this, $('[data-dropdown-content]').not(dropdown));
+
+ if (dropdown.hasClass(this.settings.active_class)) {
+ this.close.call(this, dropdown);
+ } else {
+ this.close.call(this, $('[data-dropdown-content]'))
+ this.open.call(this, dropdown, target);
+ }
+ },
+
+ resize : function () {
+ var dropdown = $('[data-dropdown-content].open'),
+ target = $("[data-dropdown='" + dropdown.attr('id') + "']");
+
+ if (dropdown.length && target.length) {
+ this.css(dropdown, target);
+ }
+ },
+
+ css : function (dropdown, target) {
+ var offset_parent = dropdown.offsetParent(),
+ position = target.offset();
+
+ position.top -= offset_parent.offset().top;
+ position.left -= offset_parent.offset().left;
+
+ if (this.small()) {
+ dropdown.css({
+ position : 'absolute',
+ width: '95%',
+ 'max-width': 'none',
+ top: position.top + target.outerHeight()
+ });
+ dropdown.css(Foundation.rtl ? 'right':'left', '2.5%');
+ } else {
+ if (!Foundation.rtl && $(window).width() > dropdown.outerWidth() + target.offset().left) {
+ var left = position.left;
+ if (dropdown.hasClass('right')) {
+ dropdown.removeClass('right');
+ }
+ } else {
+ if (!dropdown.hasClass('right')) {
+ dropdown.addClass('right');
+ }
+ var left = position.left - (dropdown.outerWidth() - target.outerWidth());
+ }
+
+ dropdown.attr('style', '').css({
+ position : 'absolute',
+ top: position.top + target.outerHeight(),
+ left: left
+ });
+ }
+
+ return dropdown;
+ },
+
+ small : function () {
+ return matchMedia(Foundation.media_queries.small).matches &&
+ !matchMedia(Foundation.media_queries.medium).matches;
+ },
+
+ off: function () {
+ $(this.scope).off('.fndtn.dropdown');
+ $('html, body').off('.fndtn.dropdown');
+ $(window).off('.fndtn.dropdown');
+ $('[data-dropdown-content]').off('.fndtn.dropdown');
+ this.settings.init = false;
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.interchange = {
+ name : 'interchange',
+
+ version : '5.0.3',
+
+ cache : {},
+
+ images_loaded : false,
+ nodes_loaded : false,
+
+ settings : {
+ load_attr : 'interchange',
+
+ named_queries : {
+ 'default' : 'only screen',
+ small : Foundation.media_queries.small,
+ medium : Foundation.media_queries.medium,
+ large : Foundation.media_queries.large,
+ xlarge : Foundation.media_queries.xlarge,
+ xxlarge: Foundation.media_queries.xxlarge,
+ 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)'
+ },
+
+ directives : {
+ replace: function (el, path, trigger) {
+ // The trigger argument, if called within the directive, fires
+ // an event named after the directive on the element, passing
+ // any parameters along to the event that you pass to trigger.
+ //
+ // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c)
+ //
+ // This allows you to bind a callback like so:
+ // $('#interchangeContainer').on('replace', function (e, a, b, c) {
+ // console.log($(this).html(), a, b, c);
+ // });
+
+ if (/IMG/.test(el[0].nodeName)) {
+ var orig_path = el[0].src;
+
+ if (new RegExp(path, 'i').test(orig_path)) return;
+
+ el[0].src = path;
+
+ return trigger(el[0].src);
+ }
+ var last_path = el.data('interchange-last-path');
+
+ if (last_path == path) return;
+
+ return $.get(path, function (response) {
+ el.html(response);
+ el.data('interchange-last-path', path);
+ trigger();
+ });
+
+ }
+ }
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'throttle');
+
+ this.data_attr = 'data-' + this.settings.load_attr;
+ $.extend(true, this.settings, method, options);
+
+ this.bindings(method, options);
+ this.load('images');
+ this.load('nodes');
+ },
+
+ events : function () {
+ var self = this;
+
+ $(window)
+ .off('.interchange')
+ .on('resize.fndtn.interchange', self.throttle(function () {
+ self.resize.call(self);
+ }, 50));
+
+ return this;
+ },
+
+ resize : function () {
+ var cache = this.cache;
+
+ if(!this.images_loaded || !this.nodes_loaded) {
+ setTimeout($.proxy(this.resize, this), 50);
+ return;
+ }
+
+ for (var uuid in cache) {
+ if (cache.hasOwnProperty(uuid)) {
+ var passed = this.results(uuid, cache[uuid]);
+
+ if (passed) {
+ this.settings.directives[passed
+ .scenario[1]](passed.el, passed.scenario[0], function () {
+ if (arguments[0] instanceof Array) {
+ var args = arguments[0];
+ } else {
+ var args = Array.prototype.slice.call(arguments, 0);
+ }
+
+ passed.el.trigger(passed.scenario[1], args);
+ });
+ }
+ }
+ }
+
+ },
+
+ results : function (uuid, scenarios) {
+ var count = scenarios.length;
+
+ if (count > 0) {
+ var el = this.S('[data-uuid="' + uuid + '"]');
+
+ for (var i = count - 1; i >= 0; i--) {
+ var mq, rule = scenarios[i][2];
+ if (this.settings.named_queries.hasOwnProperty(rule)) {
+ mq = matchMedia(this.settings.named_queries[rule]);
+ } else {
+ mq = matchMedia(rule);
+ }
+ if (mq.matches) {
+ return {el: el, scenario: scenarios[i]};
+ }
+ }
+ }
+
+ return false;
+ },
+
+ load : function (type, force_update) {
+ if (typeof this['cached_' + type] === 'undefined' || force_update) {
+ this['update_' + type]();
+ }
+
+ return this['cached_' + type];
+ },
+
+ update_images : function () {
+ var images = this.S('img[' + this.data_attr + ']'),
+ count = images.length,
+ loaded_count = 0,
+ data_attr = this.data_attr;
+
+ this.cache = {};
+ this.cached_images = [];
+ this.images_loaded = (count === 0);
+
+ for (var i = count - 1; i >= 0; i--) {
+ loaded_count++;
+ if (images[i]) {
+ var str = images[i].getAttribute(data_attr) || '';
+
+ if (str.length > 0) {
+ this.cached_images.push(images[i]);
+ }
+ }
+
+ if(loaded_count === count) {
+ this.images_loaded = true;
+ this.enhance('images');
+ }
+ }
+
+ return this;
+ },
+
+ update_nodes : function () {
+ var nodes = this.S('[' + this.data_attr + ']').not('img'),
+ count = nodes.length,
+ loaded_count = 0,
+ data_attr = this.data_attr;
+
+ this.cached_nodes = [];
+ // Set nodes_loaded to true if there are no nodes
+ // this.nodes_loaded = false;
+ this.nodes_loaded = (count === 0);
+
+
+ for (var i = count - 1; i >= 0; i--) {
+ loaded_count++;
+ var str = nodes[i].getAttribute(data_attr) || '';
+
+ if (str.length > 0) {
+ this.cached_nodes.push(nodes[i]);
+ }
+
+ if(loaded_count === count) {
+ this.nodes_loaded = true;
+ this.enhance('nodes');
+ }
+ }
+
+ return this;
+ },
+
+ enhance : function (type) {
+ var count = this['cached_' + type].length;
+
+ for (var i = count - 1; i >= 0; i--) {
+ this.object($(this['cached_' + type][i]));
+ }
+
+ return $(window).trigger('resize');
+ },
+
+ parse_params : function (path, directive, mq) {
+ return [this.trim(path), this.convert_directive(directive), this.trim(mq)];
+ },
+
+ convert_directive : function (directive) {
+ var trimmed = this.trim(directive);
+
+ if (trimmed.length > 0) {
+ return trimmed;
+ }
+
+ return 'replace';
+ },
+
+ object : function(el) {
+ var raw_arr = this.parse_data_attr(el),
+ scenarios = [], count = raw_arr.length;
+
+ if (count > 0) {
+ for (var i = count - 1; i >= 0; i--) {
+ var split = raw_arr[i].split(/\((.*?)(\))$/);
+
+ if (split.length > 1) {
+ var cached_split = split[0].split(','),
+ params = this.parse_params(cached_split[0],
+ cached_split[1], split[1]);
+
+ scenarios.push(params);
+ }
+ }
+ }
+
+ return this.store(el, scenarios);
+ },
+
+ uuid : function (separator) {
+ var delim = separator || "-";
+
+ function S4() {
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
+ }
+
+ return (S4() + S4() + delim + S4() + delim + S4()
+ + delim + S4() + delim + S4() + S4() + S4());
+ },
+
+ store : function (el, scenarios) {
+ var uuid = this.uuid(),
+ current_uuid = el.data('uuid');
+
+ if (this.cache[current_uuid]) return this.cache[current_uuid];
+
+ el.attr('data-uuid', uuid);
+
+ return this.cache[uuid] = scenarios;
+ },
+
+ trim : function(str) {
+ if (typeof str === 'string') {
+ return $.trim(str);
+ }
+
+ return str;
+ },
+
+ parse_data_attr : function (el) {
+ var raw = el.data(this.settings.load_attr).split(/\[(.*?)\]/),
+ count = raw.length, output = [];
+
+ for (var i = count - 1; i >= 0; i--) {
+ if (raw[i].replace(/[\W\d]+/, '').length > 4) {
+ output.push(raw[i]);
+ }
+ }
+
+ return output;
+ },
+
+ reflow : function () {
+ this.load('images', true);
+ this.load('nodes', true);
+ }
+
+ };
+
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ var Modernizr = Modernizr || false;
+
+ Foundation.libs.joyride = {
+ name : 'joyride',
+
+ version : '5.0.3',
+
+ defaults : {
+ expose : false, // turn on or off the expose feature
+ modal : true, // Whether to cover page with modal during the tour
+ tip_location : 'bottom', // 'top' or 'bottom' in relation to parent
+ nub_position : 'auto', // override on a per tooltip bases
+ scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation
+ scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI.
+ timer : 0, // 0 = no timer , all other numbers = timer in milliseconds
+ start_timer_on_click : true, // true or false - true requires clicking the first button start the timer
+ start_offset : 0, // the index of the tooltip you want to start on (index of the li)
+ next_button : true, // true or false to control whether a next button is used
+ tip_animation : 'fade', // 'pop' or 'fade' in each tip
+ pause_after : [], // array of indexes where to pause the tour after
+ exposed : [], // array of expose elements
+ tip_animation_fade_speed: 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition
+ cookie_monster : false, // true or false to control whether cookies are used
+ cookie_name : 'joyride', // Name the cookie you'll use
+ cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com'
+ cookie_expires : 365, // set when you would like the cookie to expire.
+ tip_container : 'body', // Where will the tip be attached
+ tip_location_patterns : {
+ top: ['bottom'],
+ bottom: [], // bottom should not need to be repositioned
+ left: ['right', 'top', 'bottom'],
+ right: ['left', 'top', 'bottom']
+ },
+ post_ride_callback : function (){}, // A method to call once the tour closes (canceled or complete)
+ post_step_callback : function (){}, // A method to call after each step
+ pre_step_callback : function (){}, // A method to call before each step
+ pre_ride_callback : function (){}, // A method to call before the tour starts (passed index, tip, and cloned exposed element)
+ post_expose_callback : function (){}, // A method to call after an element has been exposed
+ template : { // HTML segments for tip layout
+ link : '×',
+ timer : '
',
+ tip : '
',
+ wrapper : '',
+ button : '',
+ modal : '',
+ expose : '',
+ expose_cover: ''
+ },
+ expose_add_class : '' // One or more space-separated class names to be added to exposed element
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'throttle delay');
+
+ this.settings = this.defaults;
+
+ this.bindings(method, options)
+ },
+
+ events : function () {
+ var self = this;
+
+ $(this.scope)
+ .off('.joyride')
+ .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) {
+ e.preventDefault();
+
+ if (this.settings.$li.next().length < 1) {
+ this.end();
+ } else if (this.settings.timer > 0) {
+ clearTimeout(this.settings.automate);
+ this.hide();
+ this.show();
+ this.startTimer();
+ } else {
+ this.hide();
+ this.show();
+ }
+
+ }.bind(this))
+
+ .on('click.fndtn.joyride', '.joyride-close-tip', function (e) {
+ e.preventDefault();
+ this.end();
+ }.bind(this));
+
+ $(window)
+ .off('.joyride')
+ .on('resize.fndtn.joyride', self.throttle(function () {
+ if ($('[data-joyride]').length > 0 && self.settings.$next_tip) {
+ if (self.settings.exposed.length > 0) {
+ var $els = $(self.settings.exposed);
+
+ $els.each(function () {
+ var $this = $(this);
+ self.un_expose($this);
+ self.expose($this);
+ });
+ }
+
+ if (self.is_phone()) {
+ self.pos_phone();
+ } else {
+ self.pos_default(false, true);
+ }
+ }
+ }, 100));
+ },
+
+ start : function () {
+ var self = this,
+ $this = $('[data-joyride]', this.scope),
+ integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'],
+ int_settings_count = integer_settings.length;
+
+ if (!$this.length > 0) return;
+
+ if (!this.settings.init) this.events();
+
+ this.settings = $this.data('joyride-init');
+
+ // non configureable settings
+ this.settings.$content_el = $this;
+ this.settings.$body = $(this.settings.tip_container);
+ this.settings.body_offset = $(this.settings.tip_container).position();
+ this.settings.$tip_content = this.settings.$content_el.find('> li');
+ this.settings.paused = false;
+ this.settings.attempts = 0;
+
+ // can we create cookies?
+ if (typeof $.cookie !== 'function') {
+ this.settings.cookie_monster = false;
+ }
+
+ // generate the tips and insert into dom.
+ if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) {
+ this.settings.$tip_content.each(function (index) {
+ var $this = $(this);
+ this.settings = $.extend({}, self.defaults, self.data_options($this))
+
+ // Make sure that settings parsed from data_options are integers where necessary
+ for (var i = int_settings_count - 1; i >= 0; i--) {
+ self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10);
+ }
+ self.create({$li : $this, index : index});
+ });
+
+ // show first tip
+ if (!this.settings.start_timer_on_click && this.settings.timer > 0) {
+ this.show('init');
+ this.startTimer();
+ } else {
+ this.show('init');
+ }
+
+ }
+ },
+
+ resume : function () {
+ this.set_li();
+ this.show();
+ },
+
+ tip_template : function (opts) {
+ var $blank, content;
+
+ opts.tip_class = opts.tip_class || '';
+
+ $blank = $(this.settings.template.tip).addClass(opts.tip_class);
+ content = $.trim($(opts.li).html()) +
+ this.button_text(opts.button_text) +
+ this.settings.template.link +
+ this.timer_instance(opts.index);
+
+ $blank.append($(this.settings.template.wrapper));
+ $blank.first().attr('data-index', opts.index);
+ $('.joyride-content-wrapper', $blank).append(content);
+
+ return $blank[0];
+ },
+
+ timer_instance : function (index) {
+ var txt;
+
+ if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) {
+ txt = '';
+ } else {
+ txt = $(this.settings.template.timer)[0].outerHTML;
+ }
+ return txt;
+ },
+
+ button_text : function (txt) {
+ if (this.settings.next_button) {
+ txt = $.trim(txt) || 'Next';
+ txt = $(this.settings.template.button).append(txt)[0].outerHTML;
+ } else {
+ txt = '';
+ }
+ return txt;
+ },
+
+ create : function (opts) {
+ var buttonText = opts.$li.attr('data-button') || opts.$li.attr('data-text'),
+ tipClass = opts.$li.attr('class'),
+ $tip_content = $(this.tip_template({
+ tip_class : tipClass,
+ index : opts.index,
+ button_text : buttonText,
+ li : opts.$li
+ }));
+
+ $(this.settings.tip_container).append($tip_content);
+ },
+
+ show : function (init) {
+ var $timer = null;
+
+ // are we paused?
+ if (this.settings.$li === undefined
+ || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) {
+
+ // don't go to the next li if the tour was paused
+ if (this.settings.paused) {
+ this.settings.paused = false;
+ } else {
+ this.set_li(init);
+ }
+
+ this.settings.attempts = 0;
+
+ if (this.settings.$li.length && this.settings.$target.length > 0) {
+ if (init) { //run when we first start
+ this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip);
+ if (this.settings.modal) {
+ this.show_modal();
+ }
+ }
+
+ this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip);
+
+ if (this.settings.modal && this.settings.expose) {
+ this.expose();
+ }
+
+ this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li));
+
+ this.settings.timer = parseInt(this.settings.timer, 10);
+
+ this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location];
+
+ // scroll if not modal
+ if (!/body/i.test(this.settings.$target.selector)) {
+ this.scroll_to();
+ }
+
+ if (this.is_phone()) {
+ this.pos_phone(true);
+ } else {
+ this.pos_default(true);
+ }
+
+ $timer = this.settings.$next_tip.find('.joyride-timer-indicator');
+
+ if (/pop/i.test(this.settings.tip_animation)) {
+
+ $timer.width(0);
+
+ if (this.settings.timer > 0) {
+
+ this.settings.$next_tip.show();
+
+ this.delay(function () {
+ $timer.animate({
+ width: $timer.parent().width()
+ }, this.settings.timer, 'linear');
+ }.bind(this), this.settings.tip_animation_fade_speed);
+
+ } else {
+ this.settings.$next_tip.show();
+
+ }
+
+
+ } else if (/fade/i.test(this.settings.tip_animation)) {
+
+ $timer.width(0);
+
+ if (this.settings.timer > 0) {
+
+ this.settings.$next_tip
+ .fadeIn(this.settings.tip_animation_fade_speed)
+ .show();
+
+ this.delay(function () {
+ $timer.animate({
+ width: $timer.parent().width()
+ }, this.settings.timer, 'linear');
+ }.bind(this), this.settings.tip_animation_fadeSpeed);
+
+ } else {
+ this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed);
+ }
+ }
+
+ this.settings.$current_tip = this.settings.$next_tip;
+
+ // skip non-existant targets
+ } else if (this.settings.$li && this.settings.$target.length < 1) {
+
+ this.show();
+
+ } else {
+
+ this.end();
+
+ }
+ } else {
+
+ this.settings.paused = true;
+
+ }
+
+ },
+
+ is_phone : function () {
+ return matchMedia(Foundation.media_queries.small).matches &&
+ !matchMedia(Foundation.media_queries.medium).matches;
+ },
+
+ hide : function () {
+ if (this.settings.modal && this.settings.expose) {
+ this.un_expose();
+ }
+
+ if (!this.settings.modal) {
+ $('.joyride-modal-bg').hide();
+ }
+
+ // Prevent scroll bouncing...wait to remove from layout
+ this.settings.$current_tip.css('visibility', 'hidden');
+ setTimeout($.proxy(function() {
+ this.hide();
+ this.css('visibility', 'visible');
+ }, this.settings.$current_tip), 0);
+ this.settings.post_step_callback(this.settings.$li.index(),
+ this.settings.$current_tip);
+ },
+
+ set_li : function (init) {
+ if (init) {
+ this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset);
+ this.set_next_tip();
+ this.settings.$current_tip = this.settings.$next_tip;
+ } else {
+ this.settings.$li = this.settings.$li.next();
+ this.set_next_tip();
+ }
+
+ this.set_target();
+ },
+
+ set_next_tip : function () {
+ this.settings.$next_tip = $(".joyride-tip-guide").eq(this.settings.$li.index());
+ this.settings.$next_tip.data('closed', '');
+ },
+
+ set_target : function () {
+ var cl = this.settings.$li.attr('data-class'),
+ id = this.settings.$li.attr('data-id'),
+ $sel = function () {
+ if (id) {
+ return $(document.getElementById(id));
+ } else if (cl) {
+ return $('.' + cl).first();
+ } else {
+ return $('body');
+ }
+ };
+
+ this.settings.$target = $sel();
+ },
+
+ scroll_to : function () {
+ var window_half, tipOffset;
+
+ window_half = $(window).height() / 2;
+ tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight());
+
+ if (tipOffset != 0) {
+ $('html, body').animate({
+ scrollTop: tipOffset
+ }, this.settings.scroll_speed, 'swing');
+ }
+ },
+
+ paused : function () {
+ return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1);
+ },
+
+ restart : function () {
+ this.hide();
+ this.settings.$li = undefined;
+ this.show('init');
+ },
+
+ pos_default : function (init, resizing) {
+ var half_fold = Math.ceil($(window).height() / 2),
+ tip_position = this.settings.$next_tip.offset(),
+ $nub = this.settings.$next_tip.find('.joyride-nub'),
+ nub_width = Math.ceil($nub.outerWidth() / 2),
+ nub_height = Math.ceil($nub.outerHeight() / 2),
+ toggle = init || false;
+
+ // tip must not be "display: none" to calculate position
+ if (toggle) {
+ this.settings.$next_tip.css('visibility', 'hidden');
+ this.settings.$next_tip.show();
+ }
+
+ if (typeof resizing === 'undefined') {
+ resizing = false;
+ }
+
+ if (!/body/i.test(this.settings.$target.selector)) {
+ if (this.bottom()) {
+ if (this.rtl) {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight()),
+ left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()});
+ } else {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight()),
+ left: this.settings.$target.offset().left});
+ }
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'top');
+
+ } else if (this.top()) {
+ if (this.rtl) {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height),
+ left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()});
+ } else {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height),
+ left: this.settings.$target.offset().left});
+ }
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom');
+
+ } else if (this.right()) {
+
+ this.settings.$next_tip.css({
+ top: this.settings.$target.offset().top,
+ left: (this.outerWidth(this.settings.$target) + this.settings.$target.offset().left + nub_width)});
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'left');
+
+ } else if (this.left()) {
+
+ this.settings.$next_tip.css({
+ top: this.settings.$target.offset().top,
+ left: (this.settings.$target.offset().left - this.outerWidth(this.settings.$next_tip) - nub_width)});
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'right');
+
+ }
+
+ if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) {
+
+ $nub.removeClass('bottom')
+ .removeClass('top')
+ .removeClass('right')
+ .removeClass('left');
+
+ this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts];
+
+ this.settings.attempts++;
+
+ this.pos_default();
+
+ }
+
+ } else if (this.settings.$li.length) {
+
+ this.pos_modal($nub);
+
+ }
+
+ if (toggle) {
+ this.settings.$next_tip.hide();
+ this.settings.$next_tip.css('visibility', 'visible');
+ }
+
+ },
+
+ pos_phone : function (init) {
+ var tip_height = this.settings.$next_tip.outerHeight(),
+ tip_offset = this.settings.$next_tip.offset(),
+ target_height = this.settings.$target.outerHeight(),
+ $nub = $('.joyride-nub', this.settings.$next_tip),
+ nub_height = Math.ceil($nub.outerHeight() / 2),
+ toggle = init || false;
+
+ $nub.removeClass('bottom')
+ .removeClass('top')
+ .removeClass('right')
+ .removeClass('left');
+
+ if (toggle) {
+ this.settings.$next_tip.css('visibility', 'hidden');
+ this.settings.$next_tip.show();
+ }
+
+ if (!/body/i.test(this.settings.$target.selector)) {
+
+ if (this.top()) {
+
+ this.settings.$next_tip.offset({top: this.settings.$target.offset().top - tip_height - nub_height});
+ $nub.addClass('bottom');
+
+ } else {
+
+ this.settings.$next_tip.offset({top: this.settings.$target.offset().top + target_height + nub_height});
+ $nub.addClass('top');
+
+ }
+
+ } else if (this.settings.$li.length) {
+ this.pos_modal($nub);
+ }
+
+ if (toggle) {
+ this.settings.$next_tip.hide();
+ this.settings.$next_tip.css('visibility', 'visible');
+ }
+ },
+
+ pos_modal : function ($nub) {
+ this.center();
+ $nub.hide();
+
+ this.show_modal();
+ },
+
+ show_modal : function () {
+ if (!this.settings.$next_tip.data('closed')) {
+ var joyridemodalbg = $('.joyride-modal-bg');
+ if (joyridemodalbg.length < 1) {
+ $('body').append(this.settings.template.modal).show();
+ }
+
+ if (/pop/i.test(this.settings.tip_animation)) {
+ joyridemodalbg.show();
+ } else {
+ joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed);
+ }
+ }
+ },
+
+ expose : function () {
+ var expose,
+ exposeCover,
+ el,
+ origCSS,
+ origClasses,
+ randId = 'expose-'+Math.floor(Math.random()*10000);
+
+ if (arguments.length > 0 && arguments[0] instanceof $) {
+ el = arguments[0];
+ } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){
+ el = this.settings.$target;
+ } else {
+ return false;
+ }
+
+ if(el.length < 1){
+ if(window.console){
+ console.error('element not valid', el);
+ }
+ return false;
+ }
+
+ expose = $(this.settings.template.expose);
+ this.settings.$body.append(expose);
+ expose.css({
+ top: el.offset().top,
+ left: el.offset().left,
+ width: el.outerWidth(true),
+ height: el.outerHeight(true)
+ });
+
+ exposeCover = $(this.settings.template.expose_cover);
+
+ origCSS = {
+ zIndex: el.css('z-index'),
+ position: el.css('position')
+ };
+
+ origClasses = el.attr('class') == null ? '' : el.attr('class');
+
+ el.css('z-index',parseInt(expose.css('z-index'))+1);
+
+ if (origCSS.position == 'static') {
+ el.css('position','relative');
+ }
+
+ el.data('expose-css',origCSS);
+ el.data('orig-class', origClasses);
+ el.attr('class', origClasses + ' ' + this.settings.expose_add_class);
+
+ exposeCover.css({
+ top: el.offset().top,
+ left: el.offset().left,
+ width: el.outerWidth(true),
+ height: el.outerHeight(true)
+ });
+
+ if (this.settings.modal) this.show_modal();
+
+ this.settings.$body.append(exposeCover);
+ expose.addClass(randId);
+ exposeCover.addClass(randId);
+ el.data('expose', randId);
+ this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el);
+ this.add_exposed(el);
+ },
+
+ un_expose : function () {
+ var exposeId,
+ el,
+ expose ,
+ origCSS,
+ origClasses,
+ clearAll = false;
+
+ if (arguments.length > 0 && arguments[0] instanceof $) {
+ el = arguments[0];
+ } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){
+ el = this.settings.$target;
+ } else {
+ return false;
+ }
+
+ if(el.length < 1){
+ if (window.console) {
+ console.error('element not valid', el);
+ }
+ return false;
+ }
+
+ exposeId = el.data('expose');
+ expose = $('.' + exposeId);
+
+ if (arguments.length > 1) {
+ clearAll = arguments[1];
+ }
+
+ if (clearAll === true) {
+ $('.joyride-expose-wrapper,.joyride-expose-cover').remove();
+ } else {
+ expose.remove();
+ }
+
+ origCSS = el.data('expose-css');
+
+ if (origCSS.zIndex == 'auto') {
+ el.css('z-index', '');
+ } else {
+ el.css('z-index', origCSS.zIndex);
+ }
+
+ if (origCSS.position != el.css('position')) {
+ if(origCSS.position == 'static') {// this is default, no need to set it.
+ el.css('position', '');
+ } else {
+ el.css('position', origCSS.position);
+ }
+ }
+
+ origClasses = el.data('orig-class');
+ el.attr('class', origClasses);
+ el.removeData('orig-classes');
+
+ el.removeData('expose');
+ el.removeData('expose-z-index');
+ this.remove_exposed(el);
+ },
+
+ add_exposed: function(el){
+ this.settings.exposed = this.settings.exposed || [];
+ if (el instanceof $ || typeof el === 'object') {
+ this.settings.exposed.push(el[0]);
+ } else if (typeof el == 'string') {
+ this.settings.exposed.push(el);
+ }
+ },
+
+ remove_exposed: function(el){
+ var search, count;
+ if (el instanceof $) {
+ search = el[0]
+ } else if (typeof el == 'string'){
+ search = el;
+ }
+
+ this.settings.exposed = this.settings.exposed || [];
+ count = this.settings.exposed.length;
+
+ for (var i=0; i < count; i++) {
+ if (this.settings.exposed[i] == search) {
+ this.settings.exposed.splice(i, 1);
+ return;
+ }
+ }
+ },
+
+ center : function () {
+ var $w = $(window);
+
+ this.settings.$next_tip.css({
+ top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()),
+ left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft())
+ });
+
+ return true;
+ },
+
+ bottom : function () {
+ return /bottom/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ top : function () {
+ return /top/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ right : function () {
+ return /right/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ left : function () {
+ return /left/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ corners : function (el) {
+ var w = $(window),
+ window_half = w.height() / 2,
+ //using this to calculate since scroll may not have finished yet.
+ tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()),
+ right = w.width() + w.scrollLeft(),
+ offsetBottom = w.height() + tipOffset,
+ bottom = w.height() + w.scrollTop(),
+ top = w.scrollTop();
+
+ if (tipOffset < top) {
+ if (tipOffset < 0) {
+ top = 0;
+ } else {
+ top = tipOffset;
+ }
+ }
+
+ if (offsetBottom > bottom) {
+ bottom = offsetBottom;
+ }
+
+ return [
+ el.offset().top < top,
+ right < el.offset().left + el.outerWidth(),
+ bottom < el.offset().top + el.outerHeight(),
+ w.scrollLeft() > el.offset().left
+ ];
+ },
+
+ visible : function (hidden_corners) {
+ var i = hidden_corners.length;
+
+ while (i--) {
+ if (hidden_corners[i]) return false;
+ }
+
+ return true;
+ },
+
+ nub_position : function (nub, pos, def) {
+ if (pos === 'auto') {
+ nub.addClass(def);
+ } else {
+ nub.addClass(pos);
+ }
+ },
+
+ startTimer : function () {
+ if (this.settings.$li.length) {
+ this.settings.automate = setTimeout(function () {
+ this.hide();
+ this.show();
+ this.startTimer();
+ }.bind(this), this.settings.timer);
+ } else {
+ clearTimeout(this.settings.automate);
+ }
+ },
+
+ end : function () {
+ if (this.settings.cookie_monster) {
+ $.cookie(this.settings.cookie_name, 'ridden', { expires: this.settings.cookie_expires, domain: this.settings.cookie_domain });
+ }
+
+ if (this.settings.timer > 0) {
+ clearTimeout(this.settings.automate);
+ }
+
+ if (this.settings.modal && this.settings.expose) {
+ this.un_expose();
+ }
+
+ this.settings.$next_tip.data('closed', true);
+
+ $('.joyride-modal-bg').hide();
+ this.settings.$current_tip.hide();
+ this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip);
+ this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip);
+ $('.joyride-tip-guide').remove();
+ },
+
+ off : function () {
+ $(this.scope).off('.joyride');
+ $(window).off('.joyride');
+ $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride');
+ $('.joyride-tip-guide, .joyride-modal-bg').remove();
+ clearTimeout(this.settings.automate);
+ this.settings = {};
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.magellan = {
+ name : 'magellan',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'active',
+ threshold: 0
+ },
+
+ init : function (scope, method, options) {
+ this.fixed_magellan = $("[data-magellan-expedition]");
+ this.magellan_placeholder = $('').css({
+ height: this.fixed_magellan.outerHeight(true)
+ }).hide().insertAfter(this.fixed_magellan);
+ this.set_threshold();
+ this.set_active_class(method);
+ this.last_destination = $('[data-magellan-destination]').last();
+ this.events();
+ },
+
+ events : function () {
+ var self = this;
+
+ $(this.scope)
+ .off('.magellan')
+ .on('arrival.fndtn.magellan', '[data-magellan-arrival]', function (e) {
+ var $destination = $(this),
+ $expedition = $destination.closest('[data-magellan-expedition]'),
+ active_class = $expedition.attr('data-magellan-active-class')
+ || self.settings.active_class;
+
+ $destination
+ .closest('[data-magellan-expedition]')
+ .find('[data-magellan-arrival]')
+ .not($destination)
+ .removeClass(active_class);
+ $destination.addClass(active_class);
+ });
+
+ this.fixed_magellan
+ .off('.magellan')
+ .on('update-position.fndtn.magellan', function() {
+ var $el = $(this);
+ })
+ .trigger('update-position');
+
+ $(window)
+ .off('.magellan')
+ .on('resize.fndtn.magellan', function() {
+ this.fixed_magellan.trigger('update-position');
+ }.bind(this))
+ .on('scroll.fndtn.magellan', function() {
+ var windowScrollTop = $(window).scrollTop();
+ self.fixed_magellan.each(function() {
+ var $expedition = $(this);
+ if (typeof $expedition.data('magellan-top-offset') === 'undefined') {
+ $expedition.data('magellan-top-offset', $expedition.offset().top);
+ }
+ if (typeof $expedition.data('magellan-fixed-position') === 'undefined') {
+ $expedition.data('magellan-fixed-position', false);
+ }
+ var fixed_position = (windowScrollTop + self.settings.threshold) > $expedition.data("magellan-top-offset");
+ var attr = $expedition.attr('data-magellan-top-offset');
+
+ if ($expedition.data("magellan-fixed-position") != fixed_position) {
+ $expedition.data("magellan-fixed-position", fixed_position);
+ if (fixed_position) {
+ $expedition.addClass('fixed');
+ $expedition.css({position:"fixed", top:0});
+ self.magellan_placeholder.show();
+ } else {
+ $expedition.removeClass('fixed');
+ $expedition.css({position:"", top:""});
+ self.magellan_placeholder.hide();
+ }
+ if (fixed_position && typeof attr != 'undefined' && attr != false) {
+ $expedition.css({position:"fixed", top:attr + "px"});
+ }
+ }
+ });
+ });
+
+
+ if (this.last_destination.length > 0) {
+ $(window).on('scroll.fndtn.magellan', function (e) {
+ var windowScrollTop = $(window).scrollTop(),
+ scrolltopPlusHeight = windowScrollTop + $(window).height(),
+ lastDestinationTop = Math.ceil(self.last_destination.offset().top);
+
+ $('[data-magellan-destination]').each(function () {
+ var $destination = $(this),
+ destination_name = $destination.attr('data-magellan-destination'),
+ topOffset = $destination.offset().top - $destination.outerHeight(true) - windowScrollTop;
+ if (topOffset <= self.settings.threshold) {
+ $("[data-magellan-arrival='" + destination_name + "']").trigger('arrival');
+ }
+ // In large screens we may hit the bottom of the page and dont reach the top of the last magellan-destination, so lets force it
+ if (scrolltopPlusHeight >= $(self.scope).height() && lastDestinationTop > windowScrollTop && lastDestinationTop < scrolltopPlusHeight) {
+ $('[data-magellan-arrival]').last().trigger('arrival');
+ }
+ });
+ });
+ }
+ },
+
+ set_threshold : function () {
+ if (typeof this.settings.threshold !== 'number') {
+ this.settings.threshold = (this.fixed_magellan.length > 0) ?
+ this.fixed_magellan.outerHeight(true) : 0;
+ }
+ },
+
+ set_active_class : function (options) {
+ if (options && options.active_class && typeof options.active_class === 'string') {
+ this.settings.active_class = options.active_class;
+ }
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.magellan');
+ $(window).off('.fndtn.magellan');
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.offcanvas = {
+ name : 'offcanvas',
+
+ version : '5.0.3',
+
+ settings : {},
+
+ init : function (scope, method, options) {
+ this.events();
+ },
+
+ events : function () {
+ $(this.scope).off('.offcanvas')
+ .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) {
+ e.preventDefault();
+ $(this).closest('.off-canvas-wrap').toggleClass('move-right');
+ })
+ .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
+ e.preventDefault();
+ $(".off-canvas-wrap").removeClass("move-right");
+ })
+ .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
+ e.preventDefault();
+ $(this).closest(".off-canvas-wrap").toggleClass("move-left");
+ })
+ .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
+ e.preventDefault();
+ $(".off-canvas-wrap").removeClass("move-left");
+ });
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ var noop = function() {};
+
+ var Orbit = function(el, settings) {
+ // Don't reinitialize plugin
+ if (el.hasClass(settings.slides_container_class)) {
+ return this;
+ }
+
+ var self = this,
+ container,
+ slides_container = el,
+ number_container,
+ bullets_container,
+ timer_container,
+ idx = 0,
+ animate,
+ timer,
+ locked = false,
+ adjust_height_after = false;
+
+ slides_container.children().first().addClass(settings.active_slide_class);
+
+ self.update_slide_number = function(index) {
+ if (settings.slide_number) {
+ number_container.find('span:first').text(parseInt(index)+1);
+ number_container.find('span:last').text(slides_container.children().length);
+ }
+ if (settings.bullets) {
+ bullets_container.children().removeClass(settings.bullets_active_class);
+ $(bullets_container.children().get(index)).addClass(settings.bullets_active_class);
+ }
+ };
+
+ self.update_active_link = function(index) {
+ var link = $('a[data-orbit-link="'+slides_container.children().eq(index).attr('data-orbit-slide')+'"]');
+ link.siblings().removeClass(settings.bullets_active_class);
+ link.addClass(settings.bullets_active_class);
+ };
+
+ self.build_markup = function() {
+ slides_container.wrap('');
+ container = slides_container.parent();
+ slides_container.addClass(settings.slides_container_class);
+
+ if (settings.navigation_arrows) {
+ container.append($('').addClass(settings.prev_class));
+ container.append($('').addClass(settings.next_class));
+ }
+
+ if (settings.timer) {
+ timer_container = $('').addClass(settings.timer_container_class);
+ timer_container.append('
');
+ timer_container.append($('').addClass(settings.timer_progress_class));
+ timer_container.addClass(settings.timer_paused_class);
+ container.append(timer_container);
+ }
+
+ if (settings.slide_number) {
+ number_container = $('
').addClass(settings.slide_number_class);
+ number_container.append('
' + settings.slide_number_text + '
');
+ container.append(number_container);
+ }
+
+ if (settings.bullets) {
+ bullets_container = $('
').addClass(settings.bullets_container_class);
+ container.append(bullets_container);
+ bullets_container.wrap('');
+ slides_container.children().each(function(idx, el) {
+ var bullet = $('- ').attr('data-orbit-slide', idx);
+ bullets_container.append(bullet);
+ });
+ }
+
+ if (settings.stack_on_small) {
+ container.addClass(settings.stack_on_small_class);
+ }
+
+ self.update_slide_number(0);
+ self.update_active_link(0);
+ };
+
+ self._goto = function(next_idx, start_timer) {
+ // if (locked) {return false;}
+ if (next_idx === idx) {return false;}
+ if (typeof timer === 'object') {timer.restart();}
+ var slides = slides_container.children();
+
+ var dir = 'next';
+ locked = true;
+ if (next_idx < idx) {dir = 'prev';}
+ if (next_idx >= slides.length) {
+ if (!settings.circular) return false;
+ next_idx = 0;
+ } else if (next_idx < 0) {
+ if (!settings.circular) return false;
+ next_idx = slides.length - 1;
+ }
+
+ var current = $(slides.get(idx));
+ var next = $(slides.get(next_idx));
+
+ current.css('zIndex', 2);
+ current.removeClass(settings.active_slide_class);
+ next.css('zIndex', 4).addClass(settings.active_slide_class);
+
+ slides_container.trigger('before-slide-change.fndtn.orbit');
+ settings.before_slide_change();
+ self.update_active_link(next_idx);
+
+ var callback = function() {
+ var unlock = function() {
+ idx = next_idx;
+ locked = false;
+ if (start_timer === true) {timer = self.create_timer(); timer.start();}
+ self.update_slide_number(idx);
+ slides_container.trigger('after-slide-change.fndtn.orbit',[{slide_number: idx, total_slides: slides.length}]);
+ settings.after_slide_change(idx, slides.length);
+ };
+ if (slides_container.height() != next.height() && settings.variable_height) {
+ slides_container.animate({'height': next.height()}, 250, 'linear', unlock);
+ } else {
+ unlock();
+ }
+ };
+
+ if (slides.length === 1) {callback(); return false;}
+
+ var start_animation = function() {
+ if (dir === 'next') {animate.next(current, next, callback);}
+ if (dir === 'prev') {animate.prev(current, next, callback);}
+ };
+
+ if (next.height() > slides_container.height() && settings.variable_height) {
+ slides_container.animate({'height': next.height()}, 250, 'linear', start_animation);
+ } else {
+ start_animation();
+ }
+ };
+
+ self.next = function(e) {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ self._goto(idx + 1);
+ };
+
+ self.prev = function(e) {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ self._goto(idx - 1);
+ };
+
+ self.link_custom = function(e) {
+ e.preventDefault();
+ var link = $(this).attr('data-orbit-link');
+ if ((typeof link === 'string') && (link = $.trim(link)) != "") {
+ var slide = container.find('[data-orbit-slide='+link+']');
+ if (slide.index() != -1) {self._goto(slide.index());}
+ }
+ };
+
+ self.link_bullet = function(e) {
+ var index = $(this).attr('data-orbit-slide');
+ if ((typeof index === 'string') && (index = $.trim(index)) != "") {
+ if(isNaN(parseInt(index)))
+ {
+ var slide = container.find('[data-orbit-slide='+index+']');
+ if (slide.index() != -1) {self._goto(slide.index() + 1);}
+ }
+ else
+ {
+ self._goto(parseInt(index));
+ }
+ }
+
+ }
+
+ self.timer_callback = function() {
+ self._goto(idx + 1, true);
+ }
+
+ self.compute_dimensions = function() {
+ var current = $(slides_container.children().get(idx));
+ var h = current.height();
+ if (!settings.variable_height) {
+ slides_container.children().each(function(){
+ if ($(this).height() > h) { h = $(this).height(); }
+ });
+ }
+ slides_container.height(h);
+ };
+
+ self.create_timer = function() {
+ var t = new Timer(
+ container.find('.'+settings.timer_container_class),
+ settings,
+ self.timer_callback
+ );
+ return t;
+ };
+
+ self.stop_timer = function() {
+ if (typeof timer === 'object') timer.stop();
+ };
+
+ self.toggle_timer = function() {
+ var t = container.find('.'+settings.timer_container_class);
+ if (t.hasClass(settings.timer_paused_class)) {
+ if (typeof timer === 'undefined') {timer = self.create_timer();}
+ timer.start();
+ }
+ else {
+ if (typeof timer === 'object') {timer.stop();}
+ }
+ };
+
+ self.init = function() {
+ self.build_markup();
+ if (settings.timer) {timer = self.create_timer(); timer.start();}
+ animate = new FadeAnimation(settings, slides_container);
+ if (settings.animation === 'slide')
+ animate = new SlideAnimation(settings, slides_container);
+ container.on('click', '.'+settings.next_class, self.next);
+ container.on('click', '.'+settings.prev_class, self.prev);
+ container.on('click', '[data-orbit-slide]', self.link_bullet);
+ container.on('click', self.toggle_timer);
+ if (settings.swipe) {
+ container.on('touchstart.fndtn.orbit', function(e) {
+ if (!e.touches) {e = e.originalEvent;}
+ var data = {
+ start_page_x: e.touches[0].pageX,
+ start_page_y: e.touches[0].pageY,
+ start_time: (new Date()).getTime(),
+ delta_x: 0,
+ is_scrolling: undefined
+ };
+ container.data('swipe-transition', data);
+ e.stopPropagation();
+ })
+ .on('touchmove.fndtn.orbit', function(e) {
+ if (!e.touches) { e = e.originalEvent; }
+ // Ignore pinch/zoom events
+ if(e.touches.length > 1 || e.scale && e.scale !== 1) return;
+
+ var data = container.data('swipe-transition');
+ if (typeof data === 'undefined') {data = {};}
+
+ data.delta_x = e.touches[0].pageX - data.start_page_x;
+
+ if ( typeof data.is_scrolling === 'undefined') {
+ data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
+ }
+
+ if (!data.is_scrolling && !data.active) {
+ e.preventDefault();
+ var direction = (data.delta_x < 0) ? (idx+1) : (idx-1);
+ data.active = true;
+ self._goto(direction);
+ }
+ })
+ .on('touchend.fndtn.orbit', function(e) {
+ container.data('swipe-transition', {});
+ e.stopPropagation();
+ })
+ }
+ container.on('mouseenter.fndtn.orbit', function(e) {
+ if (settings.timer && settings.pause_on_hover) {
+ self.stop_timer();
+ }
+ })
+ .on('mouseleave.fndtn.orbit', function(e) {
+ if (settings.timer && settings.resume_on_mouseout) {
+ timer.start();
+ }
+ });
+
+ $(document).on('click', '[data-orbit-link]', self.link_custom);
+ $(window).on('resize', self.compute_dimensions);
+ $(window).on('load', self.compute_dimensions);
+ $(window).on('load', function(){
+ container.prev('.preloader').css('display', 'none');
+ });
+ slides_container.trigger('ready.fndtn.orbit');
+ };
+
+ self.init();
+ };
+
+ var Timer = function(el, settings, callback) {
+ var self = this,
+ duration = settings.timer_speed,
+ progress = el.find('.'+settings.timer_progress_class),
+ start,
+ timeout,
+ left = -1;
+
+ this.update_progress = function(w) {
+ var new_progress = progress.clone();
+ new_progress.attr('style', '');
+ new_progress.css('width', w+'%');
+ progress.replaceWith(new_progress);
+ progress = new_progress;
+ };
+
+ this.restart = function() {
+ clearTimeout(timeout);
+ el.addClass(settings.timer_paused_class);
+ left = -1;
+ self.update_progress(0);
+ };
+
+ this.start = function() {
+ if (!el.hasClass(settings.timer_paused_class)) {return true;}
+ left = (left === -1) ? duration : left;
+ el.removeClass(settings.timer_paused_class);
+ start = new Date().getTime();
+ progress.animate({'width': '100%'}, left, 'linear');
+ timeout = setTimeout(function() {
+ self.restart();
+ callback();
+ }, left);
+ el.trigger('timer-started.fndtn.orbit')
+ };
+
+ this.stop = function() {
+ if (el.hasClass(settings.timer_paused_class)) {return true;}
+ clearTimeout(timeout);
+ el.addClass(settings.timer_paused_class);
+ var end = new Date().getTime();
+ left = left - (end - start);
+ var w = 100 - ((left / duration) * 100);
+ self.update_progress(w);
+ el.trigger('timer-stopped.fndtn.orbit');
+ };
+ };
+
+ var SlideAnimation = function(settings, container) {
+ var duration = settings.animation_speed;
+ var is_rtl = ($('html[dir=rtl]').length === 1);
+ var margin = is_rtl ? 'marginRight' : 'marginLeft';
+ var animMargin = {};
+ animMargin[margin] = '0%';
+
+ this.next = function(current, next, callback) {
+ current.animate({marginLeft:'-100%'}, duration);
+ next.animate(animMargin, duration, function() {
+ current.css(margin, '100%');
+ callback();
+ });
+ };
+
+ this.prev = function(current, prev, callback) {
+ current.animate({marginLeft:'100%'}, duration);
+ prev.css(margin, '-100%');
+ prev.animate(animMargin, duration, function() {
+ current.css(margin, '100%');
+ callback();
+ });
+ };
+ };
+
+ var FadeAnimation = function(settings, container) {
+ var duration = settings.animation_speed;
+ var is_rtl = ($('html[dir=rtl]').length === 1);
+ var margin = is_rtl ? 'marginRight' : 'marginLeft';
+
+ this.next = function(current, next, callback) {
+ next.css({'margin':'0%', 'opacity':'0.01'});
+ next.animate({'opacity':'1'}, duration, 'linear', function() {
+ current.css('margin', '100%');
+ callback();
+ });
+ };
+
+ this.prev = function(current, prev, callback) {
+ prev.css({'margin':'0%', 'opacity':'0.01'});
+ prev.animate({'opacity':'1'}, duration, 'linear', function() {
+ current.css('margin', '100%');
+ callback();
+ });
+ };
+ };
+
+
+ Foundation.libs = Foundation.libs || {};
+
+ Foundation.libs.orbit = {
+ name: 'orbit',
+
+ version: '5.0.3',
+
+ settings: {
+ animation: 'slide',
+ timer_speed: 10000,
+ pause_on_hover: true,
+ resume_on_mouseout: false,
+ animation_speed: 500,
+ stack_on_small: false,
+ navigation_arrows: true,
+ slide_number: true,
+ slide_number_text: 'of',
+ container_class: 'orbit-container',
+ stack_on_small_class: 'orbit-stack-on-small',
+ next_class: 'orbit-next',
+ prev_class: 'orbit-prev',
+ timer_container_class: 'orbit-timer',
+ timer_paused_class: 'paused',
+ timer_progress_class: 'orbit-progress',
+ slides_container_class: 'orbit-slides-container',
+ bullets_container_class: 'orbit-bullets',
+ bullets_active_class: 'active',
+ slide_number_class: 'orbit-slide-number',
+ caption_class: 'orbit-caption',
+ active_slide_class: 'active',
+ orbit_transition_class: 'orbit-transitioning',
+ bullets: true,
+ circular: true,
+ timer: true,
+ variable_height: false,
+ swipe: true,
+ before_slide_change: noop,
+ after_slide_change: noop
+ },
+
+ init : function (scope, method, options) {
+ var self = this;
+ this.bindings(method, options);
+ },
+
+ events : function (instance) {
+ var orbit_instance = new Orbit($(instance), $(instance).data('orbit-init'));
+ $(instance).data(self.name + '-instance', orbit_instance);
+ },
+
+ reflow : function () {
+ var self = this;
+
+ if ($(self.scope).is('[data-orbit]')) {
+ var $el = $(self.scope);
+ var instance = $el.data(self.name + '-instance');
+ instance.compute_dimensions();
+ } else {
+ $('[data-orbit]', self.scope).each(function(idx, el) {
+ var $el = $(el);
+ var opts = self.data_options($el);
+ var instance = $el.data(self.name + '-instance');
+ instance.compute_dimensions();
+ });
+ }
+ }
+ };
+
+
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.reveal = {
+ name : 'reveal',
+
+ version : '5.0.3',
+
+ locked : false,
+
+ settings : {
+ animation: 'fadeAndPop',
+ animation_speed: 250,
+ close_on_background_click: true,
+ close_on_esc: true,
+ dismiss_modal_class: 'close-reveal-modal',
+ bg_class: 'reveal-modal-bg',
+ open: function(){},
+ opened: function(){},
+ close: function(){},
+ closed: function(){},
+ bg : $('.reveal-modal-bg'),
+ css : {
+ open : {
+ 'opacity': 0,
+ 'visibility': 'visible',
+ 'display' : 'block'
+ },
+ close : {
+ 'opacity': 1,
+ 'visibility': 'hidden',
+ 'display': 'none'
+ }
+ }
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'delay');
+ $.extend(true, this.settings, method, options);
+ this.bindings(method, options);
+ },
+
+ events : function (scope) {
+ var self = this;
+
+ $('[data-reveal-id]', this.scope)
+ .off('.reveal')
+ .on('click.fndtn.reveal', function (e) {
+ e.preventDefault();
+
+ if (!self.locked) {
+ var element = $(this),
+ ajax = element.data('reveal-ajax');
+
+ self.locked = true;
+
+ if (typeof ajax === 'undefined') {
+ self.open.call(self, element);
+ } else {
+ var url = ajax === true ? element.attr('href') : ajax;
+
+ self.open.call(self, element, {url: url});
+ }
+ }
+ });
+
+ $(this.scope)
+ .off('.reveal');
+
+ $(document)
+ .on('click.fndtn.reveal', this.close_targets(), function (e) {
+
+ e.preventDefault();
+
+ if (!self.locked) {
+ var settings = $('[data-reveal].open').data('reveal-init'),
+ bg_clicked = $(e.target)[0] === $('.' + settings.bg_class)[0];
+
+ if (bg_clicked && !settings.close_on_background_click) {
+ return;
+ }
+
+ self.locked = true;
+ self.close.call(self, bg_clicked ? $('[data-reveal].open') : $(this).closest('[data-reveal]'));
+ }
+ });
+
+ if($('[data-reveal]', this.scope).length > 0) {
+ $(this.scope)
+ // .off('.reveal')
+ .on('open.fndtn.reveal', this.settings.open)
+ .on('opened.fndtn.reveal', this.settings.opened)
+ .on('opened.fndtn.reveal', this.open_video)
+ .on('close.fndtn.reveal', this.settings.close)
+ .on('closed.fndtn.reveal', this.settings.closed)
+ .on('closed.fndtn.reveal', this.close_video);
+ } else {
+ $(this.scope)
+ // .off('.reveal')
+ .on('open.fndtn.reveal', '[data-reveal]', this.settings.open)
+ .on('opened.fndtn.reveal', '[data-reveal]', this.settings.opened)
+ .on('opened.fndtn.reveal', '[data-reveal]', this.open_video)
+ .on('close.fndtn.reveal', '[data-reveal]', this.settings.close)
+ .on('closed.fndtn.reveal', '[data-reveal]', this.settings.closed)
+ .on('closed.fndtn.reveal', '[data-reveal]', this.close_video);
+ }
+
+ return true;
+ },
+
+ // PATCH #3: turning on key up capture only when a reveal window is open
+ key_up_on : function (scope) {
+ var self = this;
+
+ // PATCH #1: fixing multiple keyup event trigger from single key press
+ $('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) {
+ var open_modal = $('[data-reveal].open'),
+ settings = open_modal.data('reveal-init');
+ // PATCH #2: making sure that the close event can be called only while unlocked,
+ // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window.
+ if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key
+ self.close.call(self, open_modal);
+ }
+ });
+
+ return true;
+ },
+
+ // PATCH #3: turning on key up capture only when a reveal window is open
+ key_up_off : function (scope) {
+ $('body').off('keyup.fndtn.reveal');
+ return true;
+ },
+
+ open : function (target, ajax_settings) {
+ var self = this;
+ if (target) {
+ if (typeof target.selector !== 'undefined') {
+ var modal = $('#' + target.data('reveal-id'));
+ } else {
+ var modal = $(this.scope);
+
+ ajax_settings = target;
+ }
+ } else {
+ var modal = $(this.scope);
+ }
+
+ var settings = modal.data('reveal-init');
+
+ if (!modal.hasClass('open')) {
+ var open_modal = $('[data-reveal].open');
+
+ if (typeof modal.data('css-top') === 'undefined') {
+ modal.data('css-top', parseInt(modal.css('top'), 10))
+ .data('offset', this.cache_offset(modal));
+ }
+
+ this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open
+ modal.trigger('open');
+
+ if (open_modal.length < 1) {
+ this.toggle_bg(modal);
+ }
+
+ if (typeof ajax_settings === 'string') {
+ ajax_settings = {
+ url: ajax_settings
+ };
+ }
+
+ if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {
+ if (open_modal.length > 0) {
+ var open_modal_settings = open_modal.data('reveal-init');
+ this.hide(open_modal, open_modal_settings.css.close);
+ }
+
+ this.show(modal, settings.css.open);
+ } else {
+ var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;
+
+ $.extend(ajax_settings, {
+ success: function (data, textStatus, jqXHR) {
+ if ( $.isFunction(old_success) ) {
+ old_success(data, textStatus, jqXHR);
+ }
+
+ modal.html(data);
+ $(modal).foundation('section', 'reflow');
+
+ if (open_modal.length > 0) {
+ var open_modal_settings = open_modal.data('reveal-init');
+ self.hide(open_modal, open_modal_settings.css.close);
+ }
+ self.show(modal, settings.css.open);
+ }
+ });
+
+ $.ajax(ajax_settings);
+ }
+ }
+ },
+
+ close : function (modal) {
+ var modal = modal && modal.length ? modal : $(this.scope),
+ open_modals = $('[data-reveal].open'),
+ settings = modal.data('reveal-init');
+
+ if (open_modals.length > 0) {
+ this.locked = true;
+ this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open
+ modal.trigger('close');
+ this.toggle_bg(modal);
+ this.hide(open_modals, settings.css.close, settings);
+ }
+ },
+
+ close_targets : function () {
+ var base = '.' + this.settings.dismiss_modal_class;
+
+ if (this.settings.close_on_background_click) {
+ return base + ', .' + this.settings.bg_class;
+ }
+
+ return base;
+ },
+
+ toggle_bg : function (modal) {
+ var settings = modal.data('reveal-init');
+
+ if ($('.' + this.settings.bg_class).length === 0) {
+ this.settings.bg = $('', {'class': this.settings.bg_class})
+ .appendTo('body');
+ }
+
+ if (this.settings.bg.filter(':visible').length > 0) {
+ this.hide(this.settings.bg);
+ } else {
+ this.show(this.settings.bg);
+ }
+ },
+
+ show : function (el, css) {
+ // is modal
+ if (css) {
+ var settings = el.data('reveal-init');
+ if (el.parent('body').length === 0) {
+ var placeholder = el.wrap('').parent(),
+ rootElement = this.settings.rootElement || 'body';;
+ el.on('closed.fndtn.reveal.wrapped', function() {
+ el.detach().appendTo(placeholder);
+ el.unwrap().unbind('closed.fndtn.reveal.wrapped');
+ });
+
+ el.detach().appendTo(rootElement);
+ }
+
+ if (/pop/i.test(settings.animation)) {
+ css.top = $(window).scrollTop() - el.data('offset') + 'px';
+ var end_css = {
+ top: $(window).scrollTop() + el.data('css-top') + 'px',
+ opacity: 1
+ };
+
+ return this.delay(function () {
+ return el
+ .css(css)
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.trigger('opened');
+ }.bind(this))
+ .addClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ if (/fade/i.test(settings.animation)) {
+ var end_css = {opacity: 1};
+
+ return this.delay(function () {
+ return el
+ .css(css)
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.trigger('opened');
+ }.bind(this))
+ .addClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ return el.css(css).show().css({opacity: 1}).addClass('open').trigger('opened');
+ }
+
+ var settings = this.settings;
+
+ // should we animate the background?
+ if (/fade/i.test(settings.animation)) {
+ return el.fadeIn(settings.animation_speed / 2);
+ }
+
+ return el.show();
+ },
+
+ hide : function (el, css) {
+ // is modal
+ if (css) {
+ var settings = el.data('reveal-init');
+ if (/pop/i.test(settings.animation)) {
+ var end_css = {
+ top: - $(window).scrollTop() - el.data('offset') + 'px',
+ opacity: 0
+ };
+
+ return this.delay(function () {
+ return el
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.css(css).trigger('closed');
+ }.bind(this))
+ .removeClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ if (/fade/i.test(settings.animation)) {
+ var end_css = {opacity: 0};
+
+ return this.delay(function () {
+ return el
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.css(css).trigger('closed');
+ }.bind(this))
+ .removeClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ return el.hide().css(css).removeClass('open').trigger('closed');
+ }
+
+ var settings = this.settings;
+
+ // should we animate the background?
+ if (/fade/i.test(settings.animation)) {
+ return el.fadeOut(settings.animation_speed / 2);
+ }
+
+ return el.hide();
+ },
+
+ close_video : function (e) {
+ var video = $(this).find('.flex-video'),
+ iframe = video.find('iframe');
+
+ if (iframe.length > 0) {
+ iframe.attr('data-src', iframe[0].src);
+ iframe.attr('src', 'about:blank');
+ video.hide();
+ }
+ },
+
+ open_video : function (e) {
+ var video = $(this).find('.flex-video'),
+ iframe = video.find('iframe');
+
+ if (iframe.length > 0) {
+ var data_src = iframe.attr('data-src');
+ if (typeof data_src === 'string') {
+ iframe[0].src = iframe.attr('data-src');
+ } else {
+ var src = iframe[0].src;
+ iframe[0].src = undefined;
+ iframe[0].src = src;
+ }
+ video.show();
+ }
+ },
+
+ cache_offset : function (modal) {
+ var offset = modal.show().height() + parseInt(modal.css('top'), 10);
+
+ modal.hide();
+
+ return offset;
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.reveal');
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+/*jslint unparam: true, browser: true, indent: 2 */
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.tab = {
+ name : 'tab',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'active',
+ callback : function () {}
+ },
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ $(this.scope).off('.tab').on('click.fndtn.tab', '[data-tab] > dd > a', function (e) {
+ e.preventDefault();
+
+ var tab = $(this).parent(),
+ tabs = tab.closest('[data-tab]'),
+ target = $('#' + this.href.split('#')[1]),
+ siblings = tab.siblings(),
+ settings = tabs.data('tab-init');
+
+ // allow usage of data-tab-content attribute instead of href
+ if ($(this).data('tab-content')) {
+ target = $('#' + $(this).data('tab-content').split('#')[1]);
+ }
+
+ tab.addClass(settings.active_class).trigger('opened');
+ siblings.removeClass(settings.active_class);
+ target.siblings().removeClass(settings.active_class).end().addClass(settings.active_class);
+ settings.callback(tab);
+ tabs.trigger('toggled', [tab]);
+ });
+ },
+
+ off : function () {},
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.tooltip = {
+ name : 'tooltip',
+
+ version : '5.0.3',
+
+ settings : {
+ additional_inheritable_classes : [],
+ tooltip_class : '.tooltip',
+ append_to: 'body',
+ touch_close_text: 'Tap To Close',
+ disable_for_touch: false,
+ tip_template : function (selector, content) {
+ return '' + content + '';
+ }
+ },
+
+ cache : {},
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ var self = this;
+
+ if (Modernizr.touch) {
+ $(this.scope)
+ .off('.tooltip')
+ .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
+ '[data-tooltip]', function (e) {
+ var settings = $.extend({}, self.settings, self.data_options($(this)));
+ if (!settings.disable_for_touch) {
+ e.preventDefault();
+ $(settings.tooltip_class).hide();
+ self.showOrCreateTip($(this));
+ }
+ })
+ .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
+ this.settings.tooltip_class, function (e) {
+ e.preventDefault();
+ $(this).fadeOut(150);
+ });
+ } else {
+ $(this.scope)
+ .off('.tooltip')
+ .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip',
+ '[data-tooltip]', function (e) {
+ var $this = $(this);
+
+ if (/enter|over/i.test(e.type)) {
+ self.showOrCreateTip($this);
+ } else if (e.type === 'mouseout' || e.type === 'mouseleave') {
+ self.hide($this);
+ }
+ });
+ }
+ },
+
+ showOrCreateTip : function ($target) {
+ var $tip = this.getTip($target);
+
+ if ($tip && $tip.length > 0) {
+ return this.show($target);
+ }
+
+ return this.create($target);
+ },
+
+ getTip : function ($target) {
+ var selector = this.selector($target),
+ tip = null;
+
+ if (selector) {
+ tip = $('span[data-selector="' + selector + '"]' + this.settings.tooltip_class);
+ }
+
+ return (typeof tip === 'object') ? tip : false;
+ },
+
+ selector : function ($target) {
+ var id = $target.attr('id'),
+ dataSelector = $target.attr('data-tooltip') || $target.attr('data-selector');
+
+ if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') {
+ dataSelector = 'tooltip' + Math.random().toString(36).substring(7);
+ $target.attr('data-selector', dataSelector);
+ }
+
+ return (id && id.length > 0) ? id : dataSelector;
+ },
+
+ create : function ($target) {
+ var $tip = $(this.settings.tip_template(this.selector($target), $('').html($target.attr('title')).html())),
+ classes = this.inheritable_classes($target);
+
+ $tip.addClass(classes).appendTo(this.settings.append_to);
+ if (Modernizr.touch) {
+ $tip.append(''+this.settings.touch_close_text+'');
+ }
+ $target.removeAttr('title').attr('title','');
+ this.show($target);
+ },
+
+ reposition : function (target, tip, classes) {
+ var width, nub, nubHeight, nubWidth, column, objPos;
+
+ tip.css('visibility', 'hidden').show();
+
+ width = target.data('width');
+ nub = tip.children('.nub');
+ nubHeight = nub.outerHeight();
+ nubWidth = nub.outerHeight();
+
+ tip.css({'width' : (width) ? width : 'auto'});
+
+ objPos = function (obj, top, right, bottom, left, width) {
+ return obj.css({
+ 'top' : (top) ? top : 'auto',
+ 'bottom' : (bottom) ? bottom : 'auto',
+ 'left' : (left) ? left : 'auto',
+ 'right' : (right) ? right : 'auto'
+ }).end();
+ };
+
+ objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left);
+
+ if (this.small()) {
+ objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width());
+ tip.addClass('tip-override');
+ objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left);
+ } else {
+ var left = target.offset().left;
+ if (Foundation.rtl) {
+ left = target.offset().left + target.offset().width - tip.outerWidth();
+ }
+ objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left);
+ tip.removeClass('tip-override');
+ if (classes && classes.indexOf('tip-top') > -1) {
+ objPos(tip, (target.offset().top - tip.outerHeight() - 10), 'auto', 'auto', left)
+ .removeClass('tip-override');
+ } else if (classes && classes.indexOf('tip-left') > -1) {
+ objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight))
+ .removeClass('tip-override');
+ } else if (classes && classes.indexOf('tip-right') > -1) {
+ objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left + target.outerWidth() + nubHeight))
+ .removeClass('tip-override');
+ }
+ }
+
+ tip.css('visibility', 'visible').hide();
+ },
+
+ small : function () {
+ return matchMedia(Foundation.media_queries.small).matches;
+ },
+
+ inheritable_classes : function (target) {
+ var inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'noradius'].concat(this.settings.additional_inheritable_classes),
+ classes = target.attr('class'),
+ filtered = classes ? $.map(classes.split(' '), function (el, i) {
+ if ($.inArray(el, inheritables) !== -1) {
+ return el;
+ }
+ }).join(' ') : '';
+
+ return $.trim(filtered);
+ },
+
+ show : function ($target) {
+ var $tip = this.getTip($target);
+
+ this.reposition($target, $tip, $target.attr('class'));
+ $tip.fadeIn(150);
+ },
+
+ hide : function ($target) {
+ var $tip = this.getTip($target);
+
+ $tip.fadeOut(150);
+ },
+
+ // deprecate reload
+ reload : function () {
+ var $self = $(this);
+
+ return ($self.data('fndtn-tooltips')) ? $self.foundationTooltips('destroy').foundationTooltips('init') : $self.foundationTooltips('init');
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.tooltip');
+ $(this.settings.tooltip_class).each(function (i) {
+ $('[data-tooltip]').get(i).attr('title', $(this).text());
+ }).remove();
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
+
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.topbar = {
+ name : 'topbar',
+
+ version: '5.0.3',
+
+ settings : {
+ index : 0,
+ sticky_class : 'sticky',
+ custom_back_text: true,
+ back_text: 'Back',
+ is_hover: true,
+ mobile_show_parent_link: false,
+ scrolltop : true // jump to top when sticky nav menu toggle is clicked
+ },
+
+ init : function (section, method, options) {
+ Foundation.inherit(this, 'addCustomRule register_media throttle');
+ var self = this;
+
+ self.register_media('topbar', 'foundation-mq-topbar');
+
+ this.bindings(method, options);
+
+ $('[data-topbar]', this.scope).each(function () {
+ var topbar = $(this),
+ settings = topbar.data('topbar-init'),
+ section = $('section', this),
+ titlebar = $('> ul', this).first();
+
+ topbar.data('index', 0);
+
+ var topbarContainer = topbar.parent();
+ if(topbarContainer.hasClass('fixed') || topbarContainer.hasClass(settings.sticky_class)) {
+ self.settings.sticky_class = settings.sticky_class;
+ self.settings.sticky_topbar = topbar;
+ topbar.data('height', topbarContainer.outerHeight());
+ topbar.data('stickyoffset', topbarContainer.offset().top);
+ } else {
+ topbar.data('height', topbar.outerHeight());
+ }
+
+ if (!settings.assembled) self.assemble(topbar);
+
+ if (settings.is_hover) {
+ $('.has-dropdown', topbar).addClass('not-click');
+ } else {
+ $('.has-dropdown', topbar).removeClass('not-click');
+ }
+
+ // Pad body when sticky (scrolled) or fixed.
+ self.addCustomRule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }');
+
+ if (topbarContainer.hasClass('fixed')) {
+ $('body').addClass('f-topbar-fixed');
+ }
+ });
+
+ },
+
+ toggle: function (toggleEl) {
+ var self = this;
+
+ if (toggleEl) {
+ var topbar = $(toggleEl).closest('[data-topbar]');
+ } else {
+ var topbar = $('[data-topbar]');
+ }
+
+ var settings = topbar.data('topbar-init');
+
+ var section = $('section, .section', topbar);
+
+ if (self.breakpoint()) {
+ if (!self.rtl) {
+ section.css({left: '0%'});
+ $('>.name', section).css({left: '100%'});
+ } else {
+ section.css({right: '0%'});
+ $('>.name', section).css({right: '100%'});
+ }
+
+ $('li.moved', section).removeClass('moved');
+ topbar.data('index', 0);
+
+ topbar
+ .toggleClass('expanded')
+ .css('height', '');
+ }
+
+ if (settings.scrolltop) {
+ if (!topbar.hasClass('expanded')) {
+ if (topbar.hasClass('fixed')) {
+ topbar.parent().addClass('fixed');
+ topbar.removeClass('fixed');
+ $('body').addClass('f-topbar-fixed');
+ }
+ } else if (topbar.parent().hasClass('fixed')) {
+ if (settings.scrolltop) {
+ topbar.parent().removeClass('fixed');
+ topbar.addClass('fixed');
+ $('body').removeClass('f-topbar-fixed');
+
+ window.scrollTo(0,0);
+ } else {
+ topbar.parent().removeClass('expanded');
+ }
+ }
+ } else {
+ if(topbar.parent().hasClass(self.settings.sticky_class)) {
+ topbar.parent().addClass('fixed');
+ }
+
+ if(topbar.parent().hasClass('fixed')) {
+ if (!topbar.hasClass('expanded')) {
+ topbar.removeClass('fixed');
+ topbar.parent().removeClass('expanded');
+ self.update_sticky_positioning();
+ } else {
+ topbar.addClass('fixed');
+ topbar.parent().addClass('expanded');
+ $('body').addClass('f-topbar-fixed');
+ }
+ }
+ }
+ },
+
+ timer : null,
+
+ events : function (bar) {
+ var self = this;
+ $(this.scope)
+ .off('.topbar')
+ .on('click.fndtn.topbar', '[data-topbar] .toggle-topbar', function (e) {
+ e.preventDefault();
+ self.toggle(this);
+ })
+ .on('click.fndtn.topbar', '[data-topbar] li.has-dropdown', function (e) {
+ var li = $(this),
+ target = $(e.target),
+ topbar = li.closest('[data-topbar]'),
+ settings = topbar.data('topbar-init');
+
+ if(target.data('revealId')) {
+ self.toggle();
+ return;
+ }
+
+ if (self.breakpoint()) return;
+ if (settings.is_hover && !Modernizr.touch) return;
+
+ e.stopImmediatePropagation();
+
+ if (li.hasClass('hover')) {
+ li
+ .removeClass('hover')
+ .find('li')
+ .removeClass('hover');
+
+ li.parents('li.hover')
+ .removeClass('hover');
+ } else {
+ li.addClass('hover');
+
+ if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) {
+ e.preventDefault();
+ }
+ }
+ })
+ .on('click.fndtn.topbar', '[data-topbar] .has-dropdown>a', function (e) {
+ if (self.breakpoint()) {
+
+ e.preventDefault();
+
+ var $this = $(this),
+ topbar = $this.closest('[data-topbar]'),
+ section = topbar.find('section, .section'),
+ dropdownHeight = $this.next('.dropdown').outerHeight(),
+ $selectedLi = $this.closest('li');
+
+ topbar.data('index', topbar.data('index') + 1);
+ $selectedLi.addClass('moved');
+
+ if (!self.rtl) {
+ section.css({left: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({left: 100 * topbar.data('index') + '%'});
+ } else {
+ section.css({right: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
+ }
+
+ topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height'));
+ }
+ });
+
+ $(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () {
+ self.resize.call(self);
+ }, 50)).trigger('resize');
+
+ $('body').off('.topbar').on('click.fndtn.topbar touchstart.fndtn.topbar', function (e) {
+ var parent = $(e.target).closest('li').closest('li.hover');
+
+ if (parent.length > 0) {
+ return;
+ }
+
+ $('[data-topbar] li').removeClass('hover');
+ });
+
+ // Go up a level on Click
+ $(this.scope).on('click.fndtn.topbar', '[data-topbar] .has-dropdown .back', function (e) {
+ e.preventDefault();
+
+ var $this = $(this),
+ topbar = $this.closest('[data-topbar]'),
+ section = topbar.find('section, .section'),
+ settings = topbar.data('topbar-init'),
+ $movedLi = $this.closest('li.moved'),
+ $previousLevelUl = $movedLi.parent();
+
+ topbar.data('index', topbar.data('index') - 1);
+
+ if (!self.rtl) {
+ section.css({left: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({left: 100 * topbar.data('index') + '%'});
+ } else {
+ section.css({right: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
+ }
+
+ if (topbar.data('index') === 0) {
+ topbar.css('height', '');
+ } else {
+ topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height'));
+ }
+
+ setTimeout(function () {
+ $movedLi.removeClass('moved');
+ }, 300);
+ });
+ },
+
+ resize : function () {
+ var self = this;
+ $('[data-topbar]').each(function () {
+ var topbar = $(this),
+ settings = topbar.data('topbar-init');
+
+ var stickyContainer = topbar.parent('.' + self.settings.sticky_class);
+ var stickyOffset;
+
+ if (!self.breakpoint()) {
+ var doToggle = topbar.hasClass('expanded');
+ topbar
+ .css('height', '')
+ .removeClass('expanded')
+ .find('li')
+ .removeClass('hover');
+
+ if(doToggle) {
+ self.toggle(topbar);
+ }
+ }
+
+ if(stickyContainer.length > 0) {
+ if(stickyContainer.hasClass('fixed')) {
+ // Remove the fixed to allow for correct calculation of the offset.
+ stickyContainer.removeClass('fixed');
+
+ stickyOffset = stickyContainer.offset().top;
+ if($(document.body).hasClass('f-topbar-fixed')) {
+ stickyOffset -= topbar.data('height');
+ }
+
+ topbar.data('stickyoffset', stickyOffset);
+ stickyContainer.addClass('fixed');
+ } else {
+ stickyOffset = stickyContainer.offset().top;
+ topbar.data('stickyoffset', stickyOffset);
+ }
+ }
+
+ });
+ },
+
+ breakpoint : function () {
+ return !matchMedia(Foundation.media_queries['topbar']).matches;
+ },
+
+ assemble : function (topbar) {
+ var self = this,
+ settings = topbar.data('topbar-init'),
+ section = $('section', topbar),
+ titlebar = $('> ul', topbar).first();
+
+ // Pull element out of the DOM for manipulation
+ section.detach();
+
+ $('.has-dropdown>a', section).each(function () {
+ var $link = $(this),
+ $dropdown = $link.siblings('.dropdown'),
+ url = $link.attr('href');
+
+ if (settings.mobile_show_parent_link && url && url.length > 1) {
+ var $titleLi = $('
- ' + $link.text() +'
');
+ } else {
+ var $titleLi = $('
');
+ }
+
+ // Copy link to subnav
+ if (settings.custom_back_text == true) {
+ $('h5>a', $titleLi).html(settings.back_text);
+ } else {
+ $('h5>a', $titleLi).html('« ' + $link.html());
+ }
+ $dropdown.prepend($titleLi);
+ });
+
+ // Put element back in the DOM
+ section.appendTo(topbar);
+
+ // check for sticky
+ this.sticky();
+
+ this.assembled(topbar);
+ },
+
+ assembled : function (topbar) {
+ topbar.data('topbar-init', $.extend({}, topbar.data('topbar-init'), {assembled: true}));
+ },
+
+ height : function (ul) {
+ var total = 0,
+ self = this;
+
+ $('> li', ul).each(function () { total += $(this).outerHeight(true); });
+
+ return total;
+ },
+
+ sticky : function () {
+ var $window = $(window),
+ self = this;
+
+ $(window).on('scroll', function() {
+ self.update_sticky_positioning();
+ });
+ },
+
+ update_sticky_positioning: function() {
+ var klass = '.' + this.settings.sticky_class;
+ var $window = $(window);
+
+ if ($(klass).length > 0) {
+ var distance = this.settings.sticky_topbar.data('stickyoffset');
+ if (!$(klass).hasClass('expanded')) {
+ if ($window.scrollTop() > (distance)) {
+ if (!$(klass).hasClass('fixed')) {
+ $(klass).addClass('fixed');
+ $('body').addClass('f-topbar-fixed');
+ }
+ } else if ($window.scrollTop() <= distance) {
+ if ($(klass).hasClass('fixed')) {
+ $(klass).removeClass('fixed');
+ $('body').removeClass('f-topbar-fixed');
+ }
+ }
+ }
+ }
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.topbar');
+ $(window).off('.fndtn.topbar');
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation.min.js b/bower_components/foundation/js/foundation.min.js
new file mode 100644
index 0000000..16a704d
--- /dev/null
+++ b/bower_components/foundation/js/foundation.min.js
@@ -0,0 +1,3 @@
+!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^[\\/'"]+|(;\s?})+|[\\/'"]+$/g,"")),a}0===a("head").has(".foundation-mq-small").length&&a("head").append(''),0===a("head").has(".foundation-mq-medium").length&&a("head").append(''),0===a("head").has(".foundation-mq-large").length&&a("head").append(''),0===a("head").has(".foundation-mq-xlarge").length&&a("head").append(''),0===a("head").has(".foundation-mq-xxlarge").length&&a("head").append(''),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var f=function(b,d){return"string"==typeof b?a(d?d.querySelectorAll(b):c.querySelectorAll(b)):a(b,d)};b.matchMedia=b.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(c),function(){function a(){c&&(f(a),jQuery.fx.tick())}for(var c,d=0,e=["webkit","moz"],f=b.requestAnimationFrame,g=b.cancelAnimationFrame;d").appendTo("head")[0].sheet,init:function(a,b,c,d,e){var g=[a,c,d,e],h=[];if(this.rtl=/rtl/i.test(f("html").attr("dir")),this.scope=a||this.scope,b&&"string"==typeof b&&!/reflow/i.test(b))this.libs.hasOwnProperty(b)&&h.push(this.init_lib(b,g));else for(var i in this.libs)h.push(this.init_lib(i,b));return a},init_lib:function(a,b){return this.libs.hasOwnProperty(a)?(this.patch(this.libs[a]),b&&b.hasOwnProperty(a)?this.libs[a].init.apply(this.libs[a],[this.scope,b[a]]):(b=b instanceof Array?b:Array(b),this.libs[a].init.apply(this.libs[a],b))):function(){}},patch:function(a){a.scope=this.scope,a.data_options=this.lib_methods.data_options,a.bindings=this.lib_methods.bindings,a.S=f,a.rtl=this.rtl},inherit:function(a,b){for(var c=b.split(" "),d=c.length-1;d>=0;d--)this.lib_methods.hasOwnProperty(c[d])&&(this.libs[a.name][c[d]]=this.lib_methods[c[d]])},random_str:function(a){var b="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");a||(a=Math.floor(Math.random()*b.length));for(var c="",d=0;a>d;d++)c+=b[Math.floor(Math.random()*b.length)];return c},libs:{},lib_methods:{throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;clearTimeout(c),c=setTimeout(function(){a.apply(d,e)},b)}},data_options:function(b){function c(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function d(b){return"string"==typeof b?a.trim(b):b}var e,f,g,h,i={},j=b.data("options");if("object"==typeof j)return j;for(g=(j||":").split(";"),h=g.length,e=h-1;e>=0;e--)f=g[e].split(":"),/true/i.test(f[1])&&(f[1]=!0),/false/i.test(f[1])&&(f[1]=!1),c(f[1])&&(f[1]=parseInt(f[1],10)),2===f.length&&f[0].length>0&&(i[d(f[0])]=d(f[1]));return i},delay:function(a,b){return setTimeout(a,b)},empty:function(a){if(a.length&&a.length>0)return!1;if(a.length&&0===a.length)return!0;for(var b in a)if(hasOwnProperty.call(a,b))return!1;return!0},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append(''),Foundation.media_queries[b]=e(a("."+c).css("font-family")))},addCustomRule:function(a,b){if(b===d)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }")}},loaded:function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()},bindings:function(b,c){var d=this,e=!f(this).data(this.name+"-init");return"string"==typeof b?this[b].call(this,c):void(f(this.scope).is("[data-"+this.name+"]")?(f(this.scope).data(this.name+"-init",a.extend({},this.settings,c||b,this.data_options(f(this.scope)))),e&&this.events(this.scope)):f("[data-"+this.name+"]",this.scope).each(function(){var e=!f(this).data(d.name+"-init");f(this).data(d.name+"-init",a.extend({},d.settings,c||b,d.data_options(f(this)))),e&&d.events(this)}))}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,this,this.document),function(a,b,c){"use strict";Foundation.libs.abide={name:"abide",version:"5.0.3",settings:{focus_on_invalid:!0,error_labels:!0,timeout:1e3,patterns:{alpha:/[a-zA-Z]+/,alpha_numeric:/[a-zA-Z0-9]+/,integer:/-?\d+/,number:/-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?/,password:/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|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|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])|(%[\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|[ -퟿豈-ï·ï·°-￯])|(([a-zA-Z]|\d|[ -퟿豈-ï·ï·°-￯])([a-zA-Z]|\d|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])*([a-zA-Z]|\d|[ -퟿豈-ï·ï·°-￯])))\.)+(([a-zA-Z]|[ -퟿豈-ï·ï·°-￯])|(([a-zA-Z]|[ -퟿豈-ï·ï·°-￯])([a-zA-Z]|\d|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])*([a-zA-Z]|[ -퟿豈-ï·ï·°-￯])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[-]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[ -퟿豈-ï·ï·°-￯])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/,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])[- \/.](19|20)\d\d/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){{var c=this,d=a(b).attr("novalidate","novalidate");d.data("abide-init")}d.off(".abide").on("submit.fndtn.abide validate.fndtn.abide",function(b){var d=/ajax/i.test(a(this).attr("data-abide"));return c.validate(a(this).find("input, textarea, select").get(),b,d)}).find("input, textarea, select").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){c.validate([this],a)}).on("keydown.fndtn.abide",function(b){var d=a(this).closest("form").data("abide-init");clearTimeout(c.timer),c.timer=setTimeout(function(){c.validate([this],b)}.bind(this),d.timeout)})},validate:function(b,c,d){for(var e=this.parse_patterns(b),f=e.length,g=a(b[0]).closest("form"),h=/submit/.test(c.type),i=0;f>i;i++)if(!e[i]&&(h||d))return this.settings.focus_on_invalid&&b[i].focus(),g.trigger("invalid"),a(b[i]).closest("form").attr("data-invalid",""),!1;return(h||d)&&g.trigger("valid"),g.removeAttr("data-invalid"),d?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[],d=b-1;d>=0;d--)c.push(this.pattern(a[d]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){for(var c=b.length,d=[],e=c-1;e>=0;e--){var f=b[e][0],g=b[e][2],h=f.value,i=f.getAttribute("data-equalto"),j="radio"===f.type,k="checkbox"===f.type,l=a('label[for="'+f.getAttribute("id")+'"]'),m=g?f.value.length>0:!0;j&&g?d.push(this.valid_radio(f,g)):k&&g?d.push(this.valid_checkbox(f,g)):i&&g?d.push(this.valid_equal(f,g)):b[e][1].test(h)&&m||!g&&f.value.length<1?(a(f).removeAttr("data-invalid").parent().removeClass("error"),l.length>0&&this.settings.error_labels&&l.removeClass("error"),d.push(!0)):(a(f).attr("data-invalid","").parent().addClass("error"),l.length>0&&this.settings.error_labels&&l.addClass("error"),d.push(!1))}return d},valid_checkbox:function(b,c){var b=a(b),d=b.is(":checked")||!c;return d?b.removeAttr("data-invalid").parent().removeClass("error"):b.attr("data-invalid","").parent().addClass("error"),d},valid_radio:function(b){for(var d=b.getAttribute("name"),e=c.getElementsByName(d),f=e.length,g=!1,h=0;f>h;h++)e[h].checked&&(g=!0);for(var h=0;f>h;h++)g?a(e[h]).removeAttr("data-invalid").parent().removeClass("error"):a(e[h]).attr("data-invalid","").parent().addClass("error");return g},valid_equal:function(b){var d=c.getElementById(b.getAttribute("data-equalto")).value,e=b.value,f=d===e;return f?a(b).removeAttr("data-invalid").parent().removeClass("error"):a(b).attr("data-invalid","").parent().addClass("error"),f}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.0.3",settings:{active_class:"active",toggleable:!0},init:function(a,b,c){this.bindings(b,c)},events:function(){a(this.scope).off(".accordion").on("click.fndtn.accordion","[data-accordion] > dd > a",function(b){var c=a(this).parent(),d=a("#"+this.href.split("#")[1]),e=a("> dd > .content",d.closest("[data-accordion]")),f=c.parent().data("accordion-init"),g=a("> dd > .content."+f.active_class,c.parent());return b.preventDefault(),g[0]==d[0]&&f.toggleable?d.toggleClass(f.active_class):(e.removeClass(f.active_class),void d.addClass(f.active_class))})},off:function(){},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.alert={name:"alert",version:"5.0.3",settings:{animation:"fadeOut",speed:300,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){a(this.scope).off(".alert").on("click.fndtn.alert","[data-alert] a.close",function(b){var c=a(this).closest("[data-alert]"),d=c.data("alert-init")||Foundation.libs.alert.settings;b.preventDefault(),c[d.animation](d.speed,function(){a(this).trigger("closed").remove(),d.callback()})})},reflow:function(){}}}(jQuery,this,this.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.0.3",settings:{templates:{viewing:'×'},close_selectors:".clearing-close",init:!1,locked:!1},init:function(b,c,d){var e=this;Foundation.inherit(this,"throttle loaded"),this.bindings(c,d),a(this.scope).is("[data-clearing]")?this.assemble(a("li",this.scope)):a("[data-clearing]",this.scope).each(function(){e.assemble(a("li",this))})},events:function(c){var d=this;a(this.scope).off(".clearing").on("click.fndtn.clearing","ul[data-clearing] li",function(b,c,e){var c=c||a(this),e=e||c,f=c.next("li"),g=c.closest("[data-clearing]").data("clearing-init"),h=a(b.target);b.preventDefault(),g||(d.init(),g=c.closest("[data-clearing]").data("clearing-init")),e.hasClass("visible")&&c[0]===e[0]&&f.length>0&&d.is_open(c)&&(e=f,h=a("img",e)),d.open(h,c,e),d.update_paddles(e)}).on("click.fndtn.clearing",".clearing-main-next",function(a){d.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){d.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}).on("keydown.fndtn.clearing",function(a){d.keydown(a)}),a(b).off(".clearing").on("resize.fndtn.clearing",function(){d.resize()}),this.swipe_events(c)},swipe_events:function(){var b=this;a(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(b){b.touches||(b=b.originalEvent);var c={start_page_x:b.touches[0].pageX,start_page_y:b.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};a(this).data("swipe-transition",c),b.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(c){if(c.touches||(c=c.originalEvent),!(c.touches.length>1||c.scale&&1!==c.scale)){var d=a(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=c.touches[0].pageX-d.start_page_x,"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)
');var d=a("#foundationClearingHolder"),e=c.data("clearing-init"),f=c.detach(),g={grid:'
'+f[0].outerHTML+"
",viewing:e.templates.viewing},h='
";return d.after(h).remove()}},open:function(b,c,d){var e=d.closest(".clearing-assembled"),f=a("div",e).first(),g=a(".visible-img",f),h=a("img",g).not(b);this.locked()||(h.attr("src",this.load(b)).css("visibility","hidden"),this.loaded(h,function(){h.css("visibility","visible"),e.addClass("clearing-blackout"),f.addClass("clearing-container"),g.show(),this.fix_height(d).caption(a(".clearing-caption",g),b).center(h).shift(c,d,function(){d.siblings().removeClass("visible"),d.addClass("visible")})}.bind(this)))},close:function(b,c){b.preventDefault();var d,e,f=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(c));return c===b.target&&f&&(d=a("div",f).first(),e=a(".visible-img",d),this.settings.prev_index=0,a("ul[data-clearing]",f).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),d.removeClass("clearing-container"),e.hide()),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a("ul[data-clearing]",".clearing-blackout"),d=this.rtl?37:39,e=this.rtl?39:37,f=27;b.which===d&&this.go(c,"next"),b.which===e&&this.go(c,"prev"),b.which===f&&a("a.clearing-close").trigger("click")},nav:function(b,c){var d=a("ul[data-clearing]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img");b.length&&this.center(b)},fix_height:function(b){var c=b.parent().children();return c.each(function(){var b=a(this),c=b.find("img");b.height()>c.outerHeight()&&b.addClass("fix-height")}).closest("ul").width(100*c.length+"%"),this},update_paddles:function(b){var c=b.closest(".carousel").siblings(".visible-img");b.next().length>0?a(".clearing-main-next",c).removeClass("disabled"):a(".clearing-main-next",c).addClass("disabled"),b.prev().length>0?a(".clearing-main-prev",c).removeClass("disabled"):a(".clearing-main-prev",c).addClass("disabled")},center:function(a){return a.css(this.rtl?{marginRight:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2),left:"auto",right:"50%"}:{marginLeft:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2)}),this},load:function(a){if("A"===a[0].nodeName)var b=a.attr("href");else var b=a.parent().attr("href");return this.preload(a),b?b:a.attr("src")},preload:function(a){this.img(a.closest("li").next()).img(a.closest("li").prev())},img:function(b){if(b.length){var c=new Image,d=a("a",b);c.src=d.length?d.attr("href"):a("img",b).attr("src")}return this},caption:function(a,b){var c=b.data("caption");return c?a.html(c).show():a.text("").hide(),this},go:function(b,c){var d=a(".visible",b),e=d[c]();e.length&&a("img",e).trigger("click",[d,e])},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=this.rtl?"right":"left",i=parseInt(e.css("left"),10),j=b.outerWidth(),k={};b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?(k[h]=-(d*j),e.animate(k,300,this.unlock())):(k[h]=0,e.animate(k,300,this.unlock()))):/left/.test(g)?(this.lock(),k[h]=i+j,e.animate(k,300,this.unlock())):/right/.test(g)&&(this.lock(),k[h]=i-j,e.animate(k,300,this.unlock())),c()},direction:function(b,c,d){var e,f=a("li",b),g=f.outerWidth()+f.outerWidth()/4,h=Math.floor(a(".clearing-container").outerWidth()/g)-1,i=f.index(d);return this.settings.up_count=h,e=this.adjacent(this.settings.prev_index,i)?i>h&&i>this.settings.prev_index?"right":i>h-1&&i<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=i,e},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){a(this.scope).off(".fndtn.clearing"),a(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,this,this.document),function(a,b){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.0.3",settings:{active_class:"open",is_hover:!1,opened:function(){},closed:function(){}},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var c=this;a(this.scope).off(".dropdown").on("click.fndtn.dropdown","[data-dropdown]",function(b){var d=a(this).data("dropdown-init")||c.settings;b.preventDefault(),c.closeall.call(c),(!d.is_hover||Modernizr.touch)&&c.toggle(a(this))}).on("mouseenter.fndtn.dropdown","[data-dropdown], [data-dropdown-content]",function(b){var d=a(this);if(clearTimeout(c.timeout),d.data("dropdown"))var e=a("#"+d.data("dropdown")),f=d;else{var e=d;f=a("[data-dropdown='"+e.attr("id")+"']")}var g=f.data("dropdown-init")||c.settings;a(b.target).data("dropdown")&&g.is_hover&&c.closeall.call(c),g.is_hover&&c.open.apply(c,[e,f])}).on("mouseleave.fndtn.dropdown","[data-dropdown], [data-dropdown-content]",function(){var b=a(this);c.timeout=setTimeout(function(){if(b.data("dropdown")){var d=b.data("dropdown-init")||c.settings;d.is_hover&&c.close.call(c,a("#"+b.data("dropdown")))}else{var e=a('[data-dropdown="'+a(this).attr("id")+'"]'),d=e.data("dropdown-init")||c.settings;d.is_hover&&c.close.call(c,b)}}.bind(this),150)}).on("click.fndtn.dropdown",function(b){var d=a(b.target).closest("[data-dropdown-content]");if(!a(b.target).data("dropdown")&&!a(b.target).parent().data("dropdown"))return!a(b.target).data("revealId")&&d.length>0&&(a(b.target).is("[data-dropdown-content]")||a.contains(d.first()[0],b.target))?void b.stopPropagation():void c.close.call(c,a("[data-dropdown-content]"))}).on("opened.fndtn.dropdown","[data-dropdown-content]",function(){c.settings.opened.call(this)}).on("closed.fndtn.dropdown","[data-dropdown-content]",function(){c.settings.closed.call(this)}),a(b).off(".dropdown").on("resize.fndtn.dropdown",c.throttle(function(){c.resize.call(c)},50)).trigger("resize")},close:function(b){var c=this;b.each(function(){a(this).hasClass(c.settings.active_class)&&(a(this).css(Foundation.rtl?"right":"left","-99999px").removeClass(c.settings.active_class),a(this).trigger("closed"))})},closeall:function(){var b=this;a.each(a("[data-dropdown-content]"),function(){b.close.call(b,a(this))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.trigger("opened")},toggle:function(b){var c=a("#"+b.data("dropdown"));0!==c.length&&(this.close.call(this,a("[data-dropdown-content]").not(c)),c.hasClass(this.settings.active_class)?this.close.call(this,c):(this.close.call(this,a("[data-dropdown-content]")),this.open.call(this,c,b)))},resize:function(){var b=a("[data-dropdown-content].open"),c=a("[data-dropdown='"+b.attr("id")+"']");b.length&&c.length&&this.css(b,c)},css:function(c,d){var e=c.offsetParent(),f=d.offset();if(f.top-=e.offset().top,f.left-=e.offset().left,this.small())c.css({position:"absolute",width:"95%","max-width":"none",top:f.top+d.outerHeight()}),c.css(Foundation.rtl?"right":"left","2.5%");else{if(!Foundation.rtl&&a(b).width()>c.outerWidth()+d.offset().left){var g=f.left;c.hasClass("right")&&c.removeClass("right")}else{c.hasClass("right")||c.addClass("right");var g=f.left-(c.outerWidth()-d.outerWidth())}c.attr("style","").css({position:"absolute",top:f.top+d.outerHeight(),left:g})}return c},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},off:function(){a(this.scope).off(".fndtn.dropdown"),a("html, body").off(".fndtn.dropdown"),a(b).off(".fndtn.dropdown"),a("[data-dropdown-content]").off(".fndtn.dropdown"),this.settings.init=!1},reflow:function(){}}}(jQuery,this,this.document),function(a,b){"use strict";Foundation.libs.interchange={name:"interchange",version:"5.0.3",cache:{},images_loaded:!1,nodes_loaded:!1,settings:{load_attr:"interchange",named_queries:{"default":"only screen",small:Foundation.media_queries.small,medium:Foundation.media_queries.medium,large:Foundation.media_queries.large,xlarge:Foundation.media_queries.xlarge,xxlarge:Foundation.media_queries.xxlarge,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)"},directives:{replace:function(b,c,d){if(/IMG/.test(b[0].nodeName)){var e=b[0].src;if(new RegExp(c,"i").test(e))return;return b[0].src=c,d(b[0].src)}var f=b.data("interchange-last-path");if(f!=c)return a.get(c,function(a){b.html(a),b.data("interchange-last-path",c),d()})}}},init:function(b,c,d){Foundation.inherit(this,"throttle"),this.data_attr="data-"+this.settings.load_attr,a.extend(!0,this.settings,c,d),this.bindings(c,d),this.load("images"),this.load("nodes")},events:function(){var c=this;return a(b).off(".interchange").on("resize.fndtn.interchange",c.throttle(function(){c.resize.call(c)},50)),this},resize:function(){var b=this.cache;if(!this.images_loaded||!this.nodes_loaded)return void setTimeout(a.proxy(this.resize,this),50);for(var c in b)if(b.hasOwnProperty(c)){var d=this.results(c,b[c]);d&&this.settings.directives[d.scenario[1]](d.el,d.scenario[0],function(){if(arguments[0]instanceof Array)var a=arguments[0];else var a=Array.prototype.slice.call(arguments,0);d.el.trigger(d.scenario[1],a)})}},results:function(a,b){var c=b.length;if(c>0)for(var d=this.S('[data-uuid="'+a+'"]'),e=c-1;e>=0;e--){var f,g=b[e][2];if(f=matchMedia(this.settings.named_queries.hasOwnProperty(g)?this.settings.named_queries[g]:g),f.matches)return{el:d,scenario:b[e]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=0,d=this.data_attr;this.cache={},this.cached_images=[],this.images_loaded=0===b;for(var e=b-1;e>=0;e--){if(c++,a[e]){var f=a[e].getAttribute(d)||"";f.length>0&&this.cached_images.push(a[e])}c===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=0,d=this.data_attr;this.cached_nodes=[],this.nodes_loaded=0===b;for(var e=b-1;e>=0;e--){c++;var f=a[e].getAttribute(d)||"";f.length>0&&this.cached_nodes.push(a[e]),c===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length,e=d-1;e>=0;e--)this.object(a(this["cached_"+c][e]));return a(b).trigger("resize")},parse_params:function(a,b,c){return[this.trim(a),this.convert_directive(b),this.trim(c)]},convert_directive:function(a){var b=this.trim(a);return b.length>0?b:"replace"},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(var e=d-1;e>=0;e--){var f=b[e].split(/\((.*?)(\))$/);if(f.length>1){var g=f[0].split(","),h=this.parse_params(g[0],g[1],f[1]);c.push(h)}}return this.store(a,c)},uuid:function(a){function b(){return(65536*(1+Math.random())|0).toString(16).substring(1)}var c=a||"-";return b()+b()+c+b()+c+b()+c+b()+c+b()+b()+b()},store:function(a,b){var c=this.uuid(),d=a.data("uuid");return this.cache[d]?this.cache[d]:(a.attr("data-uuid",c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},parse_data_attr:function(a){for(var b=a.data(this.settings.load_attr).split(/\[(.*?)\]/),c=b.length,d=[],e=c-1;e>=0;e--)b[e].replace(/[\W\d]+/,"").length>4&&d.push(b[e]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,this,this.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.0.3",defaults:{expose:!1,modal:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'
×',timer:'
',tip:'
',wrapper:'
',button:'
',modal:'
',expose:'
',expose_cover:'
'},expose_add_class:""},init:function(a,b,c){Foundation.inherit(this,"throttle delay"),this.settings=this.defaults,this.bindings(b,c)},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end()}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("[data-joyride]").length>0&&c.settings.$next_tip){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1,!0)}},100))},start:function(){var b=this,c=a("[data-joyride]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data("joyride-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e-1;g>=0;g--)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr("data-index",b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},create:function(b){var c=b.$li.attr("data-button")||b.$li.attr("data-text"),d=b.$li.attr("class"),e=a(this.tip_template({tip_class:d,index:b.index,button_text:c,li:b.$li}));a(this.settings.tip_container).append(e)},show:function(b){var c=null;this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after)?(this.settings.paused?this.settings.paused=!1:this.set_li(b),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0?(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],/body/i.test(this.settings.$target.selector)||this.scroll_to(),this.is_phone()?this.pos_phone(!0):this.pos_default(!0),c=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(c.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),this.delay(function(){c.animate({width:c.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(c.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),this.delay(function(){c.animate({width:c.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fadeSpeed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip):this.settings.$li&&this.settings.$target.length<1?this.show():this.end()):this.settings.paused=!0
+},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr("data-class"),d=this.settings.$li.attr("data-id"),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(c,d){var e=(Math.ceil(a(b).height()/2),this.settings.$next_tip.offset(),this.settings.$next_tip.find(".joyride-nub")),f=Math.ceil(e.outerWidth()/2),g=Math.ceil(e.outerHeight()/2),h=c||!1;h&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),"undefined"==typeof d&&(d=!1),/body/i.test(this.settings.$target.selector)?this.settings.$li.length&&this.pos_modal(e):(this.bottom()?(this.settings.$next_tip.css(this.rtl?{top:this.settings.$target.offset().top+g+this.settings.$target.outerHeight(),left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}:{top:this.settings.$target.offset().top+g+this.settings.$target.outerHeight(),left:this.settings.$target.offset().left}),this.nub_position(e,this.settings.tip_settings.nub_position,"top")):this.top()?(this.settings.$next_tip.css(this.rtl?{top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-g,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}:{top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-g,left:this.settings.$target.offset().left}),this.nub_position(e,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.outerWidth(this.settings.$target)+this.settings.$target.offset().left+f}),this.nub_position(e,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.settings.$target.offset().left-this.outerWidth(this.settings.$next_tip)-f}),this.nub_position(e,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts
0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;for(var e=0;d>e;e++)if(this.settings.exposed[e]==c)return void this.settings.exposed.splice(e,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){a.addClass("auto"===b?c:b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.$next_tip.data("closed",!0),a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate),this.settings={}},reflow:function(){}}}(jQuery,this,this.document),function(a,b){"use strict";Foundation.libs.magellan={name:"magellan",version:"5.0.3",settings:{active_class:"active",threshold:0},init:function(b,c){this.fixed_magellan=a("[data-magellan-expedition]"),this.magellan_placeholder=a("").css({height:this.fixed_magellan.outerHeight(!0)}).hide().insertAfter(this.fixed_magellan),this.set_threshold(),this.set_active_class(c),this.last_destination=a("[data-magellan-destination]").last(),this.events()},events:function(){var c=this;a(this.scope).off(".magellan").on("arrival.fndtn.magellan","[data-magellan-arrival]",function(){var b=a(this),d=b.closest("[data-magellan-expedition]"),e=d.attr("data-magellan-active-class")||c.settings.active_class;b.closest("[data-magellan-expedition]").find("[data-magellan-arrival]").not(b).removeClass(e),b.addClass(e)}),this.fixed_magellan.off(".magellan").on("update-position.fndtn.magellan",function(){a(this)}).trigger("update-position"),a(b).off(".magellan").on("resize.fndtn.magellan",function(){this.fixed_magellan.trigger("update-position")}.bind(this)).on("scroll.fndtn.magellan",function(){var d=a(b).scrollTop();c.fixed_magellan.each(function(){var b=a(this);"undefined"==typeof b.data("magellan-top-offset")&&b.data("magellan-top-offset",b.offset().top),"undefined"==typeof b.data("magellan-fixed-position")&&b.data("magellan-fixed-position",!1);var e=d+c.settings.threshold>b.data("magellan-top-offset"),f=b.attr("data-magellan-top-offset");b.data("magellan-fixed-position")!=e&&(b.data("magellan-fixed-position",e),e?(b.addClass("fixed"),b.css({position:"fixed",top:0}),c.magellan_placeholder.show()):(b.removeClass("fixed"),b.css({position:"",top:""}),c.magellan_placeholder.hide()),e&&"undefined"!=typeof f&&0!=f&&b.css({position:"fixed",top:f+"px"}))})}),this.last_destination.length>0&&a(b).on("scroll.fndtn.magellan",function(){var d=a(b).scrollTop(),e=d+a(b).height(),f=Math.ceil(c.last_destination.offset().top);a("[data-magellan-destination]").each(function(){var b=a(this),g=b.attr("data-magellan-destination"),h=b.offset().top-b.outerHeight(!0)-d;h<=c.settings.threshold&&a("[data-magellan-arrival='"+g+"']").trigger("arrival"),e>=a(c.scope).height()&&f>d&&e>f&&a("[data-magellan-arrival]").last().trigger("arrival")})})},set_threshold:function(){"number"!=typeof this.settings.threshold&&(this.settings.threshold=this.fixed_magellan.length>0?this.fixed_magellan.outerHeight(!0):0)},set_active_class:function(a){a&&a.active_class&&"string"==typeof a.active_class&&(this.settings.active_class=a.active_class)},off:function(){a(this.scope).off(".fndtn.magellan"),a(b).off(".fndtn.magellan")},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.0.3",settings:{},init:function(){this.events()},events:function(){a(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(b){b.preventDefault(),a(this).closest(".off-canvas-wrap").toggleClass("move-right")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(b){b.preventDefault(),a(".off-canvas-wrap").removeClass("move-right")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(b){b.preventDefault(),a(this).closest(".off-canvas-wrap").toggleClass("move-left")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(b){b.preventDefault(),a(".off-canvas-wrap").removeClass("move-left")})},reflow:function(){}}}(jQuery,this,this.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;q.children().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(q.children().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('a[data-orbit-link="'+q.children().eq(b).attr("data-orbit-slide")+'"]');c.siblings().removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap(''),j=q.parent(),q.addClass(f.slides_container_class),f.navigation_arrows&&(j.append(a('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("").addClass(f.timer_container_class),m.append("
"),m.append(a("").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
").addClass(f.slide_number_class),k.append("
"+f.slide_number_text+"
"),j.append(k)),f.bullets&&(l=a("
").addClass(f.bullets_container_class),j.append(l),l.wrap(''),q.children().each(function(b){var c=a("- ").attr("data-orbit-slide",b);l.append(c)})),f.stack_on_small&&j.addClass(f.stack_on_small_class),p.update_slide_number(0),p.update_active_link(0)},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=q.children(),e="next";if(s=!0,r>b&&(e="prev"),b>=d.length){if(!f.circular)return!1;b=0}else if(0>b){if(!f.circular)return!1;b=d.length-1}var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.height()!=h.height()&&f.variable_height?q.animate({height:h.height()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.height()>q.height()&&f.variable_height?q.animate({height:h.height()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(){var b=a(this).attr("data-orbit-slide");if("string"==typeof b&&""!=(b=a.trim(b)))if(isNaN(parseInt(b))){var c=j.find("[data-orbit-slide="+b+"]");-1!=c.index()&&p._goto(c.index()+1)}else p._goto(parseInt(b))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(q.children().get(r)),c=b.height();f.variable_height||q.children().each(function(){a(this).height()>c&&(c=a(this).height())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),o.start()),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),j.on("click","[data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)0?a(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):a(this.scope).on("open.fndtn.reveal","[data-reveal]",this.settings.open).on("opened.fndtn.reveal","[data-reveal]",this.settings.opened).on("opened.fndtn.reveal","[data-reveal]",this.open_video).on("close.fndtn.reveal","[data-reveal]",this.settings.close).on("closed.fndtn.reveal","[data-reveal]",this.settings.closed).on("closed.fndtn.reveal","[data-reveal]",this.close_video),!0},key_up_on:function(){var b=this;return a("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(c){var d=a("[data-reveal].open"),e=d.data("reveal-init");e&&27===c.which&&e.close_on_esc&&!b.locked&&b.close.call(b,d)}),!0},key_up_off:function(){return a("body").off("keyup.fndtn.reveal"),!0},open:function(b,c){var d=this;if(b)if("undefined"!=typeof b.selector)var e=a("#"+b.data("reveal-id"));else{var e=a(this.scope);c=b}else var e=a(this.scope);var f=e.data("reveal-init");if(!e.hasClass("open")){var g=a("[data-reveal].open");if("undefined"==typeof e.data("css-top")&&e.data("css-top",parseInt(e.css("top"),10)).data("offset",this.cache_offset(e)),this.key_up_on(e),e.trigger("open"),g.length<1&&this.toggle_bg(e),"string"==typeof c&&(c={url:c}),"undefined"!=typeof c&&c.url){var h="undefined"!=typeof c.success?c.success:null;a.extend(c,{success:function(b,c,i){if(a.isFunction(h)&&h(b,c,i),e.html(b),a(e).foundation("section","reflow"),g.length>0){var j=g.data("reveal-init");d.hide(g,j.css.close)}d.show(e,f.css.open)}}),a.ajax(c)}else{if(g.length>0){var i=g.data("reveal-init");this.hide(g,i.css.close)}this.show(e,f.css.open)}}},close:function(b){var b=b&&b.length?b:a(this.scope),c=a("[data-reveal].open"),d=b.data("reveal-init");c.length>0&&(this.locked=!0,this.key_up_off(b),b.trigger("close"),this.toggle_bg(b),this.hide(c,d.css.close,d))},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(b){b.data("reveal-init");0===a("."+this.settings.bg_class).length&&(this.settings.bg=a("",{"class":this.settings.bg_class}).appendTo("body")),this.settings.bg.filter(":visible").length>0?this.hide(this.settings.bg):this.show(this.settings.bg)},show:function(c,d){if(d){var e=c.data("reveal-init");if(0===c.parent("body").length){var f=c.wrap('').parent(),g=this.settings.rootElement||"body";c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(f),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo(g)}if(/pop/i.test(e.animation)){d.top=a(b).scrollTop()-c.data("offset")+"px";var h={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return this.delay(function(){return c.css(d).animate(h,e.animation_speed,"linear",function(){this.locked=!1,c.trigger("opened")}.bind(this)).addClass("open")}.bind(this),e.animation_speed/2)}if(/fade/i.test(e.animation)){var h={opacity:1};return this.delay(function(){return c.css(d).animate(h,e.animation_speed,"linear",function(){this.locked=!1,c.trigger("opened")}.bind(this)).addClass("open")}.bind(this),e.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened")}var e=this.settings;return/fade/i.test(e.animation)?c.fadeIn(e.animation_speed/2):c.show()},hide:function(c,d){if(d){var e=c.data("reveal-init");if(/pop/i.test(e.animation)){var f={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return this.delay(function(){return c.animate(f,e.animation_speed,"linear",function(){this.locked=!1,c.css(d).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),e.animation_speed/2)}if(/fade/i.test(e.animation)){var f={opacity:0};return this.delay(function(){return c.animate(f,e.animation_speed,"linear",function(){this.locked=!1,c.css(d).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),e.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed")}var e=this.settings;return/fade/i.test(e.animation)?c.fadeOut(e.animation_speed/2):c.hide()},close_video:function(){var b=a(this).find(".flex-video"),c=b.find("iframe");c.length>0&&(c.attr("data-src",c[0].src),c.attr("src","about:blank"),b.hide())},open_video:function(){var b=a(this).find(".flex-video"),c=b.find("iframe");if(c.length>0){var e=c.attr("data-src");if("string"==typeof e)c[0].src=c.attr("data-src");else{var f=c[0].src;c[0].src=d,c[0].src=f}b.show()}},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10);return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.tab={name:"tab",version:"5.0.3",settings:{active_class:"active",callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){a(this.scope).off(".tab").on("click.fndtn.tab","[data-tab] > dd > a",function(b){b.preventDefault();var c=a(this).parent(),d=c.closest("[data-tab]"),e=a("#"+this.href.split("#")[1]),f=c.siblings(),g=d.data("tab-init");a(this).data("tab-content")&&(e=a("#"+a(this).data("tab-content").split("#")[1])),c.addClass(g.active_class).trigger("opened"),f.removeClass(g.active_class),e.siblings().removeClass(g.active_class).end().addClass(g.active_class),g.callback(c),d.trigger("toggled",[c])})},off:function(){},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.0.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this;Modernizr.touch?a(this.scope).off(".tooltip").on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip","[data-tooltip]",function(c){var d=a.extend({},b.settings,b.data_options(a(this)));d.disable_for_touch||(c.preventDefault(),a(d.tooltip_class).hide(),b.showOrCreateTip(a(this)))}).on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip",this.settings.tooltip_class,function(b){b.preventDefault(),a(this).fadeOut(150)}):a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip","[data-tooltip]",function(c){var d=a(this);/enter|over/i.test(c.type)?b.showOrCreateTip(d):("mouseout"===c.type||"mouseleave"===c.type)&&b.hide(d)})},showOrCreateTip:function(a){var b=this.getTip(a);return b&&b.length>0?this.show(a):this.create(a)},getTip:function(b){var c=this.selector(b),d=null;return c&&(d=a('span[data-selector="'+c+'"]'+this.settings.tooltip_class)),"object"==typeof d?d:!1},selector:function(a){var b=a.attr("id"),c=a.attr("data-tooltip")||a.attr("data-selector");return(b&&b.length<1||!b)&&"string"!=typeof c&&(c="tooltip"+Math.random().toString(36).substring(7),a.attr("data-selector",c)),b&&b.length>0?b:c},create:function(b){var c=a(this.settings.tip_template(this.selector(b),a("").html(b.attr("title")).html())),d=this.inheritable_classes(b);c.addClass(d).appendTo(this.settings.append_to),Modernizr.touch&&c.append(''+this.settings.touch_close_text+""),b.removeAttr("title").attr("title",""),this.show(b)},reposition:function(b,c,d){var e,f,g,h,i;if(c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerHeight(),c.css({width:e?e:"auto"}),i=function(a,b,c,d,e){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()},i(c,b.offset().top+b.outerHeight()+10,"auto","auto",b.offset().left),this.small())i(c,b.offset().top+b.outerHeight()+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",b.offset().left);else{var j=b.offset().left;Foundation.rtl&&(j=b.offset().left+b.offset().width-c.outerWidth()),i(c,b.offset().top+b.outerHeight()+10,"auto","auto",j),c.removeClass("tip-override"),d&&d.indexOf("tip-top")>-1?i(c,b.offset().top-c.outerHeight()-10,"auto","auto",j).removeClass("tip-override"):d&&d.indexOf("tip-left")>-1?i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left-c.outerWidth()-g).removeClass("tip-override"):d&&d.indexOf("tip-right")>-1&&i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left+b.outerWidth()+g).removeClass("tip-override")}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches},inheritable_classes:function(b){var c=["tip-top","tip-left","tip-bottom","tip-right","noradius"].concat(this.settings.additional_inheritable_classes),d=b.attr("class"),e=d?a.map(d.split(" "),function(b){return-1!==a.inArray(b,c)?b:void 0}).join(" "):"";return a.trim(e)},show:function(a){var b=this.getTip(a);this.reposition(a,b,a.attr("class")),b.fadeIn(150)},hide:function(a){var b=this.getTip(a);b.fadeOut(150)},reload:function(){var b=a(this);return b.data("fndtn-tooltips")?b.foundationTooltips("destroy").foundationTooltips("init"):b.foundationTooltips("init")},off:function(){a(this.scope).off(".fndtn.tooltip"),a(this.settings.tooltip_class).each(function(b){a("[data-tooltip]").get(b).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,this,this.document),function(a,b,c){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.0.3",settings:{index:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",is_hover:!0,mobile_show_parent_link:!1,scrolltop:!0},init:function(b,c,d){Foundation.inherit(this,"addCustomRule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),a("[data-topbar]",this.scope).each(function(){{var b=a(this),c=b.data("topbar-init");
+a("section",this),a("> ul",this).first()}b.data("index",0);var d=b.parent();d.hasClass("fixed")||d.hasClass(c.sticky_class)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?a(".has-dropdown",b).addClass("not-click"):a(".has-dropdown",b).removeClass("not-click"),e.addCustomRule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&a("body").addClass("f-topbar-fixed")})},toggle:function(c){var d=this;if(c)var e=a(c).closest("[data-topbar]");else var e=a("[data-topbar]");var f=e.data("topbar-init"),g=a("section, .section",e);d.breakpoint()&&(d.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),a("li.moved",g).removeClass("moved"),e.data("index",0),e.toggleClass("expanded").css("height","")),f.scrolltop?e.hasClass("expanded")?e.parent().hasClass("fixed")&&(f.scrolltop?(e.parent().removeClass("fixed"),e.addClass("fixed"),a("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):e.parent().removeClass("expanded")):e.hasClass("fixed")&&(e.parent().addClass("fixed"),e.removeClass("fixed"),a("body").addClass("f-topbar-fixed")):(e.parent().hasClass(d.settings.sticky_class)&&e.parent().addClass("fixed"),e.parent().hasClass("fixed")&&(e.hasClass("expanded")?(e.addClass("fixed"),e.parent().addClass("expanded"),a("body").addClass("f-topbar-fixed")):(e.removeClass("fixed"),e.parent().removeClass("expanded"),d.update_sticky_positioning())))},timer:null,events:function(){var c=this;a(this.scope).off(".topbar").on("click.fndtn.topbar","[data-topbar] .toggle-topbar",function(a){a.preventDefault(),c.toggle(this)}).on("click.fndtn.topbar","[data-topbar] li.has-dropdown",function(b){var d=a(this),e=a(b.target),f=d.closest("[data-topbar]"),g=f.data("topbar-init");return e.data("revealId")?void c.toggle():void(c.breakpoint()||(!g.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),d.hasClass("hover")?(d.removeClass("hover").find("li").removeClass("hover"),d.parents("li.hover").removeClass("hover")):(d.addClass("hover"),"A"===e[0].nodeName&&e.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","[data-topbar] .has-dropdown>a",function(b){if(c.breakpoint()){b.preventDefault();var d=a(this),e=d.closest("[data-topbar]"),f=e.find("section, .section"),g=(d.next(".dropdown").outerHeight(),d.closest("li"));e.data("index",e.data("index")+1),g.addClass("moved"),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),e.css("height",d.siblings("ul").outerHeight(!0)+e.data("height"))}}),a(b).off(".topbar").on("resize.fndtn.topbar",c.throttle(function(){c.resize.call(c)},50)).trigger("resize"),a("body").off(".topbar").on("click.fndtn.topbar touchstart.fndtn.topbar",function(b){var c=a(b.target).closest("li").closest("li.hover");c.length>0||a("[data-topbar] li").removeClass("hover")}),a(this.scope).on("click.fndtn.topbar","[data-topbar] .has-dropdown .back",function(b){b.preventDefault();var d=a(this),e=d.closest("[data-topbar]"),f=e.find("section, .section"),g=(e.data("topbar-init"),d.closest("li.moved")),h=g.parent();e.data("index",e.data("index")-1),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),0===e.data("index")?e.css("height",""):e.css("height",h.outerHeight(!0)+e.data("height")),setTimeout(function(){g.removeClass("moved")},300)})},resize:function(){var b=this;a("[data-topbar]").each(function(){var d,e=a(this),f=(e.data("topbar-init"),e.parent("."+b.settings.sticky_class));if(!b.breakpoint()){var g=e.hasClass("expanded");e.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&b.toggle(e)}f.length>0&&(f.hasClass("fixed")?(f.removeClass("fixed"),d=f.offset().top,a(c.body).hasClass("f-topbar-fixed")&&(d-=e.data("height")),e.data("stickyoffset",d),f.addClass("fixed")):(d=f.offset().top,e.data("stickyoffset",d)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},assemble:function(b){{var c=b.data("topbar-init"),d=a("section",b);a("> ul",b).first()}d.detach(),a(".has-dropdown>a",d).each(function(){var b=a(this),d=b.siblings(".dropdown"),e=b.attr("href");if(c.mobile_show_parent_link&&e&&e.length>1)var f=a('
- '+b.text()+"
");else var f=a('
');a("h5>a",f).html(1==c.custom_back_text?c.back_text:"« "+b.html()),d.prepend(f)}),d.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data("topbar-init",a.extend({},b.data("topbar-init"),{assembled:!0}))},height:function(b){var c=0;return a("> li",b).each(function(){c+=a(this).outerHeight(!0)}),c},sticky:function(){var c=(a(b),this);a(b).on("scroll",function(){c.update_sticky_positioning()})},update_sticky_positioning:function(){var c="."+this.settings.sticky_class,d=a(b);if(a(c).length>0){var e=this.settings.sticky_topbar.data("stickyoffset");a(c).hasClass("expanded")||(d.scrollTop()>e?a(c).hasClass("fixed")||(a(c).addClass("fixed"),a("body").addClass("f-topbar-fixed")):d.scrollTop()<=e&&a(c).hasClass("fixed")&&(a(c).removeClass("fixed"),a("body").removeClass("f-topbar-fixed")))}},off:function(){a(this.scope).off(".fndtn.topbar"),a(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,this,this.document);
\ No newline at end of file
diff --git a/bower_components/foundation/js/foundation/foundation.abide.js b/bower_components/foundation/js/foundation/foundation.abide.js
new file mode 100644
index 0000000..9898eac
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.abide.js
@@ -0,0 +1,222 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.abide = {
+ name : 'abide',
+
+ version : '5.0.3',
+
+ settings : {
+ focus_on_invalid : true,
+ error_labels: true, // labels with a for="inputId" will recieve an `error` class
+ timeout : 1000,
+ patterns : {
+ alpha: /[a-zA-Z]+/,
+ alpha_numeric : /[a-zA-Z0-9]+/,
+ integer: /-?\d+/,
+ number: /-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?/,
+
+ // generic password: upper-case, lower-case, number/special character, and min 8 characters
+ password : /(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,
+
+ // amex, visa, diners
+ card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|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}$/,
+
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+ 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})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?/,
+ // abc.de
+ domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/,
+
+ 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))/,
+ // YYYY-MM-DD
+ 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))/,
+ // HH:MM:SS
+ time : /(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}/,
+ dateISO: /\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/,
+ // MM/DD/YYYY
+ month_day_year : /(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d/,
+
+ // #FFF or #FFFFFF
+ color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
+ }
+ },
+
+ timer : null,
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function (scope) {
+ var self = this,
+ form = $(scope).attr('novalidate', 'novalidate'),
+ settings = form.data('abide-init');
+
+ form
+ .off('.abide')
+ .on('submit.fndtn.abide validate.fndtn.abide', function (e) {
+ var is_ajax = /ajax/i.test($(this).attr('data-abide'));
+ return self.validate($(this).find('input, textarea, select').get(), e, is_ajax);
+ })
+ .find('input, textarea, select')
+ .off('.abide')
+ .on('blur.fndtn.abide change.fndtn.abide', function (e) {
+ self.validate([this], e);
+ })
+ .on('keydown.fndtn.abide', function (e) {
+ var settings = $(this).closest('form').data('abide-init');
+ clearTimeout(self.timer);
+ self.timer = setTimeout(function () {
+ self.validate([this], e);
+ }.bind(this), settings.timeout);
+ });
+ },
+
+ validate : function (els, e, is_ajax) {
+ var validations = this.parse_patterns(els),
+ validation_count = validations.length,
+ form = $(els[0]).closest('form'),
+ submit_event = /submit/.test(e.type);
+
+ for (var i=0; i < validation_count; i++) {
+ if (!validations[i] && (submit_event || is_ajax)) {
+ if (this.settings.focus_on_invalid) els[i].focus();
+ form.trigger('invalid');
+ $(els[i]).closest('form').attr('data-invalid', '');
+ return false;
+ }
+ }
+
+ if (submit_event || is_ajax) {
+ form.trigger('valid');
+ }
+
+ form.removeAttr('data-invalid');
+
+ if (is_ajax) return false;
+
+ return true;
+ },
+
+ parse_patterns : function (els) {
+ var count = els.length,
+ el_patterns = [];
+
+ for (var i = count - 1; i >= 0; i--) {
+ el_patterns.push(this.pattern(els[i]));
+ }
+
+ return this.check_validation_and_apply_styles(el_patterns);
+ },
+
+ pattern : function (el) {
+ var type = el.getAttribute('type'),
+ required = typeof el.getAttribute('required') === 'string';
+
+ var pattern = el.getAttribute('pattern') || '';
+
+ if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) {
+ return [el, this.settings.patterns[pattern], required];
+ } else if (pattern.length > 0) {
+ return [el, new RegExp(pattern), required];
+ }
+
+ if (this.settings.patterns.hasOwnProperty(type)) {
+ return [el, this.settings.patterns[type], required];
+ }
+
+ pattern = /.*/;
+
+ return [el, pattern, required];
+ },
+
+ check_validation_and_apply_styles : function (el_patterns) {
+ var count = el_patterns.length,
+ validations = [];
+
+ for (var i = count - 1; i >= 0; i--) {
+ var el = el_patterns[i][0],
+ required = el_patterns[i][2],
+ value = el.value,
+ is_equal = el.getAttribute('data-equalto'),
+ is_radio = el.type === "radio",
+ is_checkbox = el.type === "checkbox",
+ label = $('label[for="' + el.getAttribute('id') + '"]'),
+ valid_length = (required) ? (el.value.length > 0) : true;
+
+ if (is_radio && required) {
+ validations.push(this.valid_radio(el, required));
+ } else if (is_checkbox && required) {
+ validations.push(this.valid_checkbox(el, required));
+ } else if (is_equal && required) {
+ validations.push(this.valid_equal(el, required));
+ } else {
+ if (el_patterns[i][1].test(value) && valid_length ||
+ !required && el.value.length < 1) {
+ $(el).removeAttr('data-invalid').parent().removeClass('error');
+ if (label.length > 0 && this.settings.error_labels) label.removeClass('error');
+
+ validations.push(true);
+ } else {
+ $(el).attr('data-invalid', '').parent().addClass('error');
+ if (label.length > 0 && this.settings.error_labels) label.addClass('error');
+
+ validations.push(false);
+ }
+ }
+ }
+
+ return validations;
+ },
+
+ valid_checkbox : function(el, required) {
+ var el = $(el),
+ valid = (el.is(':checked') || !required);
+ if (valid) {
+ el.removeAttr('data-invalid').parent().removeClass('error');
+ } else {
+ el.attr('data-invalid', '').parent().addClass('error');
+ }
+
+ return valid;
+ },
+
+ valid_radio : function (el, required) {
+ var name = el.getAttribute('name'),
+ group = document.getElementsByName(name),
+ count = group.length,
+ valid = false;
+
+ for (var i=0; i < count; i++) {
+ if (group[i].checked) valid = true;
+ }
+
+ for (var i=0; i < count; i++) {
+ if (valid) {
+ $(group[i]).removeAttr('data-invalid').parent().removeClass('error');
+ } else {
+ $(group[i]).attr('data-invalid', '').parent().addClass('error');
+ }
+ }
+
+ return valid;
+ },
+
+ valid_equal: function(el, required) {
+ var from = document.getElementById(el.getAttribute('data-equalto')).value,
+ to = el.value,
+ valid = (from === to);
+
+ if (valid) {
+ $(el).removeAttr('data-invalid').parent().removeClass('error');
+ } else {
+ $(el).attr('data-invalid', '').parent().addClass('error');
+ }
+
+ return valid;
+ }
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.accordion.js b/bower_components/foundation/js/foundation/foundation.accordion.js
new file mode 100644
index 0000000..24e7791
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.accordion.js
@@ -0,0 +1,41 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.accordion = {
+ name : 'accordion',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'active',
+ toggleable: true
+ },
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ $(this.scope).off('.accordion').on('click.fndtn.accordion', '[data-accordion] > dd > a', function (e) {
+ var accordion = $(this).parent(),
+ target = $('#' + this.href.split('#')[1]),
+ siblings = $('> dd > .content', target.closest('[data-accordion]')),
+ settings = accordion.parent().data('accordion-init'),
+ active = $('> dd > .content.' + settings.active_class, accordion.parent());
+
+ e.preventDefault();
+
+ if (active[0] == target[0] && settings.toggleable) {
+ return target.toggleClass(settings.active_class);
+ }
+
+ siblings.removeClass(settings.active_class);
+ target.addClass(settings.active_class);
+ });
+ },
+
+ off : function () {},
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.alert.js b/bower_components/foundation/js/foundation/foundation.alert.js
new file mode 100644
index 0000000..1f5bc6a
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.alert.js
@@ -0,0 +1,34 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.alert = {
+ name : 'alert',
+
+ version : '5.0.3',
+
+ settings : {
+ animation: 'fadeOut',
+ speed: 300, // fade out speed
+ callback: function (){}
+ },
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ $(this.scope).off('.alert').on('click.fndtn.alert', '[data-alert] a.close', function (e) {
+ var alertBox = $(this).closest("[data-alert]"),
+ settings = alertBox.data('alert-init') || Foundation.libs.alert.settings;
+
+ e.preventDefault();
+ alertBox[settings.animation](settings.speed, function () {
+ $(this).trigger('closed').remove();
+ settings.callback();
+ });
+ });
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.clearing.js b/bower_components/foundation/js/foundation/foundation.clearing.js
new file mode 100644
index 0000000..d2c892e
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.clearing.js
@@ -0,0 +1,463 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.clearing = {
+ name : 'clearing',
+
+ version: '5.0.3',
+
+ settings : {
+ templates : {
+ viewing : '×' +
+ '' +
+ '
' +
+ '
'
+ },
+
+ // comma delimited list of selectors that, on click, will close clearing,
+ // add 'div.clearing-blackout, div.visible-img' to close on background click
+ close_selectors : '.clearing-close',
+
+ // event initializers and locks
+ init : false,
+ locked : false
+ },
+
+ init : function (scope, method, options) {
+ var self = this;
+ Foundation.inherit(this, 'throttle loaded');
+
+ this.bindings(method, options);
+
+ if ($(this.scope).is('[data-clearing]')) {
+ this.assemble($('li', this.scope));
+ } else {
+ $('[data-clearing]', this.scope).each(function () {
+ self.assemble($('li', this));
+ });
+ }
+ },
+
+ events : function (scope) {
+ var self = this;
+
+ $(this.scope)
+ .off('.clearing')
+ .on('click.fndtn.clearing', 'ul[data-clearing] li',
+ function (e, current, target) {
+ var current = current || $(this),
+ target = target || current,
+ next = current.next('li'),
+ settings = current.closest('[data-clearing]').data('clearing-init'),
+ image = $(e.target);
+
+ e.preventDefault();
+
+ if (!settings) {
+ self.init();
+ settings = current.closest('[data-clearing]').data('clearing-init');
+ }
+
+ // if clearing is open and the current image is
+ // clicked, go to the next image in sequence
+ if (target.hasClass('visible') &&
+ current[0] === target[0] &&
+ next.length > 0 && self.is_open(current)) {
+ target = next;
+ image = $('img', target);
+ }
+
+ // set current and target to the clicked li if not otherwise defined.
+ self.open(image, current, target);
+ self.update_paddles(target);
+ })
+
+ .on('click.fndtn.clearing', '.clearing-main-next',
+ function (e) { self.nav(e, 'next') })
+ .on('click.fndtn.clearing', '.clearing-main-prev',
+ function (e) { self.nav(e, 'prev') })
+ .on('click.fndtn.clearing', this.settings.close_selectors,
+ function (e) { Foundation.libs.clearing.close(e, this) })
+ .on('keydown.fndtn.clearing',
+ function (e) { self.keydown(e) });
+
+ $(window).off('.clearing').on('resize.fndtn.clearing',
+ function () { self.resize() });
+
+ this.swipe_events(scope);
+ },
+
+ swipe_events : function (scope) {
+ var self = this;
+
+ $(this.scope)
+ .on('touchstart.fndtn.clearing', '.visible-img', function(e) {
+ if (!e.touches) { e = e.originalEvent; }
+ var data = {
+ start_page_x: e.touches[0].pageX,
+ start_page_y: e.touches[0].pageY,
+ start_time: (new Date()).getTime(),
+ delta_x: 0,
+ is_scrolling: undefined
+ };
+
+ $(this).data('swipe-transition', data);
+ e.stopPropagation();
+ })
+ .on('touchmove.fndtn.clearing', '.visible-img', function(e) {
+ if (!e.touches) { e = e.originalEvent; }
+ // Ignore pinch/zoom events
+ if(e.touches.length > 1 || e.scale && e.scale !== 1) return;
+
+ var data = $(this).data('swipe-transition');
+
+ if (typeof data === 'undefined') {
+ data = {};
+ }
+
+ data.delta_x = e.touches[0].pageX - data.start_page_x;
+
+ if ( typeof data.is_scrolling === 'undefined') {
+ data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
+ }
+
+ if (!data.is_scrolling && !data.active) {
+ e.preventDefault();
+ var direction = (data.delta_x < 0) ? 'next' : 'prev';
+ data.active = true;
+ self.nav(e, direction);
+ }
+ })
+ .on('touchend.fndtn.clearing', '.visible-img', function(e) {
+ $(this).data('swipe-transition', {});
+ e.stopPropagation();
+ });
+ },
+
+ assemble : function ($li) {
+ var $el = $li.parent();
+
+ if ($el.parent().hasClass('carousel')) return;
+ $el.after('');
+
+ var holder = $('#foundationClearingHolder'),
+ settings = $el.data('clearing-init'),
+ grid = $el.detach(),
+ data = {
+ grid: '' + grid[0].outerHTML + '
',
+ viewing: settings.templates.viewing
+ },
+ wrapper = '' + data.viewing +
+ data.grid + '
';
+
+ return holder.after(wrapper).remove();
+ },
+
+ open : function ($image, current, target) {
+ var root = target.closest('.clearing-assembled'),
+ container = $('div', root).first(),
+ visible_image = $('.visible-img', container),
+ image = $('img', visible_image).not($image);
+
+ if (!this.locked()) {
+ // set the image to the selected thumbnail
+ image
+ .attr('src', this.load($image))
+ .css('visibility', 'hidden');
+
+ this.loaded(image, function () {
+ image.css('visibility', 'visible');
+ // toggle the gallery
+ root.addClass('clearing-blackout');
+ container.addClass('clearing-container');
+ visible_image.show();
+ this.fix_height(target)
+ .caption($('.clearing-caption', visible_image), $image)
+ .center(image)
+ .shift(current, target, function () {
+ target.siblings().removeClass('visible');
+ target.addClass('visible');
+ });
+ }.bind(this));
+ }
+ },
+
+ close : function (e, el) {
+ e.preventDefault();
+
+ var root = (function (target) {
+ if (/blackout/.test(target.selector)) {
+ return target;
+ } else {
+ return target.closest('.clearing-blackout');
+ }
+ }($(el))), container, visible_image;
+
+ if (el === e.target && root) {
+ container = $('div', root).first();
+ visible_image = $('.visible-img', container);
+ this.settings.prev_index = 0;
+ $('ul[data-clearing]', root)
+ .attr('style', '').closest('.clearing-blackout')
+ .removeClass('clearing-blackout');
+ container.removeClass('clearing-container');
+ visible_image.hide();
+ }
+
+ return false;
+ },
+
+ is_open : function (current) {
+ return current.parent().prop('style').length > 0;
+ },
+
+ keydown : function (e) {
+ var clearing = $('ul[data-clearing]', '.clearing-blackout'),
+ NEXT_KEY = this.rtl ? 37 : 39,
+ PREV_KEY = this.rtl ? 39 : 37,
+ ESC_KEY = 27;
+
+ if (e.which === NEXT_KEY) this.go(clearing, 'next');
+ if (e.which === PREV_KEY) this.go(clearing, 'prev');
+ if (e.which === ESC_KEY) $('a.clearing-close').trigger('click');
+ },
+
+ nav : function (e, direction) {
+ var clearing = $('ul[data-clearing]', '.clearing-blackout');
+
+ e.preventDefault();
+ this.go(clearing, direction);
+ },
+
+ resize : function () {
+ var image = $('img', '.clearing-blackout .visible-img');
+
+ if (image.length) {
+ this.center(image);
+ }
+ },
+
+ // visual adjustments
+ fix_height : function (target) {
+ var lis = target.parent().children(),
+ self = this;
+
+ lis.each(function () {
+ var li = $(this),
+ image = li.find('img');
+
+ if (li.height() > image.outerHeight()) {
+ li.addClass('fix-height');
+ }
+ })
+ .closest('ul')
+ .width(lis.length * 100 + '%');
+
+ return this;
+ },
+
+ update_paddles : function (target) {
+ var visible_image = target
+ .closest('.carousel')
+ .siblings('.visible-img');
+
+ if (target.next().length > 0) {
+ $('.clearing-main-next', visible_image)
+ .removeClass('disabled');
+ } else {
+ $('.clearing-main-next', visible_image)
+ .addClass('disabled');
+ }
+
+ if (target.prev().length > 0) {
+ $('.clearing-main-prev', visible_image)
+ .removeClass('disabled');
+ } else {
+ $('.clearing-main-prev', visible_image)
+ .addClass('disabled');
+ }
+ },
+
+ center : function (target) {
+ if (!this.rtl) {
+ target.css({
+ marginLeft : -(target.outerWidth() / 2),
+ marginTop : -(target.outerHeight() / 2)
+ });
+ } else {
+ target.css({
+ marginRight : -(target.outerWidth() / 2),
+ marginTop : -(target.outerHeight() / 2),
+ left: 'auto',
+ right: '50%'
+ });
+ }
+ return this;
+ },
+
+ // image loading and preloading
+
+ load : function ($image) {
+ if ($image[0].nodeName === "A") {
+ var href = $image.attr('href');
+ } else {
+ var href = $image.parent().attr('href');
+ }
+
+ this.preload($image);
+
+ if (href) return href;
+ return $image.attr('src');
+ },
+
+ preload : function ($image) {
+ this
+ .img($image.closest('li').next())
+ .img($image.closest('li').prev());
+ },
+
+ img : function (img) {
+ if (img.length) {
+ var new_img = new Image(),
+ new_a = $('a', img);
+
+ if (new_a.length) {
+ new_img.src = new_a.attr('href');
+ } else {
+ new_img.src = $('img', img).attr('src');
+ }
+ }
+ return this;
+ },
+
+ // image caption
+
+ caption : function (container, $image) {
+ var caption = $image.data('caption');
+
+ if (caption) {
+ container
+ .html(caption)
+ .show();
+ } else {
+ container
+ .text('')
+ .hide();
+ }
+ return this;
+ },
+
+ // directional methods
+
+ go : function ($ul, direction) {
+ var current = $('.visible', $ul),
+ target = current[direction]();
+
+ if (target.length) {
+ $('img', target)
+ .trigger('click', [current, target]);
+ }
+ },
+
+ shift : function (current, target, callback) {
+ var clearing = target.parent(),
+ old_index = this.settings.prev_index || target.index(),
+ direction = this.direction(clearing, current, target),
+ dir = this.rtl ? 'right' : 'left',
+ left = parseInt(clearing.css('left'), 10),
+ width = target.outerWidth(),
+ skip_shift;
+
+ var dir_obj = {};
+
+ // we use jQuery animate instead of CSS transitions because we
+ // need a callback to unlock the next animation
+ // needs support for RTL **
+ if (target.index() !== old_index && !/skip/.test(direction)){
+ if (/left/.test(direction)) {
+ this.lock();
+ dir_obj[dir] = left + width;
+ clearing.animate(dir_obj, 300, this.unlock());
+ } else if (/right/.test(direction)) {
+ this.lock();
+ dir_obj[dir] = left - width;
+ clearing.animate(dir_obj, 300, this.unlock());
+ }
+ } else if (/skip/.test(direction)) {
+ // the target image is not adjacent to the current image, so
+ // do we scroll right or not
+ skip_shift = target.index() - this.settings.up_count;
+ this.lock();
+
+ if (skip_shift > 0) {
+ dir_obj[dir] = -(skip_shift * width);
+ clearing.animate(dir_obj, 300, this.unlock());
+ } else {
+ dir_obj[dir] = 0;
+ clearing.animate(dir_obj, 300, this.unlock());
+ }
+ }
+
+ callback();
+ },
+
+ direction : function ($el, current, target) {
+ var lis = $('li', $el),
+ li_width = lis.outerWidth() + (lis.outerWidth() / 4),
+ up_count = Math.floor($('.clearing-container').outerWidth() / li_width) - 1,
+ target_index = lis.index(target),
+ response;
+
+ this.settings.up_count = up_count;
+
+ if (this.adjacent(this.settings.prev_index, target_index)) {
+ if ((target_index > up_count)
+ && target_index > this.settings.prev_index) {
+ response = 'right';
+ } else if ((target_index > up_count - 1)
+ && target_index <= this.settings.prev_index) {
+ response = 'left';
+ } else {
+ response = false;
+ }
+ } else {
+ response = 'skip';
+ }
+
+ this.settings.prev_index = target_index;
+
+ return response;
+ },
+
+ adjacent : function (current_index, target_index) {
+ for (var i = target_index + 1; i >= target_index - 1; i--) {
+ if (i === current_index) return true;
+ }
+ return false;
+ },
+
+ // lock management
+
+ lock : function () {
+ this.settings.locked = true;
+ },
+
+ unlock : function () {
+ this.settings.locked = false;
+ },
+
+ locked : function () {
+ return this.settings.locked;
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.clearing');
+ $(window).off('.fndtn.clearing');
+ },
+
+ reflow : function () {
+ this.init();
+ }
+ };
+
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.dropdown.js b/bower_components/foundation/js/foundation/foundation.dropdown.js
new file mode 100644
index 0000000..ca4bf3b
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.dropdown.js
@@ -0,0 +1,202 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.dropdown = {
+ name : 'dropdown',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'open',
+ is_hover: false,
+ opened: function(){},
+ closed: function(){}
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'throttle');
+
+ this.bindings(method, options);
+ },
+
+ events : function (scope) {
+ var self = this;
+
+ $(this.scope)
+ .off('.dropdown')
+ .on('click.fndtn.dropdown', '[data-dropdown]', function (e) {
+ var settings = $(this).data('dropdown-init') || self.settings;
+ e.preventDefault();
+
+ self.closeall.call(self);
+
+ if (!settings.is_hover || Modernizr.touch) self.toggle($(this));
+ })
+ .on('mouseenter.fndtn.dropdown', '[data-dropdown], [data-dropdown-content]', function (e) {
+ var $this = $(this);
+ clearTimeout(self.timeout);
+
+ if ($this.data('dropdown')) {
+ var dropdown = $('#' + $this.data('dropdown')),
+ target = $this;
+ } else {
+ var dropdown = $this;
+ target = $("[data-dropdown='" + dropdown.attr('id') + "']");
+ }
+
+ var settings = target.data('dropdown-init') || self.settings;
+
+ if($(e.target).data('dropdown') && settings.is_hover) {
+ self.closeall.call(self);
+ }
+
+ if (settings.is_hover) self.open.apply(self, [dropdown, target]);
+ })
+ .on('mouseleave.fndtn.dropdown', '[data-dropdown], [data-dropdown-content]', function (e) {
+ var $this = $(this);
+ self.timeout = setTimeout(function () {
+ if ($this.data('dropdown')) {
+ var settings = $this.data('dropdown-init') || self.settings;
+ if (settings.is_hover) self.close.call(self, $('#' + $this.data('dropdown')));
+ } else {
+ var target = $('[data-dropdown="' + $(this).attr('id') + '"]'),
+ settings = target.data('dropdown-init') || self.settings;
+ if (settings.is_hover) self.close.call(self, $this);
+ }
+ }.bind(this), 150);
+ })
+ .on('click.fndtn.dropdown', function (e) {
+ var parent = $(e.target).closest('[data-dropdown-content]');
+
+ if ($(e.target).data('dropdown') || $(e.target).parent().data('dropdown')) {
+ return;
+ }
+ if (!($(e.target).data('revealId')) &&
+ (parent.length > 0 && ($(e.target).is('[data-dropdown-content]') ||
+ $.contains(parent.first()[0], e.target)))) {
+ e.stopPropagation();
+ return;
+ }
+
+ self.close.call(self, $('[data-dropdown-content]'));
+ })
+ .on('opened.fndtn.dropdown', '[data-dropdown-content]', function () {
+ self.settings.opened.call(this);
+ })
+ .on('closed.fndtn.dropdown', '[data-dropdown-content]', function () {
+ self.settings.closed.call(this);
+ });
+
+ $(window)
+ .off('.dropdown')
+ .on('resize.fndtn.dropdown', self.throttle(function () {
+ self.resize.call(self);
+ }, 50)).trigger('resize');
+ },
+
+ close: function (dropdown) {
+ var self = this;
+ dropdown.each(function () {
+ if ($(this).hasClass(self.settings.active_class)) {
+ $(this)
+ .css(Foundation.rtl ? 'right':'left', '-99999px')
+ .removeClass(self.settings.active_class);
+ $(this).trigger('closed');
+ }
+ });
+ },
+
+ closeall: function() {
+ var self = this;
+ $.each($('[data-dropdown-content]'), function() {
+ self.close.call(self, $(this))
+ });
+ },
+
+ open: function (dropdown, target) {
+ this
+ .css(dropdown
+ .addClass(this.settings.active_class), target);
+ dropdown.trigger('opened');
+ },
+
+ toggle : function (target) {
+ var dropdown = $('#' + target.data('dropdown'));
+ if (dropdown.length === 0) {
+ // No dropdown found, not continuing
+ return;
+ }
+
+ this.close.call(this, $('[data-dropdown-content]').not(dropdown));
+
+ if (dropdown.hasClass(this.settings.active_class)) {
+ this.close.call(this, dropdown);
+ } else {
+ this.close.call(this, $('[data-dropdown-content]'))
+ this.open.call(this, dropdown, target);
+ }
+ },
+
+ resize : function () {
+ var dropdown = $('[data-dropdown-content].open'),
+ target = $("[data-dropdown='" + dropdown.attr('id') + "']");
+
+ if (dropdown.length && target.length) {
+ this.css(dropdown, target);
+ }
+ },
+
+ css : function (dropdown, target) {
+ var offset_parent = dropdown.offsetParent(),
+ position = target.offset();
+
+ position.top -= offset_parent.offset().top;
+ position.left -= offset_parent.offset().left;
+
+ if (this.small()) {
+ dropdown.css({
+ position : 'absolute',
+ width: '95%',
+ 'max-width': 'none',
+ top: position.top + target.outerHeight()
+ });
+ dropdown.css(Foundation.rtl ? 'right':'left', '2.5%');
+ } else {
+ if (!Foundation.rtl && $(window).width() > dropdown.outerWidth() + target.offset().left) {
+ var left = position.left;
+ if (dropdown.hasClass('right')) {
+ dropdown.removeClass('right');
+ }
+ } else {
+ if (!dropdown.hasClass('right')) {
+ dropdown.addClass('right');
+ }
+ var left = position.left - (dropdown.outerWidth() - target.outerWidth());
+ }
+
+ dropdown.attr('style', '').css({
+ position : 'absolute',
+ top: position.top + target.outerHeight(),
+ left: left
+ });
+ }
+
+ return dropdown;
+ },
+
+ small : function () {
+ return matchMedia(Foundation.media_queries.small).matches &&
+ !matchMedia(Foundation.media_queries.medium).matches;
+ },
+
+ off: function () {
+ $(this.scope).off('.fndtn.dropdown');
+ $('html, body').off('.fndtn.dropdown');
+ $(window).off('.fndtn.dropdown');
+ $('[data-dropdown-content]').off('.fndtn.dropdown');
+ this.settings.init = false;
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.interchange.js b/bower_components/foundation/js/foundation/foundation.interchange.js
new file mode 100644
index 0000000..2d728de
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.interchange.js
@@ -0,0 +1,305 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.interchange = {
+ name : 'interchange',
+
+ version : '5.0.3',
+
+ cache : {},
+
+ images_loaded : false,
+ nodes_loaded : false,
+
+ settings : {
+ load_attr : 'interchange',
+
+ named_queries : {
+ 'default' : 'only screen',
+ small : Foundation.media_queries.small,
+ medium : Foundation.media_queries.medium,
+ large : Foundation.media_queries.large,
+ xlarge : Foundation.media_queries.xlarge,
+ xxlarge: Foundation.media_queries.xxlarge,
+ 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)'
+ },
+
+ directives : {
+ replace: function (el, path, trigger) {
+ // The trigger argument, if called within the directive, fires
+ // an event named after the directive on the element, passing
+ // any parameters along to the event that you pass to trigger.
+ //
+ // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c)
+ //
+ // This allows you to bind a callback like so:
+ // $('#interchangeContainer').on('replace', function (e, a, b, c) {
+ // console.log($(this).html(), a, b, c);
+ // });
+
+ if (/IMG/.test(el[0].nodeName)) {
+ var orig_path = el[0].src;
+
+ if (new RegExp(path, 'i').test(orig_path)) return;
+
+ el[0].src = path;
+
+ return trigger(el[0].src);
+ }
+ var last_path = el.data('interchange-last-path');
+
+ if (last_path == path) return;
+
+ return $.get(path, function (response) {
+ el.html(response);
+ el.data('interchange-last-path', path);
+ trigger();
+ });
+
+ }
+ }
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'throttle');
+
+ this.data_attr = 'data-' + this.settings.load_attr;
+ $.extend(true, this.settings, method, options);
+
+ this.bindings(method, options);
+ this.load('images');
+ this.load('nodes');
+ },
+
+ events : function () {
+ var self = this;
+
+ $(window)
+ .off('.interchange')
+ .on('resize.fndtn.interchange', self.throttle(function () {
+ self.resize.call(self);
+ }, 50));
+
+ return this;
+ },
+
+ resize : function () {
+ var cache = this.cache;
+
+ if(!this.images_loaded || !this.nodes_loaded) {
+ setTimeout($.proxy(this.resize, this), 50);
+ return;
+ }
+
+ for (var uuid in cache) {
+ if (cache.hasOwnProperty(uuid)) {
+ var passed = this.results(uuid, cache[uuid]);
+
+ if (passed) {
+ this.settings.directives[passed
+ .scenario[1]](passed.el, passed.scenario[0], function () {
+ if (arguments[0] instanceof Array) {
+ var args = arguments[0];
+ } else {
+ var args = Array.prototype.slice.call(arguments, 0);
+ }
+
+ passed.el.trigger(passed.scenario[1], args);
+ });
+ }
+ }
+ }
+
+ },
+
+ results : function (uuid, scenarios) {
+ var count = scenarios.length;
+
+ if (count > 0) {
+ var el = this.S('[data-uuid="' + uuid + '"]');
+
+ for (var i = count - 1; i >= 0; i--) {
+ var mq, rule = scenarios[i][2];
+ if (this.settings.named_queries.hasOwnProperty(rule)) {
+ mq = matchMedia(this.settings.named_queries[rule]);
+ } else {
+ mq = matchMedia(rule);
+ }
+ if (mq.matches) {
+ return {el: el, scenario: scenarios[i]};
+ }
+ }
+ }
+
+ return false;
+ },
+
+ load : function (type, force_update) {
+ if (typeof this['cached_' + type] === 'undefined' || force_update) {
+ this['update_' + type]();
+ }
+
+ return this['cached_' + type];
+ },
+
+ update_images : function () {
+ var images = this.S('img[' + this.data_attr + ']'),
+ count = images.length,
+ loaded_count = 0,
+ data_attr = this.data_attr;
+
+ this.cache = {};
+ this.cached_images = [];
+ this.images_loaded = (count === 0);
+
+ for (var i = count - 1; i >= 0; i--) {
+ loaded_count++;
+ if (images[i]) {
+ var str = images[i].getAttribute(data_attr) || '';
+
+ if (str.length > 0) {
+ this.cached_images.push(images[i]);
+ }
+ }
+
+ if(loaded_count === count) {
+ this.images_loaded = true;
+ this.enhance('images');
+ }
+ }
+
+ return this;
+ },
+
+ update_nodes : function () {
+ var nodes = this.S('[' + this.data_attr + ']').not('img'),
+ count = nodes.length,
+ loaded_count = 0,
+ data_attr = this.data_attr;
+
+ this.cached_nodes = [];
+ // Set nodes_loaded to true if there are no nodes
+ // this.nodes_loaded = false;
+ this.nodes_loaded = (count === 0);
+
+
+ for (var i = count - 1; i >= 0; i--) {
+ loaded_count++;
+ var str = nodes[i].getAttribute(data_attr) || '';
+
+ if (str.length > 0) {
+ this.cached_nodes.push(nodes[i]);
+ }
+
+ if(loaded_count === count) {
+ this.nodes_loaded = true;
+ this.enhance('nodes');
+ }
+ }
+
+ return this;
+ },
+
+ enhance : function (type) {
+ var count = this['cached_' + type].length;
+
+ for (var i = count - 1; i >= 0; i--) {
+ this.object($(this['cached_' + type][i]));
+ }
+
+ return $(window).trigger('resize');
+ },
+
+ parse_params : function (path, directive, mq) {
+ return [this.trim(path), this.convert_directive(directive), this.trim(mq)];
+ },
+
+ convert_directive : function (directive) {
+ var trimmed = this.trim(directive);
+
+ if (trimmed.length > 0) {
+ return trimmed;
+ }
+
+ return 'replace';
+ },
+
+ object : function(el) {
+ var raw_arr = this.parse_data_attr(el),
+ scenarios = [], count = raw_arr.length;
+
+ if (count > 0) {
+ for (var i = count - 1; i >= 0; i--) {
+ var split = raw_arr[i].split(/\((.*?)(\))$/);
+
+ if (split.length > 1) {
+ var cached_split = split[0].split(','),
+ params = this.parse_params(cached_split[0],
+ cached_split[1], split[1]);
+
+ scenarios.push(params);
+ }
+ }
+ }
+
+ return this.store(el, scenarios);
+ },
+
+ uuid : function (separator) {
+ var delim = separator || "-";
+
+ function S4() {
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
+ }
+
+ return (S4() + S4() + delim + S4() + delim + S4()
+ + delim + S4() + delim + S4() + S4() + S4());
+ },
+
+ store : function (el, scenarios) {
+ var uuid = this.uuid(),
+ current_uuid = el.data('uuid');
+
+ if (this.cache[current_uuid]) return this.cache[current_uuid];
+
+ el.attr('data-uuid', uuid);
+
+ return this.cache[uuid] = scenarios;
+ },
+
+ trim : function(str) {
+ if (typeof str === 'string') {
+ return $.trim(str);
+ }
+
+ return str;
+ },
+
+ parse_data_attr : function (el) {
+ var raw = el.data(this.settings.load_attr).split(/\[(.*?)\]/),
+ count = raw.length, output = [];
+
+ for (var i = count - 1; i >= 0; i--) {
+ if (raw[i].replace(/[\W\d]+/, '').length > 4) {
+ output.push(raw[i]);
+ }
+ }
+
+ return output;
+ },
+
+ reflow : function () {
+ this.load('images', true);
+ this.load('nodes', true);
+ }
+
+ };
+
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.joyride.js b/bower_components/foundation/js/foundation/foundation.joyride.js
new file mode 100644
index 0000000..a8bfec8
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.joyride.js
@@ -0,0 +1,842 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ var Modernizr = Modernizr || false;
+
+ Foundation.libs.joyride = {
+ name : 'joyride',
+
+ version : '5.0.3',
+
+ defaults : {
+ expose : false, // turn on or off the expose feature
+ modal : true, // Whether to cover page with modal during the tour
+ tip_location : 'bottom', // 'top' or 'bottom' in relation to parent
+ nub_position : 'auto', // override on a per tooltip bases
+ scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation
+ scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI.
+ timer : 0, // 0 = no timer , all other numbers = timer in milliseconds
+ start_timer_on_click : true, // true or false - true requires clicking the first button start the timer
+ start_offset : 0, // the index of the tooltip you want to start on (index of the li)
+ next_button : true, // true or false to control whether a next button is used
+ tip_animation : 'fade', // 'pop' or 'fade' in each tip
+ pause_after : [], // array of indexes where to pause the tour after
+ exposed : [], // array of expose elements
+ tip_animation_fade_speed: 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition
+ cookie_monster : false, // true or false to control whether cookies are used
+ cookie_name : 'joyride', // Name the cookie you'll use
+ cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com'
+ cookie_expires : 365, // set when you would like the cookie to expire.
+ tip_container : 'body', // Where will the tip be attached
+ tip_location_patterns : {
+ top: ['bottom'],
+ bottom: [], // bottom should not need to be repositioned
+ left: ['right', 'top', 'bottom'],
+ right: ['left', 'top', 'bottom']
+ },
+ post_ride_callback : function (){}, // A method to call once the tour closes (canceled or complete)
+ post_step_callback : function (){}, // A method to call after each step
+ pre_step_callback : function (){}, // A method to call before each step
+ pre_ride_callback : function (){}, // A method to call before the tour starts (passed index, tip, and cloned exposed element)
+ post_expose_callback : function (){}, // A method to call after an element has been exposed
+ template : { // HTML segments for tip layout
+ link : '×',
+ timer : '
',
+ tip : '
',
+ wrapper : '',
+ button : '',
+ modal : '',
+ expose : '',
+ expose_cover: ''
+ },
+ expose_add_class : '' // One or more space-separated class names to be added to exposed element
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'throttle delay');
+
+ this.settings = this.defaults;
+
+ this.bindings(method, options)
+ },
+
+ events : function () {
+ var self = this;
+
+ $(this.scope)
+ .off('.joyride')
+ .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) {
+ e.preventDefault();
+
+ if (this.settings.$li.next().length < 1) {
+ this.end();
+ } else if (this.settings.timer > 0) {
+ clearTimeout(this.settings.automate);
+ this.hide();
+ this.show();
+ this.startTimer();
+ } else {
+ this.hide();
+ this.show();
+ }
+
+ }.bind(this))
+
+ .on('click.fndtn.joyride', '.joyride-close-tip', function (e) {
+ e.preventDefault();
+ this.end();
+ }.bind(this));
+
+ $(window)
+ .off('.joyride')
+ .on('resize.fndtn.joyride', self.throttle(function () {
+ if ($('[data-joyride]').length > 0 && self.settings.$next_tip) {
+ if (self.settings.exposed.length > 0) {
+ var $els = $(self.settings.exposed);
+
+ $els.each(function () {
+ var $this = $(this);
+ self.un_expose($this);
+ self.expose($this);
+ });
+ }
+
+ if (self.is_phone()) {
+ self.pos_phone();
+ } else {
+ self.pos_default(false, true);
+ }
+ }
+ }, 100));
+ },
+
+ start : function () {
+ var self = this,
+ $this = $('[data-joyride]', this.scope),
+ integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'],
+ int_settings_count = integer_settings.length;
+
+ if (!$this.length > 0) return;
+
+ if (!this.settings.init) this.events();
+
+ this.settings = $this.data('joyride-init');
+
+ // non configureable settings
+ this.settings.$content_el = $this;
+ this.settings.$body = $(this.settings.tip_container);
+ this.settings.body_offset = $(this.settings.tip_container).position();
+ this.settings.$tip_content = this.settings.$content_el.find('> li');
+ this.settings.paused = false;
+ this.settings.attempts = 0;
+
+ // can we create cookies?
+ if (typeof $.cookie !== 'function') {
+ this.settings.cookie_monster = false;
+ }
+
+ // generate the tips and insert into dom.
+ if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) {
+ this.settings.$tip_content.each(function (index) {
+ var $this = $(this);
+ this.settings = $.extend({}, self.defaults, self.data_options($this))
+
+ // Make sure that settings parsed from data_options are integers where necessary
+ for (var i = int_settings_count - 1; i >= 0; i--) {
+ self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10);
+ }
+ self.create({$li : $this, index : index});
+ });
+
+ // show first tip
+ if (!this.settings.start_timer_on_click && this.settings.timer > 0) {
+ this.show('init');
+ this.startTimer();
+ } else {
+ this.show('init');
+ }
+
+ }
+ },
+
+ resume : function () {
+ this.set_li();
+ this.show();
+ },
+
+ tip_template : function (opts) {
+ var $blank, content;
+
+ opts.tip_class = opts.tip_class || '';
+
+ $blank = $(this.settings.template.tip).addClass(opts.tip_class);
+ content = $.trim($(opts.li).html()) +
+ this.button_text(opts.button_text) +
+ this.settings.template.link +
+ this.timer_instance(opts.index);
+
+ $blank.append($(this.settings.template.wrapper));
+ $blank.first().attr('data-index', opts.index);
+ $('.joyride-content-wrapper', $blank).append(content);
+
+ return $blank[0];
+ },
+
+ timer_instance : function (index) {
+ var txt;
+
+ if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) {
+ txt = '';
+ } else {
+ txt = $(this.settings.template.timer)[0].outerHTML;
+ }
+ return txt;
+ },
+
+ button_text : function (txt) {
+ if (this.settings.next_button) {
+ txt = $.trim(txt) || 'Next';
+ txt = $(this.settings.template.button).append(txt)[0].outerHTML;
+ } else {
+ txt = '';
+ }
+ return txt;
+ },
+
+ create : function (opts) {
+ var buttonText = opts.$li.attr('data-button') || opts.$li.attr('data-text'),
+ tipClass = opts.$li.attr('class'),
+ $tip_content = $(this.tip_template({
+ tip_class : tipClass,
+ index : opts.index,
+ button_text : buttonText,
+ li : opts.$li
+ }));
+
+ $(this.settings.tip_container).append($tip_content);
+ },
+
+ show : function (init) {
+ var $timer = null;
+
+ // are we paused?
+ if (this.settings.$li === undefined
+ || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) {
+
+ // don't go to the next li if the tour was paused
+ if (this.settings.paused) {
+ this.settings.paused = false;
+ } else {
+ this.set_li(init);
+ }
+
+ this.settings.attempts = 0;
+
+ if (this.settings.$li.length && this.settings.$target.length > 0) {
+ if (init) { //run when we first start
+ this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip);
+ if (this.settings.modal) {
+ this.show_modal();
+ }
+ }
+
+ this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip);
+
+ if (this.settings.modal && this.settings.expose) {
+ this.expose();
+ }
+
+ this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li));
+
+ this.settings.timer = parseInt(this.settings.timer, 10);
+
+ this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location];
+
+ // scroll if not modal
+ if (!/body/i.test(this.settings.$target.selector)) {
+ this.scroll_to();
+ }
+
+ if (this.is_phone()) {
+ this.pos_phone(true);
+ } else {
+ this.pos_default(true);
+ }
+
+ $timer = this.settings.$next_tip.find('.joyride-timer-indicator');
+
+ if (/pop/i.test(this.settings.tip_animation)) {
+
+ $timer.width(0);
+
+ if (this.settings.timer > 0) {
+
+ this.settings.$next_tip.show();
+
+ this.delay(function () {
+ $timer.animate({
+ width: $timer.parent().width()
+ }, this.settings.timer, 'linear');
+ }.bind(this), this.settings.tip_animation_fade_speed);
+
+ } else {
+ this.settings.$next_tip.show();
+
+ }
+
+
+ } else if (/fade/i.test(this.settings.tip_animation)) {
+
+ $timer.width(0);
+
+ if (this.settings.timer > 0) {
+
+ this.settings.$next_tip
+ .fadeIn(this.settings.tip_animation_fade_speed)
+ .show();
+
+ this.delay(function () {
+ $timer.animate({
+ width: $timer.parent().width()
+ }, this.settings.timer, 'linear');
+ }.bind(this), this.settings.tip_animation_fadeSpeed);
+
+ } else {
+ this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed);
+ }
+ }
+
+ this.settings.$current_tip = this.settings.$next_tip;
+
+ // skip non-existant targets
+ } else if (this.settings.$li && this.settings.$target.length < 1) {
+
+ this.show();
+
+ } else {
+
+ this.end();
+
+ }
+ } else {
+
+ this.settings.paused = true;
+
+ }
+
+ },
+
+ is_phone : function () {
+ return matchMedia(Foundation.media_queries.small).matches &&
+ !matchMedia(Foundation.media_queries.medium).matches;
+ },
+
+ hide : function () {
+ if (this.settings.modal && this.settings.expose) {
+ this.un_expose();
+ }
+
+ if (!this.settings.modal) {
+ $('.joyride-modal-bg').hide();
+ }
+
+ // Prevent scroll bouncing...wait to remove from layout
+ this.settings.$current_tip.css('visibility', 'hidden');
+ setTimeout($.proxy(function() {
+ this.hide();
+ this.css('visibility', 'visible');
+ }, this.settings.$current_tip), 0);
+ this.settings.post_step_callback(this.settings.$li.index(),
+ this.settings.$current_tip);
+ },
+
+ set_li : function (init) {
+ if (init) {
+ this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset);
+ this.set_next_tip();
+ this.settings.$current_tip = this.settings.$next_tip;
+ } else {
+ this.settings.$li = this.settings.$li.next();
+ this.set_next_tip();
+ }
+
+ this.set_target();
+ },
+
+ set_next_tip : function () {
+ this.settings.$next_tip = $(".joyride-tip-guide").eq(this.settings.$li.index());
+ this.settings.$next_tip.data('closed', '');
+ },
+
+ set_target : function () {
+ var cl = this.settings.$li.attr('data-class'),
+ id = this.settings.$li.attr('data-id'),
+ $sel = function () {
+ if (id) {
+ return $(document.getElementById(id));
+ } else if (cl) {
+ return $('.' + cl).first();
+ } else {
+ return $('body');
+ }
+ };
+
+ this.settings.$target = $sel();
+ },
+
+ scroll_to : function () {
+ var window_half, tipOffset;
+
+ window_half = $(window).height() / 2;
+ tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight());
+
+ if (tipOffset != 0) {
+ $('html, body').animate({
+ scrollTop: tipOffset
+ }, this.settings.scroll_speed, 'swing');
+ }
+ },
+
+ paused : function () {
+ return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1);
+ },
+
+ restart : function () {
+ this.hide();
+ this.settings.$li = undefined;
+ this.show('init');
+ },
+
+ pos_default : function (init, resizing) {
+ var half_fold = Math.ceil($(window).height() / 2),
+ tip_position = this.settings.$next_tip.offset(),
+ $nub = this.settings.$next_tip.find('.joyride-nub'),
+ nub_width = Math.ceil($nub.outerWidth() / 2),
+ nub_height = Math.ceil($nub.outerHeight() / 2),
+ toggle = init || false;
+
+ // tip must not be "display: none" to calculate position
+ if (toggle) {
+ this.settings.$next_tip.css('visibility', 'hidden');
+ this.settings.$next_tip.show();
+ }
+
+ if (typeof resizing === 'undefined') {
+ resizing = false;
+ }
+
+ if (!/body/i.test(this.settings.$target.selector)) {
+ if (this.bottom()) {
+ if (this.rtl) {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight()),
+ left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()});
+ } else {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight()),
+ left: this.settings.$target.offset().left});
+ }
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'top');
+
+ } else if (this.top()) {
+ if (this.rtl) {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height),
+ left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()});
+ } else {
+ this.settings.$next_tip.css({
+ top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height),
+ left: this.settings.$target.offset().left});
+ }
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom');
+
+ } else if (this.right()) {
+
+ this.settings.$next_tip.css({
+ top: this.settings.$target.offset().top,
+ left: (this.outerWidth(this.settings.$target) + this.settings.$target.offset().left + nub_width)});
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'left');
+
+ } else if (this.left()) {
+
+ this.settings.$next_tip.css({
+ top: this.settings.$target.offset().top,
+ left: (this.settings.$target.offset().left - this.outerWidth(this.settings.$next_tip) - nub_width)});
+
+ this.nub_position($nub, this.settings.tip_settings.nub_position, 'right');
+
+ }
+
+ if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) {
+
+ $nub.removeClass('bottom')
+ .removeClass('top')
+ .removeClass('right')
+ .removeClass('left');
+
+ this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts];
+
+ this.settings.attempts++;
+
+ this.pos_default();
+
+ }
+
+ } else if (this.settings.$li.length) {
+
+ this.pos_modal($nub);
+
+ }
+
+ if (toggle) {
+ this.settings.$next_tip.hide();
+ this.settings.$next_tip.css('visibility', 'visible');
+ }
+
+ },
+
+ pos_phone : function (init) {
+ var tip_height = this.settings.$next_tip.outerHeight(),
+ tip_offset = this.settings.$next_tip.offset(),
+ target_height = this.settings.$target.outerHeight(),
+ $nub = $('.joyride-nub', this.settings.$next_tip),
+ nub_height = Math.ceil($nub.outerHeight() / 2),
+ toggle = init || false;
+
+ $nub.removeClass('bottom')
+ .removeClass('top')
+ .removeClass('right')
+ .removeClass('left');
+
+ if (toggle) {
+ this.settings.$next_tip.css('visibility', 'hidden');
+ this.settings.$next_tip.show();
+ }
+
+ if (!/body/i.test(this.settings.$target.selector)) {
+
+ if (this.top()) {
+
+ this.settings.$next_tip.offset({top: this.settings.$target.offset().top - tip_height - nub_height});
+ $nub.addClass('bottom');
+
+ } else {
+
+ this.settings.$next_tip.offset({top: this.settings.$target.offset().top + target_height + nub_height});
+ $nub.addClass('top');
+
+ }
+
+ } else if (this.settings.$li.length) {
+ this.pos_modal($nub);
+ }
+
+ if (toggle) {
+ this.settings.$next_tip.hide();
+ this.settings.$next_tip.css('visibility', 'visible');
+ }
+ },
+
+ pos_modal : function ($nub) {
+ this.center();
+ $nub.hide();
+
+ this.show_modal();
+ },
+
+ show_modal : function () {
+ if (!this.settings.$next_tip.data('closed')) {
+ var joyridemodalbg = $('.joyride-modal-bg');
+ if (joyridemodalbg.length < 1) {
+ $('body').append(this.settings.template.modal).show();
+ }
+
+ if (/pop/i.test(this.settings.tip_animation)) {
+ joyridemodalbg.show();
+ } else {
+ joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed);
+ }
+ }
+ },
+
+ expose : function () {
+ var expose,
+ exposeCover,
+ el,
+ origCSS,
+ origClasses,
+ randId = 'expose-'+Math.floor(Math.random()*10000);
+
+ if (arguments.length > 0 && arguments[0] instanceof $) {
+ el = arguments[0];
+ } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){
+ el = this.settings.$target;
+ } else {
+ return false;
+ }
+
+ if(el.length < 1){
+ if(window.console){
+ console.error('element not valid', el);
+ }
+ return false;
+ }
+
+ expose = $(this.settings.template.expose);
+ this.settings.$body.append(expose);
+ expose.css({
+ top: el.offset().top,
+ left: el.offset().left,
+ width: el.outerWidth(true),
+ height: el.outerHeight(true)
+ });
+
+ exposeCover = $(this.settings.template.expose_cover);
+
+ origCSS = {
+ zIndex: el.css('z-index'),
+ position: el.css('position')
+ };
+
+ origClasses = el.attr('class') == null ? '' : el.attr('class');
+
+ el.css('z-index',parseInt(expose.css('z-index'))+1);
+
+ if (origCSS.position == 'static') {
+ el.css('position','relative');
+ }
+
+ el.data('expose-css',origCSS);
+ el.data('orig-class', origClasses);
+ el.attr('class', origClasses + ' ' + this.settings.expose_add_class);
+
+ exposeCover.css({
+ top: el.offset().top,
+ left: el.offset().left,
+ width: el.outerWidth(true),
+ height: el.outerHeight(true)
+ });
+
+ if (this.settings.modal) this.show_modal();
+
+ this.settings.$body.append(exposeCover);
+ expose.addClass(randId);
+ exposeCover.addClass(randId);
+ el.data('expose', randId);
+ this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el);
+ this.add_exposed(el);
+ },
+
+ un_expose : function () {
+ var exposeId,
+ el,
+ expose ,
+ origCSS,
+ origClasses,
+ clearAll = false;
+
+ if (arguments.length > 0 && arguments[0] instanceof $) {
+ el = arguments[0];
+ } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){
+ el = this.settings.$target;
+ } else {
+ return false;
+ }
+
+ if(el.length < 1){
+ if (window.console) {
+ console.error('element not valid', el);
+ }
+ return false;
+ }
+
+ exposeId = el.data('expose');
+ expose = $('.' + exposeId);
+
+ if (arguments.length > 1) {
+ clearAll = arguments[1];
+ }
+
+ if (clearAll === true) {
+ $('.joyride-expose-wrapper,.joyride-expose-cover').remove();
+ } else {
+ expose.remove();
+ }
+
+ origCSS = el.data('expose-css');
+
+ if (origCSS.zIndex == 'auto') {
+ el.css('z-index', '');
+ } else {
+ el.css('z-index', origCSS.zIndex);
+ }
+
+ if (origCSS.position != el.css('position')) {
+ if(origCSS.position == 'static') {// this is default, no need to set it.
+ el.css('position', '');
+ } else {
+ el.css('position', origCSS.position);
+ }
+ }
+
+ origClasses = el.data('orig-class');
+ el.attr('class', origClasses);
+ el.removeData('orig-classes');
+
+ el.removeData('expose');
+ el.removeData('expose-z-index');
+ this.remove_exposed(el);
+ },
+
+ add_exposed: function(el){
+ this.settings.exposed = this.settings.exposed || [];
+ if (el instanceof $ || typeof el === 'object') {
+ this.settings.exposed.push(el[0]);
+ } else if (typeof el == 'string') {
+ this.settings.exposed.push(el);
+ }
+ },
+
+ remove_exposed: function(el){
+ var search, count;
+ if (el instanceof $) {
+ search = el[0]
+ } else if (typeof el == 'string'){
+ search = el;
+ }
+
+ this.settings.exposed = this.settings.exposed || [];
+ count = this.settings.exposed.length;
+
+ for (var i=0; i < count; i++) {
+ if (this.settings.exposed[i] == search) {
+ this.settings.exposed.splice(i, 1);
+ return;
+ }
+ }
+ },
+
+ center : function () {
+ var $w = $(window);
+
+ this.settings.$next_tip.css({
+ top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()),
+ left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft())
+ });
+
+ return true;
+ },
+
+ bottom : function () {
+ return /bottom/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ top : function () {
+ return /top/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ right : function () {
+ return /right/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ left : function () {
+ return /left/i.test(this.settings.tip_settings.tip_location);
+ },
+
+ corners : function (el) {
+ var w = $(window),
+ window_half = w.height() / 2,
+ //using this to calculate since scroll may not have finished yet.
+ tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()),
+ right = w.width() + w.scrollLeft(),
+ offsetBottom = w.height() + tipOffset,
+ bottom = w.height() + w.scrollTop(),
+ top = w.scrollTop();
+
+ if (tipOffset < top) {
+ if (tipOffset < 0) {
+ top = 0;
+ } else {
+ top = tipOffset;
+ }
+ }
+
+ if (offsetBottom > bottom) {
+ bottom = offsetBottom;
+ }
+
+ return [
+ el.offset().top < top,
+ right < el.offset().left + el.outerWidth(),
+ bottom < el.offset().top + el.outerHeight(),
+ w.scrollLeft() > el.offset().left
+ ];
+ },
+
+ visible : function (hidden_corners) {
+ var i = hidden_corners.length;
+
+ while (i--) {
+ if (hidden_corners[i]) return false;
+ }
+
+ return true;
+ },
+
+ nub_position : function (nub, pos, def) {
+ if (pos === 'auto') {
+ nub.addClass(def);
+ } else {
+ nub.addClass(pos);
+ }
+ },
+
+ startTimer : function () {
+ if (this.settings.$li.length) {
+ this.settings.automate = setTimeout(function () {
+ this.hide();
+ this.show();
+ this.startTimer();
+ }.bind(this), this.settings.timer);
+ } else {
+ clearTimeout(this.settings.automate);
+ }
+ },
+
+ end : function () {
+ if (this.settings.cookie_monster) {
+ $.cookie(this.settings.cookie_name, 'ridden', { expires: this.settings.cookie_expires, domain: this.settings.cookie_domain });
+ }
+
+ if (this.settings.timer > 0) {
+ clearTimeout(this.settings.automate);
+ }
+
+ if (this.settings.modal && this.settings.expose) {
+ this.un_expose();
+ }
+
+ this.settings.$next_tip.data('closed', true);
+
+ $('.joyride-modal-bg').hide();
+ this.settings.$current_tip.hide();
+ this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip);
+ this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip);
+ $('.joyride-tip-guide').remove();
+ },
+
+ off : function () {
+ $(this.scope).off('.joyride');
+ $(window).off('.joyride');
+ $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride');
+ $('.joyride-tip-guide, .joyride-modal-bg').remove();
+ clearTimeout(this.settings.automate);
+ this.settings = {};
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.js b/bower_components/foundation/js/foundation/foundation.js
new file mode 100644
index 0000000..889aa23
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.js
@@ -0,0 +1,419 @@
+/*
+ * Foundation Responsive Library
+ * http://foundation.zurb.com
+ * Copyright 2013, ZURB
+ * Free to use under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+*/
+
+(function ($, window, document, undefined) {
+ 'use strict';
+
+ // Used to retrieve Foundation media queries from CSS.
+ if($('head').has('.foundation-mq-small').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-medium').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-large').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-xlarge').length === 0) {
+ $('head').append('');
+ }
+
+ if($('head').has('.foundation-mq-xxlarge').length === 0) {
+ $('head').append('');
+ }
+
+ // Enable FastClick if present
+
+ $(function() {
+ if(typeof FastClick !== 'undefined') {
+ // Don't attach to body if undefined
+ if (typeof document.body !== 'undefined') {
+ FastClick.attach(document.body);
+ }
+ }
+ });
+
+ // private Fast Selector wrapper,
+ // returns jQuery object. Only use where
+ // getElementById is not available.
+ var S = function (selector, context) {
+ if (typeof selector === 'string') {
+ if (context) {
+ return $(context.querySelectorAll(selector));
+ }
+
+ return $(document.querySelectorAll(selector));
+ }
+
+ return $(selector, context);
+ };
+
+ /*
+ https://github.com/paulirish/matchMedia.js
+ */
+
+ window.matchMedia = window.matchMedia || (function( doc, undefined ) {
+
+ "use strict";
+
+ var bool,
+ docElem = doc.documentElement,
+ refNode = docElem.firstElementChild || docElem.firstChild,
+ // fakeBody required for
+ fakeBody = doc.createElement( "body" ),
+ div = doc.createElement( "div" );
+
+ div.id = "mq-test-1";
+ div.style.cssText = "position:absolute;top:-100em";
+ fakeBody.style.background = "none";
+ fakeBody.appendChild(div);
+
+ return function(q){
+
+ div.innerHTML = "";
+
+ docElem.insertBefore( fakeBody, refNode );
+ bool = div.offsetWidth === 42;
+ docElem.removeChild( fakeBody );
+
+ return {
+ matches: bool,
+ media: q
+ };
+
+ };
+
+ }( document ));
+
+ /*
+ * jquery.requestAnimationFrame
+ * https://github.com/gnarf37/jquery-requestAnimationFrame
+ * Requires jQuery 1.8+
+ *
+ * Copyright (c) 2012 Corey Frang
+ * Licensed under the MIT license.
+ */
+
+ (function( $ ) {
+
+ // requestAnimationFrame polyfill adapted from Erik Möller
+ // fixes from Paul Irish and Tino Zijdel
+ // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
+ // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
+
+
+ var animating,
+ lastTime = 0,
+ vendors = ['webkit', 'moz'],
+ requestAnimationFrame = window.requestAnimationFrame,
+ cancelAnimationFrame = window.cancelAnimationFrame;
+
+ for(; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
+ requestAnimationFrame = window[ vendors[lastTime] + "RequestAnimationFrame" ];
+ cancelAnimationFrame = cancelAnimationFrame ||
+ window[ vendors[lastTime] + "CancelAnimationFrame" ] ||
+ window[ vendors[lastTime] + "CancelRequestAnimationFrame" ];
+ }
+
+ function raf() {
+ if ( animating ) {
+ requestAnimationFrame( raf );
+ jQuery.fx.tick();
+ }
+ }
+
+ if ( requestAnimationFrame ) {
+ // use rAF
+ window.requestAnimationFrame = requestAnimationFrame;
+ window.cancelAnimationFrame = cancelAnimationFrame;
+ jQuery.fx.timer = function( timer ) {
+ if ( timer() && jQuery.timers.push( timer ) && !animating ) {
+ animating = true;
+ raf();
+ }
+ };
+
+ jQuery.fx.stop = function() {
+ animating = false;
+ };
+ } else {
+ // polyfill
+ window.requestAnimationFrame = function( callback, element ) {
+ var currTime = new Date().getTime(),
+ timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) ),
+ id = window.setTimeout( function() {
+ callback( currTime + timeToCall );
+ }, timeToCall );
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+
+ window.cancelAnimationFrame = function(id) {
+ clearTimeout(id);
+ };
+
+ }
+
+ }( jQuery ));
+
+
+ function removeQuotes (string) {
+ if (typeof string === 'string' || string instanceof String) {
+ string = string.replace(/^[\\/'"]+|(;\s?})+|[\\/'"]+$/g, '');
+ }
+
+ return string;
+ }
+
+ window.Foundation = {
+ name : 'Foundation',
+
+ version : '5.0.3',
+
+ media_queries : {
+ small : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ medium : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ large : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ xlarge: S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
+ xxlarge: S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
+ },
+
+ stylesheet : $('').appendTo('head')[0].sheet,
+
+ init : function (scope, libraries, method, options, response) {
+ var library_arr,
+ args = [scope, method, options, response],
+ responses = [];
+
+ // check RTL
+ this.rtl = /rtl/i.test(S('html').attr('dir'));
+
+ // set foundation global scope
+ this.scope = scope || this.scope;
+
+ if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
+ if (this.libs.hasOwnProperty(libraries)) {
+ responses.push(this.init_lib(libraries, args));
+ }
+ } else {
+ for (var lib in this.libs) {
+ responses.push(this.init_lib(lib, libraries));
+ }
+ }
+
+ return scope;
+ },
+
+ init_lib : function (lib, args) {
+ if (this.libs.hasOwnProperty(lib)) {
+ this.patch(this.libs[lib]);
+
+ if (args && args.hasOwnProperty(lib)) {
+ return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
+ }
+
+ args = args instanceof Array ? args : Array(args); // PATCH: added this line
+ return this.libs[lib].init.apply(this.libs[lib], args);
+ }
+
+ return function () {};
+ },
+
+ patch : function (lib) {
+ lib.scope = this.scope;
+ lib['data_options'] = this.lib_methods.data_options;
+ lib['bindings'] = this.lib_methods.bindings;
+ lib['S'] = S;
+ lib.rtl = this.rtl;
+ },
+
+ inherit : function (scope, methods) {
+ var methods_arr = methods.split(' ');
+
+ for (var i = methods_arr.length - 1; i >= 0; i--) {
+ if (this.lib_methods.hasOwnProperty(methods_arr[i])) {
+ this.libs[scope.name][methods_arr[i]] = this.lib_methods[methods_arr[i]];
+ }
+ }
+ },
+
+ random_str : function (length) {
+ var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
+
+ if (!length) {
+ length = Math.floor(Math.random() * chars.length);
+ }
+
+ var str = '';
+ for (var i = 0; i < length; i++) {
+ str += chars[Math.floor(Math.random() * chars.length)];
+ }
+ return str;
+ },
+
+ libs : {},
+
+ // methods that can be inherited in libraries
+ lib_methods : {
+ throttle : function(fun, delay) {
+ var timer = null;
+
+ return function () {
+ var context = this, args = arguments;
+
+ clearTimeout(timer);
+ timer = setTimeout(function () {
+ fun.apply(context, args);
+ }, delay);
+ };
+ },
+
+ // parses data-options attribute
+ data_options : function (el) {
+ var opts = {}, ii, p, opts_arr, opts_len,
+ data_options = el.data('options');
+
+ if (typeof data_options === 'object') {
+ return data_options;
+ }
+
+ opts_arr = (data_options || ':').split(';'),
+ opts_len = opts_arr.length;
+
+ function isNumber (o) {
+ return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
+ }
+
+ function trim(str) {
+ if (typeof str === 'string') return $.trim(str);
+ return str;
+ }
+
+ // parse options
+ for (ii = opts_len - 1; ii >= 0; ii--) {
+ p = opts_arr[ii].split(':');
+
+ if (/true/i.test(p[1])) p[1] = true;
+ if (/false/i.test(p[1])) p[1] = false;
+ if (isNumber(p[1])) p[1] = parseInt(p[1], 10);
+
+ if (p.length === 2 && p[0].length > 0) {
+ opts[trim(p[0])] = trim(p[1]);
+ }
+ }
+
+ return opts;
+ },
+
+ delay : function (fun, delay) {
+ return setTimeout(fun, delay);
+ },
+
+ // test for empty object or array
+ empty : function (obj) {
+ if (obj.length && obj.length > 0) return false;
+ if (obj.length && obj.length === 0) return true;
+
+ for (var key in obj) {
+ if (hasOwnProperty.call(obj, key)) return false;
+ }
+
+ return true;
+ },
+
+ register_media : function(media, media_class) {
+ if(Foundation.media_queries[media] === undefined) {
+ $('head').append('');
+ Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));
+ }
+ },
+
+ addCustomRule : function(rule, media) {
+ if(media === undefined) {
+ Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);
+ } else {
+ var query = Foundation.media_queries[media];
+ if(query !== undefined) {
+ Foundation.stylesheet.insertRule('@media ' +
+ Foundation.media_queries[media] + '{ ' + rule + ' }');
+ }
+ }
+ },
+
+ loaded : function (image, callback) {
+ function loaded () {
+ callback(image[0]);
+ }
+
+ function bindLoad () {
+ this.one('load', loaded);
+
+ if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
+ var src = this.attr( 'src' ),
+ param = src.match( /\?/ ) ? '&' : '?';
+
+ param += 'random=' + (new Date()).getTime();
+ this.attr('src', src + param);
+ }
+ }
+
+ if (!image.attr('src')) {
+ loaded();
+ return;
+ }
+
+ if (image[0].complete || image[0].readyState === 4) {
+ loaded();
+ } else {
+ bindLoad.call(image);
+ }
+ },
+
+ bindings : function (method, options) {
+ var self = this,
+ should_bind_events = !S(this).data(this.name + '-init');
+
+ if (typeof method === 'string') {
+ return this[method].call(this, options);
+ }
+
+ if (S(this.scope).is('[data-' + this.name +']')) {
+ S(this.scope).data(this.name + '-init', $.extend({}, this.settings, (options || method), this.data_options(S(this.scope))));
+
+ if (should_bind_events) {
+ this.events(this.scope);
+ }
+
+ } else {
+ S('[data-' + this.name + ']', this.scope).each(function () {
+ var should_bind_events = !S(this).data(self.name + '-init');
+
+ S(this).data(self.name + '-init', $.extend({}, self.settings, (options || method), self.data_options(S(this))));
+
+ if (should_bind_events) {
+ self.events(this);
+ }
+ });
+ }
+ }
+ }
+ };
+
+ $.fn.foundation = function () {
+ var args = Array.prototype.slice.call(arguments, 0);
+
+ return this.each(function () {
+ Foundation.init.apply(Foundation, [this].concat(args));
+ return this;
+ });
+ };
+
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.magellan.js b/bower_components/foundation/js/foundation/foundation.magellan.js
new file mode 100644
index 0000000..542a35a
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.magellan.js
@@ -0,0 +1,130 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.magellan = {
+ name : 'magellan',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'active',
+ threshold: 0
+ },
+
+ init : function (scope, method, options) {
+ this.fixed_magellan = $("[data-magellan-expedition]");
+ this.magellan_placeholder = $('').css({
+ height: this.fixed_magellan.outerHeight(true)
+ }).hide().insertAfter(this.fixed_magellan);
+ this.set_threshold();
+ this.set_active_class(method);
+ this.last_destination = $('[data-magellan-destination]').last();
+ this.events();
+ },
+
+ events : function () {
+ var self = this;
+
+ $(this.scope)
+ .off('.magellan')
+ .on('arrival.fndtn.magellan', '[data-magellan-arrival]', function (e) {
+ var $destination = $(this),
+ $expedition = $destination.closest('[data-magellan-expedition]'),
+ active_class = $expedition.attr('data-magellan-active-class')
+ || self.settings.active_class;
+
+ $destination
+ .closest('[data-magellan-expedition]')
+ .find('[data-magellan-arrival]')
+ .not($destination)
+ .removeClass(active_class);
+ $destination.addClass(active_class);
+ });
+
+ this.fixed_magellan
+ .off('.magellan')
+ .on('update-position.fndtn.magellan', function() {
+ var $el = $(this);
+ })
+ .trigger('update-position');
+
+ $(window)
+ .off('.magellan')
+ .on('resize.fndtn.magellan', function() {
+ this.fixed_magellan.trigger('update-position');
+ }.bind(this))
+ .on('scroll.fndtn.magellan', function() {
+ var windowScrollTop = $(window).scrollTop();
+ self.fixed_magellan.each(function() {
+ var $expedition = $(this);
+ if (typeof $expedition.data('magellan-top-offset') === 'undefined') {
+ $expedition.data('magellan-top-offset', $expedition.offset().top);
+ }
+ if (typeof $expedition.data('magellan-fixed-position') === 'undefined') {
+ $expedition.data('magellan-fixed-position', false);
+ }
+ var fixed_position = (windowScrollTop + self.settings.threshold) > $expedition.data("magellan-top-offset");
+ var attr = $expedition.attr('data-magellan-top-offset');
+
+ if ($expedition.data("magellan-fixed-position") != fixed_position) {
+ $expedition.data("magellan-fixed-position", fixed_position);
+ if (fixed_position) {
+ $expedition.addClass('fixed');
+ $expedition.css({position:"fixed", top:0});
+ self.magellan_placeholder.show();
+ } else {
+ $expedition.removeClass('fixed');
+ $expedition.css({position:"", top:""});
+ self.magellan_placeholder.hide();
+ }
+ if (fixed_position && typeof attr != 'undefined' && attr != false) {
+ $expedition.css({position:"fixed", top:attr + "px"});
+ }
+ }
+ });
+ });
+
+
+ if (this.last_destination.length > 0) {
+ $(window).on('scroll.fndtn.magellan', function (e) {
+ var windowScrollTop = $(window).scrollTop(),
+ scrolltopPlusHeight = windowScrollTop + $(window).height(),
+ lastDestinationTop = Math.ceil(self.last_destination.offset().top);
+
+ $('[data-magellan-destination]').each(function () {
+ var $destination = $(this),
+ destination_name = $destination.attr('data-magellan-destination'),
+ topOffset = $destination.offset().top - $destination.outerHeight(true) - windowScrollTop;
+ if (topOffset <= self.settings.threshold) {
+ $("[data-magellan-arrival='" + destination_name + "']").trigger('arrival');
+ }
+ // In large screens we may hit the bottom of the page and dont reach the top of the last magellan-destination, so lets force it
+ if (scrolltopPlusHeight >= $(self.scope).height() && lastDestinationTop > windowScrollTop && lastDestinationTop < scrolltopPlusHeight) {
+ $('[data-magellan-arrival]').last().trigger('arrival');
+ }
+ });
+ });
+ }
+ },
+
+ set_threshold : function () {
+ if (typeof this.settings.threshold !== 'number') {
+ this.settings.threshold = (this.fixed_magellan.length > 0) ?
+ this.fixed_magellan.outerHeight(true) : 0;
+ }
+ },
+
+ set_active_class : function (options) {
+ if (options && options.active_class && typeof options.active_class === 'string') {
+ this.settings.active_class = options.active_class;
+ }
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.magellan');
+ $(window).off('.fndtn.magellan');
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.offcanvas.js b/bower_components/foundation/js/foundation/foundation.offcanvas.js
new file mode 100644
index 0000000..3f8b76b
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.offcanvas.js
@@ -0,0 +1,37 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.offcanvas = {
+ name : 'offcanvas',
+
+ version : '5.0.3',
+
+ settings : {},
+
+ init : function (scope, method, options) {
+ this.events();
+ },
+
+ events : function () {
+ $(this.scope).off('.offcanvas')
+ .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) {
+ e.preventDefault();
+ $(this).closest('.off-canvas-wrap').toggleClass('move-right');
+ })
+ .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
+ e.preventDefault();
+ $(".off-canvas-wrap").removeClass("move-right");
+ })
+ .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
+ e.preventDefault();
+ $(this).closest(".off-canvas-wrap").toggleClass("move-left");
+ })
+ .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
+ e.preventDefault();
+ $(".off-canvas-wrap").removeClass("move-left");
+ });
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.orbit.js b/bower_components/foundation/js/foundation/foundation.orbit.js
new file mode 100644
index 0000000..590579b
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.orbit.js
@@ -0,0 +1,456 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ var noop = function() {};
+
+ var Orbit = function(el, settings) {
+ // Don't reinitialize plugin
+ if (el.hasClass(settings.slides_container_class)) {
+ return this;
+ }
+
+ var self = this,
+ container,
+ slides_container = el,
+ number_container,
+ bullets_container,
+ timer_container,
+ idx = 0,
+ animate,
+ timer,
+ locked = false,
+ adjust_height_after = false;
+
+ slides_container.children().first().addClass(settings.active_slide_class);
+
+ self.update_slide_number = function(index) {
+ if (settings.slide_number) {
+ number_container.find('span:first').text(parseInt(index)+1);
+ number_container.find('span:last').text(slides_container.children().length);
+ }
+ if (settings.bullets) {
+ bullets_container.children().removeClass(settings.bullets_active_class);
+ $(bullets_container.children().get(index)).addClass(settings.bullets_active_class);
+ }
+ };
+
+ self.update_active_link = function(index) {
+ var link = $('a[data-orbit-link="'+slides_container.children().eq(index).attr('data-orbit-slide')+'"]');
+ link.siblings().removeClass(settings.bullets_active_class);
+ link.addClass(settings.bullets_active_class);
+ };
+
+ self.build_markup = function() {
+ slides_container.wrap('');
+ container = slides_container.parent();
+ slides_container.addClass(settings.slides_container_class);
+
+ if (settings.navigation_arrows) {
+ container.append($('').addClass(settings.prev_class));
+ container.append($('').addClass(settings.next_class));
+ }
+
+ if (settings.timer) {
+ timer_container = $('').addClass(settings.timer_container_class);
+ timer_container.append('
');
+ timer_container.append($('').addClass(settings.timer_progress_class));
+ timer_container.addClass(settings.timer_paused_class);
+ container.append(timer_container);
+ }
+
+ if (settings.slide_number) {
+ number_container = $('
').addClass(settings.slide_number_class);
+ number_container.append('
' + settings.slide_number_text + '
');
+ container.append(number_container);
+ }
+
+ if (settings.bullets) {
+ bullets_container = $('
').addClass(settings.bullets_container_class);
+ container.append(bullets_container);
+ bullets_container.wrap('');
+ slides_container.children().each(function(idx, el) {
+ var bullet = $('- ').attr('data-orbit-slide', idx);
+ bullets_container.append(bullet);
+ });
+ }
+
+ if (settings.stack_on_small) {
+ container.addClass(settings.stack_on_small_class);
+ }
+
+ self.update_slide_number(0);
+ self.update_active_link(0);
+ };
+
+ self._goto = function(next_idx, start_timer) {
+ // if (locked) {return false;}
+ if (next_idx === idx) {return false;}
+ if (typeof timer === 'object') {timer.restart();}
+ var slides = slides_container.children();
+
+ var dir = 'next';
+ locked = true;
+ if (next_idx < idx) {dir = 'prev';}
+ if (next_idx >= slides.length) {
+ if (!settings.circular) return false;
+ next_idx = 0;
+ } else if (next_idx < 0) {
+ if (!settings.circular) return false;
+ next_idx = slides.length - 1;
+ }
+
+ var current = $(slides.get(idx));
+ var next = $(slides.get(next_idx));
+
+ current.css('zIndex', 2);
+ current.removeClass(settings.active_slide_class);
+ next.css('zIndex', 4).addClass(settings.active_slide_class);
+
+ slides_container.trigger('before-slide-change.fndtn.orbit');
+ settings.before_slide_change();
+ self.update_active_link(next_idx);
+
+ var callback = function() {
+ var unlock = function() {
+ idx = next_idx;
+ locked = false;
+ if (start_timer === true) {timer = self.create_timer(); timer.start();}
+ self.update_slide_number(idx);
+ slides_container.trigger('after-slide-change.fndtn.orbit',[{slide_number: idx, total_slides: slides.length}]);
+ settings.after_slide_change(idx, slides.length);
+ };
+ if (slides_container.height() != next.height() && settings.variable_height) {
+ slides_container.animate({'height': next.height()}, 250, 'linear', unlock);
+ } else {
+ unlock();
+ }
+ };
+
+ if (slides.length === 1) {callback(); return false;}
+
+ var start_animation = function() {
+ if (dir === 'next') {animate.next(current, next, callback);}
+ if (dir === 'prev') {animate.prev(current, next, callback);}
+ };
+
+ if (next.height() > slides_container.height() && settings.variable_height) {
+ slides_container.animate({'height': next.height()}, 250, 'linear', start_animation);
+ } else {
+ start_animation();
+ }
+ };
+
+ self.next = function(e) {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ self._goto(idx + 1);
+ };
+
+ self.prev = function(e) {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ self._goto(idx - 1);
+ };
+
+ self.link_custom = function(e) {
+ e.preventDefault();
+ var link = $(this).attr('data-orbit-link');
+ if ((typeof link === 'string') && (link = $.trim(link)) != "") {
+ var slide = container.find('[data-orbit-slide='+link+']');
+ if (slide.index() != -1) {self._goto(slide.index());}
+ }
+ };
+
+ self.link_bullet = function(e) {
+ var index = $(this).attr('data-orbit-slide');
+ if ((typeof index === 'string') && (index = $.trim(index)) != "") {
+ if(isNaN(parseInt(index)))
+ {
+ var slide = container.find('[data-orbit-slide='+index+']');
+ if (slide.index() != -1) {self._goto(slide.index() + 1);}
+ }
+ else
+ {
+ self._goto(parseInt(index));
+ }
+ }
+
+ }
+
+ self.timer_callback = function() {
+ self._goto(idx + 1, true);
+ }
+
+ self.compute_dimensions = function() {
+ var current = $(slides_container.children().get(idx));
+ var h = current.height();
+ if (!settings.variable_height) {
+ slides_container.children().each(function(){
+ if ($(this).height() > h) { h = $(this).height(); }
+ });
+ }
+ slides_container.height(h);
+ };
+
+ self.create_timer = function() {
+ var t = new Timer(
+ container.find('.'+settings.timer_container_class),
+ settings,
+ self.timer_callback
+ );
+ return t;
+ };
+
+ self.stop_timer = function() {
+ if (typeof timer === 'object') timer.stop();
+ };
+
+ self.toggle_timer = function() {
+ var t = container.find('.'+settings.timer_container_class);
+ if (t.hasClass(settings.timer_paused_class)) {
+ if (typeof timer === 'undefined') {timer = self.create_timer();}
+ timer.start();
+ }
+ else {
+ if (typeof timer === 'object') {timer.stop();}
+ }
+ };
+
+ self.init = function() {
+ self.build_markup();
+ if (settings.timer) {timer = self.create_timer(); timer.start();}
+ animate = new FadeAnimation(settings, slides_container);
+ if (settings.animation === 'slide')
+ animate = new SlideAnimation(settings, slides_container);
+ container.on('click', '.'+settings.next_class, self.next);
+ container.on('click', '.'+settings.prev_class, self.prev);
+ container.on('click', '[data-orbit-slide]', self.link_bullet);
+ container.on('click', self.toggle_timer);
+ if (settings.swipe) {
+ container.on('touchstart.fndtn.orbit', function(e) {
+ if (!e.touches) {e = e.originalEvent;}
+ var data = {
+ start_page_x: e.touches[0].pageX,
+ start_page_y: e.touches[0].pageY,
+ start_time: (new Date()).getTime(),
+ delta_x: 0,
+ is_scrolling: undefined
+ };
+ container.data('swipe-transition', data);
+ e.stopPropagation();
+ })
+ .on('touchmove.fndtn.orbit', function(e) {
+ if (!e.touches) { e = e.originalEvent; }
+ // Ignore pinch/zoom events
+ if(e.touches.length > 1 || e.scale && e.scale !== 1) return;
+
+ var data = container.data('swipe-transition');
+ if (typeof data === 'undefined') {data = {};}
+
+ data.delta_x = e.touches[0].pageX - data.start_page_x;
+
+ if ( typeof data.is_scrolling === 'undefined') {
+ data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
+ }
+
+ if (!data.is_scrolling && !data.active) {
+ e.preventDefault();
+ var direction = (data.delta_x < 0) ? (idx+1) : (idx-1);
+ data.active = true;
+ self._goto(direction);
+ }
+ })
+ .on('touchend.fndtn.orbit', function(e) {
+ container.data('swipe-transition', {});
+ e.stopPropagation();
+ })
+ }
+ container.on('mouseenter.fndtn.orbit', function(e) {
+ if (settings.timer && settings.pause_on_hover) {
+ self.stop_timer();
+ }
+ })
+ .on('mouseleave.fndtn.orbit', function(e) {
+ if (settings.timer && settings.resume_on_mouseout) {
+ timer.start();
+ }
+ });
+
+ $(document).on('click', '[data-orbit-link]', self.link_custom);
+ $(window).on('resize', self.compute_dimensions);
+ $(window).on('load', self.compute_dimensions);
+ $(window).on('load', function(){
+ container.prev('.preloader').css('display', 'none');
+ });
+ slides_container.trigger('ready.fndtn.orbit');
+ };
+
+ self.init();
+ };
+
+ var Timer = function(el, settings, callback) {
+ var self = this,
+ duration = settings.timer_speed,
+ progress = el.find('.'+settings.timer_progress_class),
+ start,
+ timeout,
+ left = -1;
+
+ this.update_progress = function(w) {
+ var new_progress = progress.clone();
+ new_progress.attr('style', '');
+ new_progress.css('width', w+'%');
+ progress.replaceWith(new_progress);
+ progress = new_progress;
+ };
+
+ this.restart = function() {
+ clearTimeout(timeout);
+ el.addClass(settings.timer_paused_class);
+ left = -1;
+ self.update_progress(0);
+ };
+
+ this.start = function() {
+ if (!el.hasClass(settings.timer_paused_class)) {return true;}
+ left = (left === -1) ? duration : left;
+ el.removeClass(settings.timer_paused_class);
+ start = new Date().getTime();
+ progress.animate({'width': '100%'}, left, 'linear');
+ timeout = setTimeout(function() {
+ self.restart();
+ callback();
+ }, left);
+ el.trigger('timer-started.fndtn.orbit')
+ };
+
+ this.stop = function() {
+ if (el.hasClass(settings.timer_paused_class)) {return true;}
+ clearTimeout(timeout);
+ el.addClass(settings.timer_paused_class);
+ var end = new Date().getTime();
+ left = left - (end - start);
+ var w = 100 - ((left / duration) * 100);
+ self.update_progress(w);
+ el.trigger('timer-stopped.fndtn.orbit');
+ };
+ };
+
+ var SlideAnimation = function(settings, container) {
+ var duration = settings.animation_speed;
+ var is_rtl = ($('html[dir=rtl]').length === 1);
+ var margin = is_rtl ? 'marginRight' : 'marginLeft';
+ var animMargin = {};
+ animMargin[margin] = '0%';
+
+ this.next = function(current, next, callback) {
+ current.animate({marginLeft:'-100%'}, duration);
+ next.animate(animMargin, duration, function() {
+ current.css(margin, '100%');
+ callback();
+ });
+ };
+
+ this.prev = function(current, prev, callback) {
+ current.animate({marginLeft:'100%'}, duration);
+ prev.css(margin, '-100%');
+ prev.animate(animMargin, duration, function() {
+ current.css(margin, '100%');
+ callback();
+ });
+ };
+ };
+
+ var FadeAnimation = function(settings, container) {
+ var duration = settings.animation_speed;
+ var is_rtl = ($('html[dir=rtl]').length === 1);
+ var margin = is_rtl ? 'marginRight' : 'marginLeft';
+
+ this.next = function(current, next, callback) {
+ next.css({'margin':'0%', 'opacity':'0.01'});
+ next.animate({'opacity':'1'}, duration, 'linear', function() {
+ current.css('margin', '100%');
+ callback();
+ });
+ };
+
+ this.prev = function(current, prev, callback) {
+ prev.css({'margin':'0%', 'opacity':'0.01'});
+ prev.animate({'opacity':'1'}, duration, 'linear', function() {
+ current.css('margin', '100%');
+ callback();
+ });
+ };
+ };
+
+
+ Foundation.libs = Foundation.libs || {};
+
+ Foundation.libs.orbit = {
+ name: 'orbit',
+
+ version: '5.0.3',
+
+ settings: {
+ animation: 'slide',
+ timer_speed: 10000,
+ pause_on_hover: true,
+ resume_on_mouseout: false,
+ animation_speed: 500,
+ stack_on_small: false,
+ navigation_arrows: true,
+ slide_number: true,
+ slide_number_text: 'of',
+ container_class: 'orbit-container',
+ stack_on_small_class: 'orbit-stack-on-small',
+ next_class: 'orbit-next',
+ prev_class: 'orbit-prev',
+ timer_container_class: 'orbit-timer',
+ timer_paused_class: 'paused',
+ timer_progress_class: 'orbit-progress',
+ slides_container_class: 'orbit-slides-container',
+ bullets_container_class: 'orbit-bullets',
+ bullets_active_class: 'active',
+ slide_number_class: 'orbit-slide-number',
+ caption_class: 'orbit-caption',
+ active_slide_class: 'active',
+ orbit_transition_class: 'orbit-transitioning',
+ bullets: true,
+ circular: true,
+ timer: true,
+ variable_height: false,
+ swipe: true,
+ before_slide_change: noop,
+ after_slide_change: noop
+ },
+
+ init : function (scope, method, options) {
+ var self = this;
+ this.bindings(method, options);
+ },
+
+ events : function (instance) {
+ var orbit_instance = new Orbit($(instance), $(instance).data('orbit-init'));
+ $(instance).data(self.name + '-instance', orbit_instance);
+ },
+
+ reflow : function () {
+ var self = this;
+
+ if ($(self.scope).is('[data-orbit]')) {
+ var $el = $(self.scope);
+ var instance = $el.data(self.name + '-instance');
+ instance.compute_dimensions();
+ } else {
+ $('[data-orbit]', self.scope).each(function(idx, el) {
+ var $el = $(el);
+ var opts = self.data_options($el);
+ var instance = $el.data(self.name + '-instance');
+ instance.compute_dimensions();
+ });
+ }
+ }
+ };
+
+
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.reveal.js b/bower_components/foundation/js/foundation/foundation.reveal.js
new file mode 100644
index 0000000..8aaa184
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.reveal.js
@@ -0,0 +1,391 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.reveal = {
+ name : 'reveal',
+
+ version : '5.0.3',
+
+ locked : false,
+
+ settings : {
+ animation: 'fadeAndPop',
+ animation_speed: 250,
+ close_on_background_click: true,
+ close_on_esc: true,
+ dismiss_modal_class: 'close-reveal-modal',
+ bg_class: 'reveal-modal-bg',
+ open: function(){},
+ opened: function(){},
+ close: function(){},
+ closed: function(){},
+ bg : $('.reveal-modal-bg'),
+ css : {
+ open : {
+ 'opacity': 0,
+ 'visibility': 'visible',
+ 'display' : 'block'
+ },
+ close : {
+ 'opacity': 1,
+ 'visibility': 'hidden',
+ 'display': 'none'
+ }
+ }
+ },
+
+ init : function (scope, method, options) {
+ Foundation.inherit(this, 'delay');
+ $.extend(true, this.settings, method, options);
+ this.bindings(method, options);
+ },
+
+ events : function (scope) {
+ var self = this;
+
+ $('[data-reveal-id]', this.scope)
+ .off('.reveal')
+ .on('click.fndtn.reveal', function (e) {
+ e.preventDefault();
+
+ if (!self.locked) {
+ var element = $(this),
+ ajax = element.data('reveal-ajax');
+
+ self.locked = true;
+
+ if (typeof ajax === 'undefined') {
+ self.open.call(self, element);
+ } else {
+ var url = ajax === true ? element.attr('href') : ajax;
+
+ self.open.call(self, element, {url: url});
+ }
+ }
+ });
+
+ $(this.scope)
+ .off('.reveal');
+
+ $(document)
+ .on('click.fndtn.reveal', this.close_targets(), function (e) {
+
+ e.preventDefault();
+
+ if (!self.locked) {
+ var settings = $('[data-reveal].open').data('reveal-init'),
+ bg_clicked = $(e.target)[0] === $('.' + settings.bg_class)[0];
+
+ if (bg_clicked && !settings.close_on_background_click) {
+ return;
+ }
+
+ self.locked = true;
+ self.close.call(self, bg_clicked ? $('[data-reveal].open') : $(this).closest('[data-reveal]'));
+ }
+ });
+
+ if($('[data-reveal]', this.scope).length > 0) {
+ $(this.scope)
+ // .off('.reveal')
+ .on('open.fndtn.reveal', this.settings.open)
+ .on('opened.fndtn.reveal', this.settings.opened)
+ .on('opened.fndtn.reveal', this.open_video)
+ .on('close.fndtn.reveal', this.settings.close)
+ .on('closed.fndtn.reveal', this.settings.closed)
+ .on('closed.fndtn.reveal', this.close_video);
+ } else {
+ $(this.scope)
+ // .off('.reveal')
+ .on('open.fndtn.reveal', '[data-reveal]', this.settings.open)
+ .on('opened.fndtn.reveal', '[data-reveal]', this.settings.opened)
+ .on('opened.fndtn.reveal', '[data-reveal]', this.open_video)
+ .on('close.fndtn.reveal', '[data-reveal]', this.settings.close)
+ .on('closed.fndtn.reveal', '[data-reveal]', this.settings.closed)
+ .on('closed.fndtn.reveal', '[data-reveal]', this.close_video);
+ }
+
+ return true;
+ },
+
+ // PATCH #3: turning on key up capture only when a reveal window is open
+ key_up_on : function (scope) {
+ var self = this;
+
+ // PATCH #1: fixing multiple keyup event trigger from single key press
+ $('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) {
+ var open_modal = $('[data-reveal].open'),
+ settings = open_modal.data('reveal-init');
+ // PATCH #2: making sure that the close event can be called only while unlocked,
+ // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window.
+ if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key
+ self.close.call(self, open_modal);
+ }
+ });
+
+ return true;
+ },
+
+ // PATCH #3: turning on key up capture only when a reveal window is open
+ key_up_off : function (scope) {
+ $('body').off('keyup.fndtn.reveal');
+ return true;
+ },
+
+ open : function (target, ajax_settings) {
+ var self = this;
+ if (target) {
+ if (typeof target.selector !== 'undefined') {
+ var modal = $('#' + target.data('reveal-id'));
+ } else {
+ var modal = $(this.scope);
+
+ ajax_settings = target;
+ }
+ } else {
+ var modal = $(this.scope);
+ }
+
+ var settings = modal.data('reveal-init');
+
+ if (!modal.hasClass('open')) {
+ var open_modal = $('[data-reveal].open');
+
+ if (typeof modal.data('css-top') === 'undefined') {
+ modal.data('css-top', parseInt(modal.css('top'), 10))
+ .data('offset', this.cache_offset(modal));
+ }
+
+ this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open
+ modal.trigger('open');
+
+ if (open_modal.length < 1) {
+ this.toggle_bg(modal);
+ }
+
+ if (typeof ajax_settings === 'string') {
+ ajax_settings = {
+ url: ajax_settings
+ };
+ }
+
+ if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {
+ if (open_modal.length > 0) {
+ var open_modal_settings = open_modal.data('reveal-init');
+ this.hide(open_modal, open_modal_settings.css.close);
+ }
+
+ this.show(modal, settings.css.open);
+ } else {
+ var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;
+
+ $.extend(ajax_settings, {
+ success: function (data, textStatus, jqXHR) {
+ if ( $.isFunction(old_success) ) {
+ old_success(data, textStatus, jqXHR);
+ }
+
+ modal.html(data);
+ $(modal).foundation('section', 'reflow');
+
+ if (open_modal.length > 0) {
+ var open_modal_settings = open_modal.data('reveal-init');
+ self.hide(open_modal, open_modal_settings.css.close);
+ }
+ self.show(modal, settings.css.open);
+ }
+ });
+
+ $.ajax(ajax_settings);
+ }
+ }
+ },
+
+ close : function (modal) {
+ var modal = modal && modal.length ? modal : $(this.scope),
+ open_modals = $('[data-reveal].open'),
+ settings = modal.data('reveal-init');
+
+ if (open_modals.length > 0) {
+ this.locked = true;
+ this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open
+ modal.trigger('close');
+ this.toggle_bg(modal);
+ this.hide(open_modals, settings.css.close, settings);
+ }
+ },
+
+ close_targets : function () {
+ var base = '.' + this.settings.dismiss_modal_class;
+
+ if (this.settings.close_on_background_click) {
+ return base + ', .' + this.settings.bg_class;
+ }
+
+ return base;
+ },
+
+ toggle_bg : function (modal) {
+ var settings = modal.data('reveal-init');
+
+ if ($('.' + this.settings.bg_class).length === 0) {
+ this.settings.bg = $('', {'class': this.settings.bg_class})
+ .appendTo('body');
+ }
+
+ if (this.settings.bg.filter(':visible').length > 0) {
+ this.hide(this.settings.bg);
+ } else {
+ this.show(this.settings.bg);
+ }
+ },
+
+ show : function (el, css) {
+ // is modal
+ if (css) {
+ var settings = el.data('reveal-init');
+ if (el.parent('body').length === 0) {
+ var placeholder = el.wrap('').parent(),
+ rootElement = this.settings.rootElement || 'body';;
+ el.on('closed.fndtn.reveal.wrapped', function() {
+ el.detach().appendTo(placeholder);
+ el.unwrap().unbind('closed.fndtn.reveal.wrapped');
+ });
+
+ el.detach().appendTo(rootElement);
+ }
+
+ if (/pop/i.test(settings.animation)) {
+ css.top = $(window).scrollTop() - el.data('offset') + 'px';
+ var end_css = {
+ top: $(window).scrollTop() + el.data('css-top') + 'px',
+ opacity: 1
+ };
+
+ return this.delay(function () {
+ return el
+ .css(css)
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.trigger('opened');
+ }.bind(this))
+ .addClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ if (/fade/i.test(settings.animation)) {
+ var end_css = {opacity: 1};
+
+ return this.delay(function () {
+ return el
+ .css(css)
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.trigger('opened');
+ }.bind(this))
+ .addClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ return el.css(css).show().css({opacity: 1}).addClass('open').trigger('opened');
+ }
+
+ var settings = this.settings;
+
+ // should we animate the background?
+ if (/fade/i.test(settings.animation)) {
+ return el.fadeIn(settings.animation_speed / 2);
+ }
+
+ return el.show();
+ },
+
+ hide : function (el, css) {
+ // is modal
+ if (css) {
+ var settings = el.data('reveal-init');
+ if (/pop/i.test(settings.animation)) {
+ var end_css = {
+ top: - $(window).scrollTop() - el.data('offset') + 'px',
+ opacity: 0
+ };
+
+ return this.delay(function () {
+ return el
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.css(css).trigger('closed');
+ }.bind(this))
+ .removeClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ if (/fade/i.test(settings.animation)) {
+ var end_css = {opacity: 0};
+
+ return this.delay(function () {
+ return el
+ .animate(end_css, settings.animation_speed, 'linear', function () {
+ this.locked = false;
+ el.css(css).trigger('closed');
+ }.bind(this))
+ .removeClass('open');
+ }.bind(this), settings.animation_speed / 2);
+ }
+
+ return el.hide().css(css).removeClass('open').trigger('closed');
+ }
+
+ var settings = this.settings;
+
+ // should we animate the background?
+ if (/fade/i.test(settings.animation)) {
+ return el.fadeOut(settings.animation_speed / 2);
+ }
+
+ return el.hide();
+ },
+
+ close_video : function (e) {
+ var video = $(this).find('.flex-video'),
+ iframe = video.find('iframe');
+
+ if (iframe.length > 0) {
+ iframe.attr('data-src', iframe[0].src);
+ iframe.attr('src', 'about:blank');
+ video.hide();
+ }
+ },
+
+ open_video : function (e) {
+ var video = $(this).find('.flex-video'),
+ iframe = video.find('iframe');
+
+ if (iframe.length > 0) {
+ var data_src = iframe.attr('data-src');
+ if (typeof data_src === 'string') {
+ iframe[0].src = iframe.attr('data-src');
+ } else {
+ var src = iframe[0].src;
+ iframe[0].src = undefined;
+ iframe[0].src = src;
+ }
+ video.show();
+ }
+ },
+
+ cache_offset : function (modal) {
+ var offset = modal.show().height() + parseInt(modal.css('top'), 10);
+
+ modal.hide();
+
+ return offset;
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.reveal');
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.tab.js b/bower_components/foundation/js/foundation/foundation.tab.js
new file mode 100644
index 0000000..5e87e8b
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.tab.js
@@ -0,0 +1,46 @@
+/*jslint unparam: true, browser: true, indent: 2 */
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.tab = {
+ name : 'tab',
+
+ version : '5.0.3',
+
+ settings : {
+ active_class: 'active',
+ callback : function () {}
+ },
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ $(this.scope).off('.tab').on('click.fndtn.tab', '[data-tab] > dd > a', function (e) {
+ e.preventDefault();
+
+ var tab = $(this).parent(),
+ tabs = tab.closest('[data-tab]'),
+ target = $('#' + this.href.split('#')[1]),
+ siblings = tab.siblings(),
+ settings = tabs.data('tab-init');
+
+ // allow usage of data-tab-content attribute instead of href
+ if ($(this).data('tab-content')) {
+ target = $('#' + $(this).data('tab-content').split('#')[1]);
+ }
+
+ tab.addClass(settings.active_class).trigger('opened');
+ siblings.removeClass(settings.active_class);
+ target.siblings().removeClass(settings.active_class).end().addClass(settings.active_class);
+ settings.callback(tab);
+ tabs.trigger('toggled', [tab]);
+ });
+ },
+
+ off : function () {},
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.tooltip.js b/bower_components/foundation/js/foundation/foundation.tooltip.js
new file mode 100644
index 0000000..cde5e2b
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.tooltip.js
@@ -0,0 +1,203 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.tooltip = {
+ name : 'tooltip',
+
+ version : '5.0.3',
+
+ settings : {
+ additional_inheritable_classes : [],
+ tooltip_class : '.tooltip',
+ append_to: 'body',
+ touch_close_text: 'Tap To Close',
+ disable_for_touch: false,
+ tip_template : function (selector, content) {
+ return '' + content + '';
+ }
+ },
+
+ cache : {},
+
+ init : function (scope, method, options) {
+ this.bindings(method, options);
+ },
+
+ events : function () {
+ var self = this;
+
+ if (Modernizr.touch) {
+ $(this.scope)
+ .off('.tooltip')
+ .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
+ '[data-tooltip]', function (e) {
+ var settings = $.extend({}, self.settings, self.data_options($(this)));
+ if (!settings.disable_for_touch) {
+ e.preventDefault();
+ $(settings.tooltip_class).hide();
+ self.showOrCreateTip($(this));
+ }
+ })
+ .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
+ this.settings.tooltip_class, function (e) {
+ e.preventDefault();
+ $(this).fadeOut(150);
+ });
+ } else {
+ $(this.scope)
+ .off('.tooltip')
+ .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip',
+ '[data-tooltip]', function (e) {
+ var $this = $(this);
+
+ if (/enter|over/i.test(e.type)) {
+ self.showOrCreateTip($this);
+ } else if (e.type === 'mouseout' || e.type === 'mouseleave') {
+ self.hide($this);
+ }
+ });
+ }
+ },
+
+ showOrCreateTip : function ($target) {
+ var $tip = this.getTip($target);
+
+ if ($tip && $tip.length > 0) {
+ return this.show($target);
+ }
+
+ return this.create($target);
+ },
+
+ getTip : function ($target) {
+ var selector = this.selector($target),
+ tip = null;
+
+ if (selector) {
+ tip = $('span[data-selector="' + selector + '"]' + this.settings.tooltip_class);
+ }
+
+ return (typeof tip === 'object') ? tip : false;
+ },
+
+ selector : function ($target) {
+ var id = $target.attr('id'),
+ dataSelector = $target.attr('data-tooltip') || $target.attr('data-selector');
+
+ if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') {
+ dataSelector = 'tooltip' + Math.random().toString(36).substring(7);
+ $target.attr('data-selector', dataSelector);
+ }
+
+ return (id && id.length > 0) ? id : dataSelector;
+ },
+
+ create : function ($target) {
+ var $tip = $(this.settings.tip_template(this.selector($target), $('').html($target.attr('title')).html())),
+ classes = this.inheritable_classes($target);
+
+ $tip.addClass(classes).appendTo(this.settings.append_to);
+ if (Modernizr.touch) {
+ $tip.append(''+this.settings.touch_close_text+'');
+ }
+ $target.removeAttr('title').attr('title','');
+ this.show($target);
+ },
+
+ reposition : function (target, tip, classes) {
+ var width, nub, nubHeight, nubWidth, column, objPos;
+
+ tip.css('visibility', 'hidden').show();
+
+ width = target.data('width');
+ nub = tip.children('.nub');
+ nubHeight = nub.outerHeight();
+ nubWidth = nub.outerHeight();
+
+ tip.css({'width' : (width) ? width : 'auto'});
+
+ objPos = function (obj, top, right, bottom, left, width) {
+ return obj.css({
+ 'top' : (top) ? top : 'auto',
+ 'bottom' : (bottom) ? bottom : 'auto',
+ 'left' : (left) ? left : 'auto',
+ 'right' : (right) ? right : 'auto'
+ }).end();
+ };
+
+ objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left);
+
+ if (this.small()) {
+ objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width());
+ tip.addClass('tip-override');
+ objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left);
+ } else {
+ var left = target.offset().left;
+ if (Foundation.rtl) {
+ left = target.offset().left + target.offset().width - tip.outerWidth();
+ }
+ objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left);
+ tip.removeClass('tip-override');
+ if (classes && classes.indexOf('tip-top') > -1) {
+ objPos(tip, (target.offset().top - tip.outerHeight() - 10), 'auto', 'auto', left)
+ .removeClass('tip-override');
+ } else if (classes && classes.indexOf('tip-left') > -1) {
+ objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight))
+ .removeClass('tip-override');
+ } else if (classes && classes.indexOf('tip-right') > -1) {
+ objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left + target.outerWidth() + nubHeight))
+ .removeClass('tip-override');
+ }
+ }
+
+ tip.css('visibility', 'visible').hide();
+ },
+
+ small : function () {
+ return matchMedia(Foundation.media_queries.small).matches;
+ },
+
+ inheritable_classes : function (target) {
+ var inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'noradius'].concat(this.settings.additional_inheritable_classes),
+ classes = target.attr('class'),
+ filtered = classes ? $.map(classes.split(' '), function (el, i) {
+ if ($.inArray(el, inheritables) !== -1) {
+ return el;
+ }
+ }).join(' ') : '';
+
+ return $.trim(filtered);
+ },
+
+ show : function ($target) {
+ var $tip = this.getTip($target);
+
+ this.reposition($target, $tip, $target.attr('class'));
+ $tip.fadeIn(150);
+ },
+
+ hide : function ($target) {
+ var $tip = this.getTip($target);
+
+ $tip.fadeOut(150);
+ },
+
+ // deprecate reload
+ reload : function () {
+ var $self = $(this);
+
+ return ($self.data('fndtn-tooltips')) ? $self.foundationTooltips('destroy').foundationTooltips('init') : $self.foundationTooltips('init');
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.tooltip');
+ $(this.settings.tooltip_class).each(function (i) {
+ $('[data-tooltip]').get(i).attr('title', $(this).text());
+ }).remove();
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/foundation/foundation.topbar.js b/bower_components/foundation/js/foundation/foundation.topbar.js
new file mode 100644
index 0000000..f590654
--- /dev/null
+++ b/bower_components/foundation/js/foundation/foundation.topbar.js
@@ -0,0 +1,381 @@
+;(function ($, window, document, undefined) {
+ 'use strict';
+
+ Foundation.libs.topbar = {
+ name : 'topbar',
+
+ version: '5.0.3',
+
+ settings : {
+ index : 0,
+ sticky_class : 'sticky',
+ custom_back_text: true,
+ back_text: 'Back',
+ is_hover: true,
+ mobile_show_parent_link: false,
+ scrolltop : true // jump to top when sticky nav menu toggle is clicked
+ },
+
+ init : function (section, method, options) {
+ Foundation.inherit(this, 'addCustomRule register_media throttle');
+ var self = this;
+
+ self.register_media('topbar', 'foundation-mq-topbar');
+
+ this.bindings(method, options);
+
+ $('[data-topbar]', this.scope).each(function () {
+ var topbar = $(this),
+ settings = topbar.data('topbar-init'),
+ section = $('section', this),
+ titlebar = $('> ul', this).first();
+
+ topbar.data('index', 0);
+
+ var topbarContainer = topbar.parent();
+ if(topbarContainer.hasClass('fixed') || topbarContainer.hasClass(settings.sticky_class)) {
+ self.settings.sticky_class = settings.sticky_class;
+ self.settings.sticky_topbar = topbar;
+ topbar.data('height', topbarContainer.outerHeight());
+ topbar.data('stickyoffset', topbarContainer.offset().top);
+ } else {
+ topbar.data('height', topbar.outerHeight());
+ }
+
+ if (!settings.assembled) self.assemble(topbar);
+
+ if (settings.is_hover) {
+ $('.has-dropdown', topbar).addClass('not-click');
+ } else {
+ $('.has-dropdown', topbar).removeClass('not-click');
+ }
+
+ // Pad body when sticky (scrolled) or fixed.
+ self.addCustomRule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }');
+
+ if (topbarContainer.hasClass('fixed')) {
+ $('body').addClass('f-topbar-fixed');
+ }
+ });
+
+ },
+
+ toggle: function (toggleEl) {
+ var self = this;
+
+ if (toggleEl) {
+ var topbar = $(toggleEl).closest('[data-topbar]');
+ } else {
+ var topbar = $('[data-topbar]');
+ }
+
+ var settings = topbar.data('topbar-init');
+
+ var section = $('section, .section', topbar);
+
+ if (self.breakpoint()) {
+ if (!self.rtl) {
+ section.css({left: '0%'});
+ $('>.name', section).css({left: '100%'});
+ } else {
+ section.css({right: '0%'});
+ $('>.name', section).css({right: '100%'});
+ }
+
+ $('li.moved', section).removeClass('moved');
+ topbar.data('index', 0);
+
+ topbar
+ .toggleClass('expanded')
+ .css('height', '');
+ }
+
+ if (settings.scrolltop) {
+ if (!topbar.hasClass('expanded')) {
+ if (topbar.hasClass('fixed')) {
+ topbar.parent().addClass('fixed');
+ topbar.removeClass('fixed');
+ $('body').addClass('f-topbar-fixed');
+ }
+ } else if (topbar.parent().hasClass('fixed')) {
+ if (settings.scrolltop) {
+ topbar.parent().removeClass('fixed');
+ topbar.addClass('fixed');
+ $('body').removeClass('f-topbar-fixed');
+
+ window.scrollTo(0,0);
+ } else {
+ topbar.parent().removeClass('expanded');
+ }
+ }
+ } else {
+ if(topbar.parent().hasClass(self.settings.sticky_class)) {
+ topbar.parent().addClass('fixed');
+ }
+
+ if(topbar.parent().hasClass('fixed')) {
+ if (!topbar.hasClass('expanded')) {
+ topbar.removeClass('fixed');
+ topbar.parent().removeClass('expanded');
+ self.update_sticky_positioning();
+ } else {
+ topbar.addClass('fixed');
+ topbar.parent().addClass('expanded');
+ $('body').addClass('f-topbar-fixed');
+ }
+ }
+ }
+ },
+
+ timer : null,
+
+ events : function (bar) {
+ var self = this;
+ $(this.scope)
+ .off('.topbar')
+ .on('click.fndtn.topbar', '[data-topbar] .toggle-topbar', function (e) {
+ e.preventDefault();
+ self.toggle(this);
+ })
+ .on('click.fndtn.topbar', '[data-topbar] li.has-dropdown', function (e) {
+ var li = $(this),
+ target = $(e.target),
+ topbar = li.closest('[data-topbar]'),
+ settings = topbar.data('topbar-init');
+
+ if(target.data('revealId')) {
+ self.toggle();
+ return;
+ }
+
+ if (self.breakpoint()) return;
+ if (settings.is_hover && !Modernizr.touch) return;
+
+ e.stopImmediatePropagation();
+
+ if (li.hasClass('hover')) {
+ li
+ .removeClass('hover')
+ .find('li')
+ .removeClass('hover');
+
+ li.parents('li.hover')
+ .removeClass('hover');
+ } else {
+ li.addClass('hover');
+
+ if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) {
+ e.preventDefault();
+ }
+ }
+ })
+ .on('click.fndtn.topbar', '[data-topbar] .has-dropdown>a', function (e) {
+ if (self.breakpoint()) {
+
+ e.preventDefault();
+
+ var $this = $(this),
+ topbar = $this.closest('[data-topbar]'),
+ section = topbar.find('section, .section'),
+ dropdownHeight = $this.next('.dropdown').outerHeight(),
+ $selectedLi = $this.closest('li');
+
+ topbar.data('index', topbar.data('index') + 1);
+ $selectedLi.addClass('moved');
+
+ if (!self.rtl) {
+ section.css({left: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({left: 100 * topbar.data('index') + '%'});
+ } else {
+ section.css({right: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
+ }
+
+ topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height'));
+ }
+ });
+
+ $(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () {
+ self.resize.call(self);
+ }, 50)).trigger('resize');
+
+ $('body').off('.topbar').on('click.fndtn.topbar touchstart.fndtn.topbar', function (e) {
+ var parent = $(e.target).closest('li').closest('li.hover');
+
+ if (parent.length > 0) {
+ return;
+ }
+
+ $('[data-topbar] li').removeClass('hover');
+ });
+
+ // Go up a level on Click
+ $(this.scope).on('click.fndtn.topbar', '[data-topbar] .has-dropdown .back', function (e) {
+ e.preventDefault();
+
+ var $this = $(this),
+ topbar = $this.closest('[data-topbar]'),
+ section = topbar.find('section, .section'),
+ settings = topbar.data('topbar-init'),
+ $movedLi = $this.closest('li.moved'),
+ $previousLevelUl = $movedLi.parent();
+
+ topbar.data('index', topbar.data('index') - 1);
+
+ if (!self.rtl) {
+ section.css({left: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({left: 100 * topbar.data('index') + '%'});
+ } else {
+ section.css({right: -(100 * topbar.data('index')) + '%'});
+ section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
+ }
+
+ if (topbar.data('index') === 0) {
+ topbar.css('height', '');
+ } else {
+ topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height'));
+ }
+
+ setTimeout(function () {
+ $movedLi.removeClass('moved');
+ }, 300);
+ });
+ },
+
+ resize : function () {
+ var self = this;
+ $('[data-topbar]').each(function () {
+ var topbar = $(this),
+ settings = topbar.data('topbar-init');
+
+ var stickyContainer = topbar.parent('.' + self.settings.sticky_class);
+ var stickyOffset;
+
+ if (!self.breakpoint()) {
+ var doToggle = topbar.hasClass('expanded');
+ topbar
+ .css('height', '')
+ .removeClass('expanded')
+ .find('li')
+ .removeClass('hover');
+
+ if(doToggle) {
+ self.toggle(topbar);
+ }
+ }
+
+ if(stickyContainer.length > 0) {
+ if(stickyContainer.hasClass('fixed')) {
+ // Remove the fixed to allow for correct calculation of the offset.
+ stickyContainer.removeClass('fixed');
+
+ stickyOffset = stickyContainer.offset().top;
+ if($(document.body).hasClass('f-topbar-fixed')) {
+ stickyOffset -= topbar.data('height');
+ }
+
+ topbar.data('stickyoffset', stickyOffset);
+ stickyContainer.addClass('fixed');
+ } else {
+ stickyOffset = stickyContainer.offset().top;
+ topbar.data('stickyoffset', stickyOffset);
+ }
+ }
+
+ });
+ },
+
+ breakpoint : function () {
+ return !matchMedia(Foundation.media_queries['topbar']).matches;
+ },
+
+ assemble : function (topbar) {
+ var self = this,
+ settings = topbar.data('topbar-init'),
+ section = $('section', topbar),
+ titlebar = $('> ul', topbar).first();
+
+ // Pull element out of the DOM for manipulation
+ section.detach();
+
+ $('.has-dropdown>a', section).each(function () {
+ var $link = $(this),
+ $dropdown = $link.siblings('.dropdown'),
+ url = $link.attr('href');
+
+ if (settings.mobile_show_parent_link && url && url.length > 1) {
+ var $titleLi = $('
- ' + $link.text() +'
');
+ } else {
+ var $titleLi = $('
');
+ }
+
+ // Copy link to subnav
+ if (settings.custom_back_text == true) {
+ $('h5>a', $titleLi).html(settings.back_text);
+ } else {
+ $('h5>a', $titleLi).html('« ' + $link.html());
+ }
+ $dropdown.prepend($titleLi);
+ });
+
+ // Put element back in the DOM
+ section.appendTo(topbar);
+
+ // check for sticky
+ this.sticky();
+
+ this.assembled(topbar);
+ },
+
+ assembled : function (topbar) {
+ topbar.data('topbar-init', $.extend({}, topbar.data('topbar-init'), {assembled: true}));
+ },
+
+ height : function (ul) {
+ var total = 0,
+ self = this;
+
+ $('> li', ul).each(function () { total += $(this).outerHeight(true); });
+
+ return total;
+ },
+
+ sticky : function () {
+ var $window = $(window),
+ self = this;
+
+ $(window).on('scroll', function() {
+ self.update_sticky_positioning();
+ });
+ },
+
+ update_sticky_positioning: function() {
+ var klass = '.' + this.settings.sticky_class;
+ var $window = $(window);
+
+ if ($(klass).length > 0) {
+ var distance = this.settings.sticky_topbar.data('stickyoffset');
+ if (!$(klass).hasClass('expanded')) {
+ if ($window.scrollTop() > (distance)) {
+ if (!$(klass).hasClass('fixed')) {
+ $(klass).addClass('fixed');
+ $('body').addClass('f-topbar-fixed');
+ }
+ } else if ($window.scrollTop() <= distance) {
+ if ($(klass).hasClass('fixed')) {
+ $(klass).removeClass('fixed');
+ $('body').removeClass('f-topbar-fixed');
+ }
+ }
+ }
+ }
+ },
+
+ off : function () {
+ $(this.scope).off('.fndtn.topbar');
+ $(window).off('.fndtn.topbar');
+ },
+
+ reflow : function () {}
+ };
+}(jQuery, this, this.document));
diff --git a/bower_components/foundation/js/vendor/fastclick.js b/bower_components/foundation/js/vendor/fastclick.js
new file mode 100644
index 0000000..ec6030b
--- /dev/null
+++ b/bower_components/foundation/js/vendor/fastclick.js
@@ -0,0 +1,9 @@
+/**
+ * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
+ *
+ * @version 0.6.11
+ * @codingstandard ftlabs-jsv2
+ * @copyright The Financial Times Limited [All Rights Reserved]
+ * @license MIT License (see LICENSE.txt)
+ */
+function FastClick(a){"use strict";var b,c=this;if(this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=10,this.layer=a,!a||!a.nodeType)throw new TypeError("Layer must be a document node");this.onClick=function(){return FastClick.prototype.onClick.apply(c,arguments)},this.onMouse=function(){return FastClick.prototype.onMouse.apply(c,arguments)},this.onTouchStart=function(){return FastClick.prototype.onTouchStart.apply(c,arguments)},this.onTouchMove=function(){return FastClick.prototype.onTouchMove.apply(c,arguments)},this.onTouchEnd=function(){return FastClick.prototype.onTouchEnd.apply(c,arguments)},this.onTouchCancel=function(){return FastClick.prototype.onTouchCancel.apply(c,arguments)},FastClick.notNeeded(a)||(this.deviceIsAndroid&&(a.addEventListener("mouseover",this.onMouse,!0),a.addEventListener("mousedown",this.onMouse,!0),a.addEventListener("mouseup",this.onMouse,!0)),a.addEventListener("click",this.onClick,!0),a.addEventListener("touchstart",this.onTouchStart,!1),a.addEventListener("touchmove",this.onTouchMove,!1),a.addEventListener("touchend",this.onTouchEnd,!1),a.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(a.removeEventListener=function(b,c,d){var e=Node.prototype.removeEventListener;"click"===b?e.call(a,b,c.hijacked||c,d):e.call(a,b,c,d)},a.addEventListener=function(b,c,d){var e=Node.prototype.addEventListener;"click"===b?e.call(a,b,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(a,b,c,d)}),"function"==typeof a.onclick&&(b=a.onclick,a.addEventListener("click",function(a){b(a)},!1),a.onclick=null))}FastClick.prototype.deviceIsAndroid=navigator.userAgent.indexOf("Android")>0,FastClick.prototype.deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent),FastClick.prototype.deviceIsIOS4=FastClick.prototype.deviceIsIOS&&/OS 4_\d(_\d)?/.test(navigator.userAgent),FastClick.prototype.deviceIsIOSWithBadTarget=FastClick.prototype.deviceIsIOS&&/OS ([6-9]|\d{2})_\d/.test(navigator.userAgent),FastClick.prototype.needsClick=function(a){"use strict";switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(this.deviceIsIOS&&"file"===a.type||a.disabled)return!0;break;case"label":case"video":return!0}return/\bneedsclick\b/.test(a.className)},FastClick.prototype.needsFocus=function(a){"use strict";switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!this.deviceIsAndroid;case"input":switch(a.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!a.disabled&&!a.readOnly;default:return/\bneedsfocus\b/.test(a.className)}},FastClick.prototype.sendClick=function(a,b){"use strict";var c,d;document.activeElement&&document.activeElement!==a&&document.activeElement.blur(),d=b.changedTouches[0],c=document.createEvent("MouseEvents"),c.initMouseEvent(this.determineEventType(a),!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),c.forwardedTouchEvent=!0,a.dispatchEvent(c)},FastClick.prototype.determineEventType=function(a){"use strict";return this.deviceIsAndroid&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},FastClick.prototype.focus=function(a){"use strict";var b;this.deviceIsIOS&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},FastClick.prototype.updateScrollParent=function(a){"use strict";var b,c;if(b=a.fastClickScrollParent,!b||!b.contains(a)){c=a;do{if(c.scrollHeight>c.offsetHeight){b=c,a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)},FastClick.prototype.getTargetElementFromEventTarget=function(a){"use strict";return a.nodeType===Node.TEXT_NODE?a.parentNode:a},FastClick.prototype.onTouchStart=function(a){"use strict";var b,c,d;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],this.deviceIsIOS){if(d=window.getSelection(),d.rangeCount&&!d.isCollapsed)return!0;if(!this.deviceIsIOS4){if(c.identifier===this.lastTouchIdentifier)return a.preventDefault(),!1;this.lastTouchIdentifier=c.identifier,this.updateScrollParent(b)}}return this.trackingClick=!0,this.trackingClickStart=a.timeStamp,this.targetElement=b,this.touchStartX=c.pageX,this.touchStartY=c.pageY,a.timeStamp-this.lastClickTime<200&&a.preventDefault(),!0},FastClick.prototype.touchHasMoved=function(a){"use strict";var b=a.changedTouches[0],c=this.touchBoundary;return Math.abs(b.pageX-this.touchStartX)>c||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},FastClick.prototype.onTouchMove=function(a){"use strict";return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},FastClick.prototype.findControl=function(a){"use strict";return void 0!==a.control?a.control:a.htmlFor?document.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},FastClick.prototype.onTouchEnd=function(a){"use strict";var b,c,d,e,f,g=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTime<200)return this.cancelNextClick=!0,!0;if(this.cancelNextClick=!1,this.lastClickTime=a.timeStamp,c=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,this.deviceIsIOSWithBadTarget&&(f=a.changedTouches[0],g=document.elementFromPoint(f.pageX-window.pageXOffset,f.pageY-window.pageYOffset)||g,g.fastClickScrollParent=this.targetElement.fastClickScrollParent),d=g.tagName.toLowerCase(),"label"===d){if(b=this.findControl(g)){if(this.focus(g),this.deviceIsAndroid)return!1;g=b}}else if(this.needsFocus(g))return a.timeStamp-c>100||this.deviceIsIOS&&window.top!==window&&"input"===d?(this.targetElement=null,!1):(this.focus(g),this.deviceIsIOS4&&"select"===d||(this.targetElement=null,a.preventDefault()),!1);return this.deviceIsIOS&&!this.deviceIsIOS4&&(e=g.fastClickScrollParent,e&&e.fastClickLastScrollTop!==e.scrollTop)?!0:(this.needsClick(g)||(a.preventDefault(),this.sendClick(g,a)),!1)},FastClick.prototype.onTouchCancel=function(){"use strict";this.trackingClick=!1,this.targetElement=null},FastClick.prototype.onMouse=function(a){"use strict";return this.targetElement?a.forwardedTouchEvent?!0:a.cancelable?!this.needsClick(this.targetElement)||this.cancelNextClick?(a.stopImmediatePropagation?a.stopImmediatePropagation():a.propagationStopped=!0,a.stopPropagation(),a.preventDefault(),!1):!0:!0:!0},FastClick.prototype.onClick=function(a){"use strict";var b;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===a.target.type&&0===a.detail?!0:(b=this.onMouse(a),b||(this.targetElement=null),b)},FastClick.prototype.destroy=function(){"use strict";var a=this.layer;this.deviceIsAndroid&&(a.removeEventListener("mouseover",this.onMouse,!0),a.removeEventListener("mousedown",this.onMouse,!0),a.removeEventListener("mouseup",this.onMouse,!0)),a.removeEventListener("click",this.onClick,!0),a.removeEventListener("touchstart",this.onTouchStart,!1),a.removeEventListener("touchmove",this.onTouchMove,!1),a.removeEventListener("touchend",this.onTouchEnd,!1),a.removeEventListener("touchcancel",this.onTouchCancel,!1)},FastClick.notNeeded=function(a){"use strict";var b,c;if("undefined"==typeof window.ontouchstart)return!0;if(c=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!FastClick.prototype.deviceIsAndroid)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(c>31&&window.innerWidth<=window.screen.width)return!0}}return"none"===a.style.msTouchAction?!0:!1},FastClick.attach=function(a){"use strict";return new FastClick(a)},"undefined"!=typeof define&&define.amd?define(function(){"use strict";return FastClick}):"undefined"!=typeof module&&module.exports?(module.exports=FastClick.attach,module.exports.FastClick=FastClick):window.FastClick=FastClick;
\ No newline at end of file
diff --git a/bower_components/foundation/js/vendor/jquery.cookie.js b/bower_components/foundation/js/vendor/jquery.cookie.js
new file mode 100644
index 0000000..e3eb628
--- /dev/null
+++ b/bower_components/foundation/js/vendor/jquery.cookie.js
@@ -0,0 +1,8 @@
+/*!
+ * jQuery Cookie Plugin v1.4.0
+ * https://github.com/carhartl/jquery-cookie
+ *
+ * Copyright 2013 Klaus Hartl
+ * Released under the MIT license
+ */
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{a=decodeURIComponent(a.replace(g," "))}catch(b){return}try{return h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setDate(k.getDate()+j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0!==a.cookie(b)?(a.cookie(b,"",a.extend({},c,{expires:-1})),!0):!1}});
\ No newline at end of file
diff --git a/bower_components/foundation/js/vendor/jquery.js b/bower_components/foundation/js/vendor/jquery.js
new file mode 100644
index 0000000..60498fa
--- /dev/null
+++ b/bower_components/foundation/js/vendor/jquery.js
@@ -0,0 +1,26 @@
+/*!
+ * jQuery JavaScript Library v2.0.3
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-07-03T13:30Z
+ */
+!function(a,b){function c(a){var b=a.length,c=fb.type(a);return fb.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||"function"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){var b=ob[a]={};return fb.each(a.match(hb)||[],function(a,c){b[c]=!0}),b}function e(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=fb.expando+Math.random()}function f(a,c,d){var e;if(d===b&&1===a.nodeType)if(e="data-"+c.replace(sb,"-$1").toLowerCase(),d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:rb.test(d)?JSON.parse(d):d}catch(f){}pb.set(a,c,d)}else d=b;return d}function g(){return!0}function h(){return!1}function i(){try{return T.activeElement}catch(a){}}function j(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function k(a,b,c){if(fb.isFunction(b))return fb.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fb.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(Cb.test(b))return fb.filter(b,a,c);b=fb.filter(b,a)}return fb.grep(a,function(a){return bb.call(b,a)>=0!==c})}function l(a,b){return fb.nodeName(a,"table")&&fb.nodeName(1===b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function m(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function n(a){var b=Nb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function o(a,b){for(var c=a.length,d=0;c>d;d++)qb.set(a[d],"globalEval",!b||qb.get(b[d],"globalEval"))}function p(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(qb.hasData(a)&&(f=qb.access(a),g=qb.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)fb.event.add(b,e,j[e][c])}pb.hasData(a)&&(h=pb.access(a),i=fb.extend({},h),pb.set(b,i))}}function q(a,c){var d=a.getElementsByTagName?a.getElementsByTagName(c||"*"):a.querySelectorAll?a.querySelectorAll(c||"*"):[];return c===b||c&&fb.nodeName(a,c)?fb.merge([a],d):d}function r(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Kb.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function s(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=_b.length;e--;)if(b=_b[e]+c,b in a)return b;return d}function t(a,b){return a=b||a,"none"===fb.css(a,"display")||!fb.contains(a.ownerDocument,a)}function u(b){return a.getComputedStyle(b,null)}function v(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=qb.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&t(d)&&(f[g]=qb.access(d,"olddisplay",z(d.nodeName)))):f[g]||(e=t(d),(c&&"none"!==c||!e)&&qb.set(d,"olddisplay",e?c:fb.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function w(a,b,c){var d=Ub.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function x(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=fb.css(a,c+$b[f],!0,e)),d?("content"===c&&(g-=fb.css(a,"padding"+$b[f],!0,e)),"margin"!==c&&(g-=fb.css(a,"border"+$b[f]+"Width",!0,e))):(g+=fb.css(a,"padding"+$b[f],!0,e),"padding"!==c&&(g+=fb.css(a,"border"+$b[f]+"Width",!0,e)));return g}function y(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=u(a),g=fb.support.boxSizing&&"border-box"===fb.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Qb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Vb.test(e))return e;d=g&&(fb.support.boxSizingReliable||e===a.style[b]),e=parseFloat(e)||0}return e+x(a,b,c||(g?"border":"content"),d,f)+"px"}function z(a){var b=T,c=Xb[a];return c||(c=A(a,b),"none"!==c&&c||(Rb=(Rb||fb("").css("cssText","display:block !important")).appendTo(b.documentElement),b=(Rb[0].contentWindow||Rb[0].contentDocument).document,b.write(""),b.close(),c=A(a,b),Rb.detach()),Xb[a]=c),c}function A(a,b){var c=fb(b.createElement(a)).appendTo(b.body),d=fb.css(c[0],"display");return c.remove(),d}function B(a,b,c,d){var e;if(fb.isArray(b))fb.each(b,function(b,e){c||bc.test(a)?d(a,e):B(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==fb.type(b))d(a,b);else for(e in b)B(a+"["+e+"]",b[e],c,d)}function C(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(hb)||[];if(fb.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function D(a,b,c,d){function e(h){var i;return f[h]=!0,fb.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===sc;return e(b.dataTypes[0])||!f["*"]&&e("*")}function E(a,c){var d,e,f=fb.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);return e&&fb.extend(!0,a,e),a}function F(a,c,d){for(var e,f,g,h,i=a.contents,j=a.dataTypes;"*"===j[0];)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("Content-Type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):void 0}function G(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function H(){return setTimeout(function(){Bc=b}),Bc=fb.now()}function I(a,b,c){for(var d,e=(Hc[b]||[]).concat(Hc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function J(a,b,c){var d,e,f=0,g=Gc.length,h=fb.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Bc||H(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:fb.extend({},b),opts:fb.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Bc||H(),duration:c.duration,tweens:[],createTween:function(b,c){var d=fb.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(K(k,j.opts.specialEasing);g>f;f++)if(d=Gc[f].call(j,a,k,j.opts))return d;return fb.map(k,I,j),fb.isFunction(j.opts.start)&&j.opts.start.call(a,j),fb.fx.timer(fb.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function K(a,b){var c,d,e,f,g;for(c in a)if(d=fb.camelCase(c),e=b[d],f=a[c],fb.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=fb.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function L(a,c,d){var e,f,g,h,i,j,k=this,l={},m=a.style,n=a.nodeType&&t(a),o=qb.get(a,"fxshow");d.queue||(i=fb._queueHooks(a,"fx"),null==i.unqueued&&(i.unqueued=0,j=i.empty.fire,i.empty.fire=function(){i.unqueued||j()}),i.unqueued++,k.always(function(){k.always(function(){i.unqueued--,fb.queue(a,"fx").length||i.empty.fire()})})),1===a.nodeType&&("height"in c||"width"in c)&&(d.overflow=[m.overflow,m.overflowX,m.overflowY],"inline"===fb.css(a,"display")&&"none"===fb.css(a,"float")&&(m.display="inline-block")),d.overflow&&(m.overflow="hidden",k.always(function(){m.overflow=d.overflow[0],m.overflowX=d.overflow[1],m.overflowY=d.overflow[2]}));for(e in c)if(f=c[e],Dc.exec(f)){if(delete c[e],g=g||"toggle"===f,f===(n?"hide":"show")){if("show"!==f||!o||o[e]===b)continue;n=!0}l[e]=o&&o[e]||fb.style(a,e)}if(!fb.isEmptyObject(l)){o?"hidden"in o&&(n=o.hidden):o=qb.access(a,"fxshow",{}),g&&(o.hidden=!n),n?fb(a).show():k.done(function(){fb(a).hide()}),k.done(function(){var b;qb.remove(a,"fxshow");for(b in l)fb.style(a,b,l[b])});for(e in l)h=I(n?o[e]:0,e,k),e in o||(o[e]=h.start,n&&(h.end=h.start,h.start="width"===e||"height"===e?1:0))}}function M(a,b,c,d,e){return new M.prototype.init(a,b,c,d,e)}function N(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=$b[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function O(a){return fb.isWindow(a)?a:9===a.nodeType&&a.defaultView}var P,Q,R=typeof b,S=a.location,T=a.document,U=T.documentElement,V=a.jQuery,W=a.$,X={},Y=[],Z="2.0.3",$=Y.concat,_=Y.push,ab=Y.slice,bb=Y.indexOf,cb=X.toString,db=X.hasOwnProperty,eb=Z.trim,fb=function(a,b){return new fb.fn.init(a,b,P)},gb=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,hb=/\S+/g,ib=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,jb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,kb=/^-ms-/,lb=/-([\da-z])/gi,mb=function(a,b){return b.toUpperCase()},nb=function(){T.removeEventListener("DOMContentLoaded",nb,!1),a.removeEventListener("load",nb,!1),fb.ready()};fb.fn=fb.prototype={jquery:Z,constructor:fb,init:function(a,c,d){var e,f;if(!a)return this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:ib.exec(a),!e||!e[1]&&c)return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a);if(e[1]){if(c=c instanceof fb?c[0]:c,fb.merge(this,fb.parseHTML(e[1],c&&c.nodeType?c.ownerDocument||c:T,!0)),jb.test(e[1])&&fb.isPlainObject(c))for(e in c)fb.isFunction(this[e])?this[e](c[e]):this.attr(e,c[e]);return this}return f=T.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=T,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):fb.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),fb.makeArray(a,this))},selector:"",length:0,toArray:function(){return ab.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a){var b=fb.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return fb.each(this,a,b)},ready:function(a){return fb.ready.promise().done(a),this},slice:function(){return this.pushStack(ab.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},map:function(a){return this.pushStack(fb.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:_,sort:[].sort,splice:[].splice},fb.fn.init.prototype=fb.fn,fb.extend=fb.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"==typeof h||fb.isFunction(h)||(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(c in a)d=h[c],e=a[c],h!==e&&(k&&e&&(fb.isPlainObject(e)||(f=fb.isArray(e)))?(f?(f=!1,g=d&&fb.isArray(d)?d:[]):g=d&&fb.isPlainObject(d)?d:{},h[c]=fb.extend(k,g,e)):e!==b&&(h[c]=e));return h},fb.extend({expando:"jQuery"+(Z+Math.random()).replace(/\D/g,""),noConflict:function(b){return a.$===fb&&(a.$=W),b&&a.jQuery===fb&&(a.jQuery=V),fb},isReady:!1,readyWait:1,holdReady:function(a){a?fb.readyWait++:fb.ready(!0)},ready:function(a){(a===!0?--fb.readyWait:fb.isReady)||(fb.isReady=!0,a!==!0&&--fb.readyWait>0||(Q.resolveWith(T,[fb]),fb.fn.trigger&&fb(T).trigger("ready").off("ready")))},isFunction:function(a){return"function"===fb.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?String(a):"object"==typeof a||"function"==typeof a?X[cb.call(a)]||"object":typeof a},isPlainObject:function(a){if("object"!==fb.type(a)||a.nodeType||fb.isWindow(a))return!1;try{if(a.constructor&&!db.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||T;var d=jb.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=fb.buildFragment([a],b,e),e&&fb(e).remove(),fb.merge([],d.childNodes))},parseJSON:JSON.parse,parseXML:function(a){var c,d;if(!a||"string"!=typeof a)return null;try{d=new DOMParser,c=d.parseFromString(a,"text/xml")}catch(e){c=b}return(!c||c.getElementsByTagName("parsererror").length)&&fb.error("Invalid XML: "+a),c},noop:function(){},globalEval:function(a){var b,c=eval;a=fb.trim(a),a&&(1===a.indexOf("use strict")?(b=T.createElement("script"),b.text=a,T.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(kb,"ms-").replace(lb,mb)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:function(a){return null==a?"":eb.call(a)},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?fb.merge(d,"string"==typeof a?[a]:a):_.call(d,a)),d},inArray:function(a,b,c){return null==b?-1:bb.call(b,a,c)},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&(i[i.length]=e);else for(f in a)e=b(a[f],f,d),null!=e&&(i[i.length]=e);return $.apply([],i)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(d=a[c],c=a,a=d),fb.isFunction(a)?(e=ab.call(arguments,2),f=function(){return a.apply(c||this,e.concat(ab.call(arguments)))},f.guid=a.guid=a.guid||fb.guid++,f):b},access:function(a,c,d,e,f,g,h){var i=0,j=a.length,k=null==d;if("object"===fb.type(d)){f=!0;for(i in d)fb.access(a,c,i,d[i],!0,g,h)}else if(e!==b&&(f=!0,fb.isFunction(e)||(h=!0),k&&(h?(c.call(a,e),c=null):(k=c,c=function(a,b,c){return k.call(fb(a),c)})),c))for(;j>i;i++)c(a[i],d,h?e:e.call(a[i],i,c(a[i],d)));return f?a:k?c.call(a):j?c(a[0],d):g},now:Date.now,swap:function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e}}),fb.ready.promise=function(b){return Q||(Q=fb.Deferred(),"complete"===T.readyState?setTimeout(fb.ready):(T.addEventListener("DOMContentLoaded",nb,!1),a.addEventListener("load",nb,!1))),Q.promise(b)},fb.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){X["[object "+b+"]"]=b.toLowerCase()}),P=fb(T),/*!
+ * Sizzle CSS Selector Engine v1.9.4-pre
+ * http://sizzlejs.com/
+ *
+ * Copyright 2013 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-06-03
+ */
+function(a,b){function c(a,b,c,d){var e,f,g,h,i,j,k,l,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(I&&!d){if(e=tb.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return ab.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&x.getElementsByClassName&&b.getElementsByClassName)return ab.apply(c,b.getElementsByClassName(g)),c}if(x.qsa&&(!J||!J.test(a))){if(l=k=N,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=m(a),(k=b.getAttribute("id"))?l=k.replace(wb,"\\$&"):b.setAttribute("id",l),l="[id='"+l+"'] ",i=j.length;i--;)j[i]=l+n(j[i]);o=nb.test(a)&&b.parentNode||b,p=j.join(",")}if(p)try{return ab.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{k||b.removeAttribute("id")}}}return v(a.replace(kb,"$1"),b,c,d)}function d(){function a(c,d){return b.push(c+=" ")>z.cacheLength&&delete a[b.shift()],a[c]=d}var b=[];return a}function e(a){return a[N]=!0,a}function f(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function g(a,b){for(var c=a.split("|"),d=a.length;d--;)z.attrHandle[c[d]]=b}function h(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||X)-(~a.sourceIndex||X);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function i(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function j(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function l(){}function m(a,b){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=z.preFilter;h;){(!d||(e=lb.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=mb.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(kb," ")}),h=h.slice(d.length));for(g in z.filter)!(e=rb[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return b?h.length:h?c.error(a):S(a,i).slice(0)}function n(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function o(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=P+" "+f;if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e)if(j=b[N]||(b[N]={}),(i=j[d])&&i[0]===k){if((h=i[1])===!0||h===y)return h===!0}else if(i=j[d]=[k],i[1]=a(b,c,g)||y,i[1]===!0)return!0}}function p(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function r(a,b,c,d,f,g){return d&&!d[N]&&(d=r(d)),f&&!f[N]&&(f=r(f,g)),e(function(e,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=e||u(b||"*",h.nodeType?[h]:h,[]),r=!a||!e&&b?p:q(p,m,a,h,i),s=c?f||(e?a:o||d)?[]:g:r;if(c&&c(r,s,h,i),d)for(j=q(s,n),d(j,[],h,i),k=j.length;k--;)(l=j[k])&&(s[n[k]]=!(r[n[k]]=l));if(e){if(f||a){if(f){for(j=[],k=s.length;k--;)(l=s[k])&&j.push(r[k]=l);f(null,s=[],j,i)}for(k=s.length;k--;)(l=s[k])&&(j=f?cb.call(e,l):m[k])>-1&&(e[j]=!(g[j]=l))}}else s=q(s===g?s.splice(o,s.length):s),f?f(null,g,s,i):ab.apply(g,s)})}function s(a){for(var b,c,d,e=a.length,f=z.relative[a[0].type],g=f||z.relative[" "],h=f?1:0,i=o(function(a){return a===b},g,!0),j=o(function(a){return cb.call(b,a)>-1},g,!0),k=[function(a,c,d){return!f&&(d||c!==D)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=z.relative[a[h].type])k=[o(p(k),c)];else{if(c=z.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!z.relative[a[d].type];d++);return r(h>1&&p(k),h>1&&n(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(kb,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&n(a))}k.push(c)}return p(k)}function t(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(e,h,i,j,k){var l,m,n,o=[],p=0,r="0",s=e&&[],t=null!=k,u=D,v=e||g&&z.find.TAG("*",k&&h.parentNode||h),w=P+=null==u?1:Math.random()||.1;for(t&&(D=h!==G&&h,y=d);null!=(l=v[r]);r++){if(g&&l){for(m=0;n=a[m++];)if(n(l,h,i)){j.push(l);break}t&&(P=w,y=++d)}f&&((l=!n&&l)&&p--,e&&s.push(l))}if(p+=r,f&&r!==p){for(m=0;n=b[m++];)n(s,o,h,i);if(e){if(p>0)for(;r--;)s[r]||o[r]||(o[r]=$.call(j));o=q(o)}ab.apply(j,o),t&&!e&&o.length>0&&p+b.length>1&&c.uniqueSort(j)}return t&&(P=w,D=u),s};return f?e(h):h}function u(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}function v(a,b,c,d){var e,f,g,h,i,j=m(a);if(!d&&1===j.length){if(f=j[0]=j[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&x.getById&&9===b.nodeType&&I&&z.relative[f[1].type]){if(b=(z.find.ID(g.matches[0].replace(xb,yb),b)||[])[0],!b)return c;a=a.slice(f.shift().value.length)}for(e=rb.needsContext.test(a)?0:f.length;e--&&(g=f[e],!z.relative[h=g.type]);)if((i=z.find[h])&&(d=i(g.matches[0].replace(xb,yb),nb.test(f[0].type)&&b.parentNode||b))){if(f.splice(e,1),a=d.length&&n(f),!a)return ab.apply(c,d),c;break}}return C(a,j)(d,b,!I,c,nb.test(a)),c}var w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+-new Date,O=a.document,P=0,Q=0,R=d(),S=d(),T=d(),U=!1,V=function(a,b){return a===b?(U=!0,0):0},W=typeof b,X=1<<31,Y={}.hasOwnProperty,Z=[],$=Z.pop,_=Z.push,ab=Z.push,bb=Z.slice,cb=Z.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},db="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",eb="[\\x20\\t\\r\\n\\f]",gb="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",hb=gb.replace("w","w#"),ib="\\["+eb+"*("+gb+")"+eb+"*(?:([*^$|!~]?=)"+eb+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+hb+")|)|)"+eb+"*\\]",jb=":("+gb+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+ib.replace(3,8)+")*)|.*)\\)|)",kb=new RegExp("^"+eb+"+|((?:^|[^\\\\])(?:\\\\.)*)"+eb+"+$","g"),lb=new RegExp("^"+eb+"*,"+eb+"*"),mb=new RegExp("^"+eb+"*([>+~]|"+eb+")"+eb+"*"),nb=new RegExp(eb+"*[+~]"),ob=new RegExp("="+eb+"*([^\\]'\"]*)"+eb+"*\\]","g"),pb=new RegExp(jb),qb=new RegExp("^"+hb+"$"),rb={ID:new RegExp("^#("+gb+")"),CLASS:new RegExp("^\\.("+gb+")"),TAG:new RegExp("^("+gb.replace("w","w*")+")"),ATTR:new RegExp("^"+ib),PSEUDO:new RegExp("^"+jb),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+eb+"*(even|odd|(([+-]|)(\\d*)n|)"+eb+"*(?:([+-]|)"+eb+"*(\\d+)|))"+eb+"*\\)|)","i"),bool:new RegExp("^(?:"+db+")$","i"),needsContext:new RegExp("^"+eb+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+eb+"*((?:-\\d)?\\d*)"+eb+"*\\)|)(?=[^-]|$)","i")},sb=/^[^{]+\{\s*\[native \w/,tb=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ub=/^(?:input|select|textarea|button)$/i,vb=/^h\d$/i,wb=/'|\\/g,xb=new RegExp("\\\\([\\da-f]{1,6}"+eb+"?|("+eb+")|.)","ig"),yb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{ab.apply(Z=bb.call(O.childNodes),O.childNodes),Z[O.childNodes.length].nodeType}catch(zb){ab={apply:Z.length?function(a,b){_.apply(a,bb.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}B=c.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},x=c.support={},F=c.setDocument=function(a){var b=a?a.ownerDocument||a:O,c=b.defaultView;return b!==G&&9===b.nodeType&&b.documentElement?(G=b,H=b.documentElement,I=!B(b),c&&c.attachEvent&&c!==c.top&&c.attachEvent("onbeforeunload",function(){F()}),x.attributes=f(function(a){return a.className="i",!a.getAttribute("className")}),x.getElementsByTagName=f(function(a){return a.appendChild(b.createComment("")),!a.getElementsByTagName("*").length}),x.getElementsByClassName=f(function(a){return a.innerHTML="",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),x.getById=f(function(a){return H.appendChild(a).id=N,!b.getElementsByName||!b.getElementsByName(N).length}),x.getById?(z.find.ID=function(a,b){if(typeof b.getElementById!==W&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},z.filter.ID=function(a){var b=a.replace(xb,yb);return function(a){return a.getAttribute("id")===b}}):(delete z.find.ID,z.filter.ID=function(a){var b=a.replace(xb,yb);return function(a){var c=typeof a.getAttributeNode!==W&&a.getAttributeNode("id");return c&&c.value===b}}),z.find.TAG=x.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==W?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},z.find.CLASS=x.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==W&&I?b.getElementsByClassName(a):void 0},K=[],J=[],(x.qsa=sb.test(b.querySelectorAll))&&(f(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||J.push("\\["+eb+"*(?:value|"+db+")"),a.querySelectorAll(":checked").length||J.push(":checked")}),f(function(a){var c=b.createElement("input");c.setAttribute("type","hidden"),a.appendChild(c).setAttribute("t",""),a.querySelectorAll("[t^='']").length&&J.push("[*^$]="+eb+"*(?:''|\"\")"),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(x.matchesSelector=sb.test(L=H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&f(function(a){x.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",jb)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),M=sb.test(H.contains)||H.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},V=H.compareDocumentPosition?function(a,c){if(a===c)return U=!0,0;var d=c.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(c);return d?1&d||!x.sortDetached&&c.compareDocumentPosition(a)===d?a===b||M(O,a)?-1:c===b||M(O,c)?1:E?cb.call(E,a)-cb.call(E,c):0:4&d?-1:1:a.compareDocumentPosition?-1:1}:function(a,c){var d,e=0,f=a.parentNode,g=c.parentNode,i=[a],j=[c];if(a===c)return U=!0,0;if(!f||!g)return a===b?-1:c===b?1:f?-1:g?1:E?cb.call(E,a)-cb.call(E,c):0;if(f===g)return h(a,c);for(d=a;d=d.parentNode;)i.unshift(d);for(d=c;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?h(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},b):G},c.matches=function(a,b){return c(a,null,null,b)},c.matchesSelector=function(a,b){if((a.ownerDocument||a)!==G&&F(a),b=b.replace(ob,"='$1']"),!(!x.matchesSelector||!I||K&&K.test(b)||J&&J.test(b)))try{var d=L.call(a,b);if(d||x.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return c(b,G,null,[a]).length>0},c.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},c.attr=function(a,c){(a.ownerDocument||a)!==G&&F(a);var d=z.attrHandle[c.toLowerCase()],e=d&&Y.call(z.attrHandle,c.toLowerCase())?d(a,c,!I):b;return e===b?x.attributes||!I?a.getAttribute(c):(e=a.getAttributeNode(c))&&e.specified?e.value:null:e},c.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},c.uniqueSort=function(a){var b,c=[],d=0,e=0;if(U=!x.detectDuplicates,E=!x.sortStable&&a.slice(0),a.sort(V),U){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return a},A=c.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=A(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=A(b);return c},z=c.selectors={cacheLength:50,createPseudo:e,match:rb,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(xb,yb),a[3]=(a[4]||a[5]||"").replace(xb,yb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||c.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&c.error(a[0]),a},PSEUDO:function(a){var c,d=!a[5]&&a[2];return rb.CHILD.test(a[0])?null:(a[3]&&a[4]!==b?a[2]=a[4]:d&&pb.test(d)&&(c=m(d,!0))&&(c=d.indexOf(")",d.length-c)-d.length)&&(a[0]=a[0].slice(0,c),a[2]=d.slice(0,c)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(xb,yb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+eb+")"+a+"("+eb+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==W&&a.getAttribute("class")||"")})},ATTR:function(a,b,d){return function(e){var f=c.attr(e,a);return null==f?"!="===b:b?(f+="","="===b?f===d:"!="===b?f!==d:"^="===b?d&&0===f.indexOf(d):"*="===b?d&&f.indexOf(d)>-1:"$="===b?d&&f.slice(-d.length)===d:"~="===b?(" "+f+" ").indexOf(d)>-1:"|="===b?f===d||f.slice(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var d,f=z.pseudos[a]||z.setFilters[a.toLowerCase()]||c.error("unsupported pseudo: "+a);return f[N]?f(b):f.length>1?(d=[a,a,"",b],z.setFilters.hasOwnProperty(a.toLowerCase())?e(function(a,c){for(var d,e=f(a,b),g=e.length;g--;)d=cb.call(a,e[g]),a[d]=!(c[d]=e[g])}):function(a){return f(a,0,d)}):f}},pseudos:{not:e(function(a){var b=[],c=[],d=C(a.replace(kb,"$1"));return d[N]?e(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:e(function(a){return function(b){return c(a,b).length>0}}),contains:e(function(a){return function(b){return(b.textContent||b.innerText||A(b)).indexOf(a)>-1}}),lang:e(function(a){return qb.test(a||"")||c.error("unsupported lang: "+a),a=a.replace(xb,yb).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeName>"@"||3===a.nodeType||4===a.nodeType)return!1;return!0},parent:function(a){return!z.pseudos.empty(a)},header:function(a){return vb.test(a.nodeName)},input:function(a){return ub.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||b.toLowerCase()===a.type)},first:k(function(){return[0]}),last:k(function(a,b){return[b-1]}),eq:k(function(a,b,c){return[0>c?c+b:c]}),even:k(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:k(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:k(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:k(function(a,b,c){for(var d=0>c?c+b:c;++di;i++)if(j[i].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}f=!1,j&&(k?k.length&&l(k.shift()):c?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function d(b){fb.each(b,function(b,c){var e=fb.type(c);"function"===e?a.unique&&m.has(c)||j.push(c):c&&c.length&&"string"!==e&&d(c)})}(arguments),f?h=j.length:c&&(g=b,l(c))}return this},remove:function(){return j&&fb.each(arguments,function(a,b){for(var c;(c=fb.inArray(b,j,c))>-1;)j.splice(c,1),f&&(h>=c&&h--,i>=c&&i--)}),this},has:function(a){return a?fb.inArray(a,j)>-1:!(!j||!j.length)},empty:function(){return j=[],h=0,this},disable:function(){return j=k=c=b,this},disabled:function(){return!j},lock:function(){return k=b,c||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return!j||e&&!k||(b=b||[],b=[a,b.slice?b.slice():b],f?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!e}};return m},fb.extend({Deferred:function(a){var b=[["resolve","done",fb.Callbacks("once memory"),"resolved"],["reject","fail",fb.Callbacks("once memory"),"rejected"],["notify","progress",fb.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return fb.Deferred(function(c){fb.each(b,function(b,f){var g=f[0],h=fb.isFunction(a[b])&&a[b];e[f[1]](function(){var a=h&&h.apply(this,arguments);a&&fb.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g+"With"](this===d?c.promise():this,h?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?fb.extend(a,d):d}},e={};return d.pipe=d.then,fb.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=ab.call(arguments),g=f.length,h=1!==g||a&&fb.isFunction(a.promise)?g:0,i=1===h?a:fb.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?ab.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&fb.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),fb.support=function(b){var c=T.createElement("input"),d=T.createDocumentFragment(),e=T.createElement("div"),f=T.createElement("select"),g=f.appendChild(T.createElement("option"));return c.type?(c.type="checkbox",b.checkOn=""!==c.value,b.optSelected=g.selected,b.reliableMarginRight=!0,b.boxSizingReliable=!0,b.pixelPosition=!1,c.checked=!0,b.noCloneChecked=c.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled,c=T.createElement("input"),c.value="t",c.type="radio",b.radioValue="t"===c.value,c.setAttribute("checked","t"),c.setAttribute("name","t"),d.appendChild(c),b.checkClone=d.cloneNode(!0).cloneNode(!0).lastChild.checked,b.focusinBubbles="onfocusin"in a,e.style.backgroundClip="content-box",e.cloneNode(!0).style.backgroundClip="",b.clearCloneStyle="content-box"===e.style.backgroundClip,fb(function(){var c,d,f="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",g=T.getElementsByTagName("body")[0];g&&(c=T.createElement("div"),c.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",g.appendChild(c).appendChild(e),e.innerHTML="",e.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",fb.swap(g,null!=g.style.zoom?{zoom:1}:{},function(){b.boxSizing=4===e.offsetWidth}),a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(e,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(e,null)||{width:"4px"}).width,d=e.appendChild(T.createElement("div")),d.style.cssText=e.style.cssText=f,d.style.marginRight=d.style.width="0",e.style.width="1px",b.reliableMarginRight=!parseFloat((a.getComputedStyle(d,null)||{}).marginRight)),g.removeChild(c))}),b):b}({});var pb,qb,rb=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,sb=/([A-Z])/g;e.uid=1,e.accepts=function(a){return a.nodeType?1===a.nodeType||9===a.nodeType:!0},e.prototype={key:function(a){if(!e.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=e.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,fb.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(fb.isEmptyObject(f))fb.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,c){var d=this.cache[this.key(a)];return c===b?d:d[c]},access:function(a,c,d){var e;return c===b||c&&"string"==typeof c&&d===b?(e=this.get(a,c),e!==b?e:this.get(a,fb.camelCase(c))):(this.set(a,c,d),d!==b?d:c)},remove:function(a,c){var d,e,f,g=this.key(a),h=this.cache[g];if(c===b)this.cache[g]={};else{fb.isArray(c)?e=c.concat(c.map(fb.camelCase)):(f=fb.camelCase(c),c in h?e=[c,f]:(e=f,e=e in h?[e]:e.match(hb)||[])),d=e.length;for(;d--;)delete h[e[d]]}},hasData:function(a){return!fb.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}},pb=new e,qb=new e,fb.extend({acceptData:e.accepts,hasData:function(a){return pb.hasData(a)||qb.hasData(a)},data:function(a,b,c){return pb.access(a,b,c)},removeData:function(a,b){pb.remove(a,b)},_data:function(a,b,c){return qb.access(a,b,c)},_removeData:function(a,b){qb.remove(a,b)}}),fb.fn.extend({data:function(a,c){var d,e,g=this[0],h=0,i=null;if(a===b){if(this.length&&(i=pb.get(g),1===g.nodeType&&!qb.get(g,"hasDataAttrs"))){for(d=g.attributes;h1,null,!0)},removeData:function(a){return this.each(function(){pb.remove(this,a)})}}),fb.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=qb.get(a,b),c&&(!d||fb.isArray(c)?d=qb.access(a,b,fb.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=fb.queue(a,b),d=c.length,e=c.shift(),f=fb._queueHooks(a,b),g=function(){fb.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return qb.get(a,c)||qb.access(a,c,{empty:fb.Callbacks("once memory").add(function(){qb.remove(a,[b+"queue",c])})})}}),fb.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){fb.removeAttr(this,a)})},prop:function(a,b){return fb.access(this,fb.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[fb.propFix[a]||a]})},addClass:function(a){var b,c,d,e,f,g=0,h=this.length,i="string"==typeof a&&a;if(fb.isFunction(a))return this.each(function(b){fb(this).addClass(a.call(this,b,this.className))});if(i)for(b=(a||"").match(hb)||[];h>g;g++)if(c=this[g],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vb," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");c.className=fb.trim(d)}return this},removeClass:function(a){var b,c,d,e,f,g=0,h=this.length,i=0===arguments.length||"string"==typeof a&&a;if(fb.isFunction(a))return this.each(function(b){fb(this).removeClass(a.call(this,b,this.className))});if(i)for(b=(a||"").match(hb)||[];h>g;g++)if(c=this[g],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vb," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");c.className=a?fb.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(fb.isFunction(a)?function(c){fb(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var b,d=0,e=fb(this),f=a.match(hb)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===R||"boolean"===c)&&(this.className&&qb.set(this,"__className__",this.className),this.className=this.className||a===!1?"":qb.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vb," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];{if(arguments.length)return e=fb.isFunction(a),this.each(function(d){var f;1===this.nodeType&&(f=e?a.call(this,d,fb(this).val()):a,null==f?f="":"number"==typeof f?f+="":fb.isArray(f)&&(f=fb.map(f,function(a){return null==a?"":a+""})),c=fb.valHooks[this.type]||fb.valHooks[this.nodeName.toLowerCase()],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))});if(f)return c=fb.valHooks[f.type]||fb.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(wb,""):null==d?"":d)}}}),fb.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(fb.support.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&fb.nodeName(c.parentNode,"optgroup"))){if(b=fb(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=fb.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=fb.inArray(fb(d).val(),f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}},attr:function(a,c,d){var e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return typeof a.getAttribute===R?fb.prop(a,c,d):(1===g&&fb.isXMLDoc(a)||(c=c.toLowerCase(),e=fb.attrHooks[c]||(fb.expr.match.bool.test(c)?ub:tb)),d===b?e&&"get"in e&&null!==(f=e.get(a,c))?f:(f=fb.find.attr(a,c),null==f?b:f):null!==d?e&&"set"in e&&(f=e.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d):void fb.removeAttr(a,c))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(hb);if(f&&1===a.nodeType)for(;c=f[e++];)d=fb.propFix[c]||c,fb.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!fb.support.radioValue&&"radio"===b&&fb.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(a&&3!==h&&8!==h&&2!==h)return g=1!==h||!fb.isXMLDoc(a),g&&(c=fb.propFix[c]||c,f=fb.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&null!==(e=f.get(a,c))?e:a[c]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||xb.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),ub={set:function(a,b,c){return b===!1?fb.removeAttr(a,c):a.setAttribute(c,c),c}},fb.each(fb.expr.match.bool.source.match(/\w+/g),function(a,c){var d=fb.expr.attrHandle[c]||fb.find.attr;fb.expr.attrHandle[c]=function(a,c,e){var f=fb.expr.attrHandle[c],g=e?b:(fb.expr.attrHandle[c]=b)!=d(a,c,e)?c.toLowerCase():null;return fb.expr.attrHandle[c]=f,g}}),fb.support.optSelected||(fb.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),fb.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){fb.propFix[this.toLowerCase()]=this}),fb.each(["radio","checkbox"],function(){fb.valHooks[this]={set:function(a,b){return fb.isArray(b)?a.checked=fb.inArray(fb(a).val(),b)>=0:void 0}},fb.support.checkOn||(fb.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var yb=/^key/,zb=/^(?:mouse|contextmenu)|click/,Ab=/^(?:focusinfocus|focusoutblur)$/,Bb=/^([^.]*)(?:\.(.+)|)$/;fb.event={global:{},add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r=qb.get(a);if(r){for(d.handler&&(g=d,d=g.handler,f=g.selector),d.guid||(d.guid=fb.guid++),(j=r.events)||(j=r.events={}),(h=r.handle)||(h=r.handle=function(a){return typeof fb===R||a&&fb.event.triggered===a.type?b:fb.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=(c||"").match(hb)||[""],k=c.length;k--;)i=Bb.exec(c[k])||[],o=q=i[1],p=(i[2]||"").split(".").sort(),o&&(m=fb.event.special[o]||{},o=(f?m.delegateType:m.bindType)||o,m=fb.event.special[o]||{},l=fb.extend({type:o,origType:q,data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&fb.expr.match.needsContext.test(f),namespace:p.join(".")},g),(n=j[o])||(n=j[o]=[],n.delegateCount=0,m.setup&&m.setup.call(a,e,p,h)!==!1||a.addEventListener&&a.addEventListener(o,h,!1)),m.add&&(m.add.call(a,l),l.handler.guid||(l.handler.guid=d.guid)),f?n.splice(n.delegateCount++,0,l):n.push(l),fb.event.global[o]=!0);
+a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=qb.hasData(a)&&qb.get(a);if(q&&(i=q.events)){for(b=(b||"").match(hb)||[""],j=b.length;j--;)if(h=Bb.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=fb.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||fb.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)fb.event.remove(a,n+b[j],c,d,!0);fb.isEmptyObject(i)&&(delete q.handle,qb.remove(a,"events"))}},trigger:function(c,d,e,f){var g,h,i,j,k,l,m,n=[e||T],o=db.call(c,"type")?c.type:c,p=db.call(c,"namespace")?c.namespace.split("."):[];if(h=i=e=e||T,3!==e.nodeType&&8!==e.nodeType&&!Ab.test(o+fb.event.triggered)&&(o.indexOf(".")>=0&&(p=o.split("."),o=p.shift(),p.sort()),k=o.indexOf(":")<0&&"on"+o,c=c[fb.expando]?c:new fb.Event(o,"object"==typeof c&&c),c.isTrigger=f?2:3,c.namespace=p.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,c.result=b,c.target||(c.target=e),d=null==d?[c]:fb.makeArray(d,[c]),m=fb.event.special[o]||{},f||!m.trigger||m.trigger.apply(e,d)!==!1)){if(!f&&!m.noBubble&&!fb.isWindow(e)){for(j=m.delegateType||o,Ab.test(j+o)||(h=h.parentNode);h;h=h.parentNode)n.push(h),i=h;i===(e.ownerDocument||T)&&n.push(i.defaultView||i.parentWindow||a)}for(g=0;(h=n[g++])&&!c.isPropagationStopped();)c.type=g>1?j:m.bindType||o,l=(qb.get(h,"events")||{})[c.type]&&qb.get(h,"handle"),l&&l.apply(h,d),l=k&&h[k],l&&fb.acceptData(h)&&l.apply&&l.apply(h,d)===!1&&c.preventDefault();return c.type=o,f||c.isDefaultPrevented()||m._default&&m._default.apply(n.pop(),d)!==!1||!fb.acceptData(e)||k&&fb.isFunction(e[o])&&!fb.isWindow(e)&&(i=e[k],i&&(e[k]=null),fb.event.triggered=o,e[o](),fb.event.triggered=b,i&&(e[k]=i)),c.result}},dispatch:function(a){a=fb.event.fix(a);var c,d,e,f,g,h=[],i=ab.call(arguments),j=(qb.get(this,"events")||{})[a.type]||[],k=fb.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){for(h=fb.event.handlers.call(this,a,j),c=0;(f=h[c++])&&!a.isPropagationStopped();)for(a.currentTarget=f.elem,d=0;(g=f.handlers[d++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((fb.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),e!==b&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()));return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,c){var d,e,f,g,h=[],i=c.delegateCount,j=a.target;if(i&&j.nodeType&&(!a.button||"click"!==a.type))for(;j!==this;j=j.parentNode||this)if(j.disabled!==!0||"click"!==a.type){for(e=[],d=0;i>d;d++)g=c[d],f=g.selector+" ",e[f]===b&&(e[f]=g.needsContext?fb(f,this).index(j)>=0:fb.find(f,this,null,[j]).length),e[f]&&e.push(g);e.length&&h.push({elem:j,handlers:e})}return ib;b++)if(fb.contains(d[b],this))return!0}));for(b=0;e>b;b++)fb.find(a,d[b],c);return c=this.pushStack(e>1?fb.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},has:function(a){var b=fb(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(fb.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(k(this,a||[],!0))},filter:function(a){return this.pushStack(k(this,a||[],!1))},is:function(a){return!!k(this,"string"==typeof a&&Eb.test(a)?fb(a):a||[],!1).length},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Eb.test(a)||"string"!=typeof a?fb(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&fb.find.matchesSelector(c,a))){c=f.push(c);break}return this.pushStack(f.length>1?fb.unique(f):f)},index:function(a){return a?"string"==typeof a?bb.call(fb(a),this[0]):bb.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){var c="string"==typeof a?fb(a,b):fb.makeArray(a&&a.nodeType?[a]:a),d=fb.merge(this.get(),c);return this.pushStack(fb.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),fb.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return fb.dir(a,"parentNode")},parentsUntil:function(a,b,c){return fb.dir(a,"parentNode",c)},next:function(a){return j(a,"nextSibling")},prev:function(a){return j(a,"previousSibling")},nextAll:function(a){return fb.dir(a,"nextSibling")},prevAll:function(a){return fb.dir(a,"previousSibling")},nextUntil:function(a,b,c){return fb.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return fb.dir(a,"previousSibling",c)},siblings:function(a){return fb.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return fb.sibling(a.firstChild)},contents:function(a){return a.contentDocument||fb.merge([],a.childNodes)}},function(a,b){fb.fn[a]=function(c,d){var e=fb.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=fb.filter(d,e)),this.length>1&&(Fb[a]||fb.unique(e),Db.test(a)&&e.reverse()),this.pushStack(e)}}),fb.extend({filter:function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?fb.find.matchesSelector(d,a)?[d]:[]:fb.find.matches(a,fb.grep(b,function(a){return 1===a.nodeType}))},dir:function(a,c,d){for(var e=[],f=d!==b;(a=a[c])&&9!==a.nodeType;)if(1===a.nodeType){if(f&&fb(a).is(d))break;e.push(a)}return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Gb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Hb=/<([\w:]+)/,Ib=/<|?\w+;/,Jb=/<(?:script|style|link)/i,Kb=/^(?:checkbox|radio)$/i,Lb=/checked\s*(?:[^=]|=\s*.checked.)/i,Mb=/^$|\/(?:java|ecma)script/i,Nb=/^true\/(.*)/,Ob=/^\s*\s*$/g,Pb={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};Pb.optgroup=Pb.option,Pb.tbody=Pb.tfoot=Pb.colgroup=Pb.caption=Pb.thead,Pb.th=Pb.td,fb.fn.extend({text:function(a){return fb.access(this,function(a){return a===b?fb.text(this):this.empty().append((this[0]&&this[0].ownerDocument||T).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=l(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=l(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?fb.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||fb.cleanData(q(c)),c.parentNode&&(b&&fb.contains(c.ownerDocument,c)&&o(q(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(fb.cleanData(q(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return fb.clone(this,a,b)})},html:function(a){return fb.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b&&1===c.nodeType)return c.innerHTML;if("string"==typeof a&&!Jb.test(a)&&!Pb[(Hb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Gb,"<$1>$2>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&(fb.cleanData(q(c,!1)),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=fb.map(this,function(a){return[a.nextSibling,a.parentNode]}),b=0;return this.domManip(arguments,function(c){var d=a[b++],e=a[b++];e&&(d&&d.parentNode!==e&&(d=this.nextSibling),fb(this).remove(),e.insertBefore(c,d))},!0),b?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b,c){a=$.apply([],a);var d,e,f,g,h,i,j=0,k=this.length,l=this,o=k-1,p=a[0],r=fb.isFunction(p);if(r||!(1>=k||"string"!=typeof p||fb.support.checkClone)&&Lb.test(p))return this.each(function(d){var e=l.eq(d);r&&(a[0]=p.call(this,d,e.html())),e.domManip(a,b,c)});if(k&&(d=fb.buildFragment(a,this[0].ownerDocument,!1,!c&&this),e=d.firstChild,1===d.childNodes.length&&(d=e),e)){for(f=fb.map(q(d,"script"),m),g=f.length;k>j;j++)h=d,j!==o&&(h=fb.clone(h,!0,!0),g&&fb.merge(f,q(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,fb.map(f,n),j=0;g>j;j++)h=f[j],Mb.test(h.type||"")&&!qb.access(h,"globalEval")&&fb.contains(i,h)&&(h.src?fb._evalUrl(h.src):fb.globalEval(h.textContent.replace(Ob,"")))}return this}}),fb.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){fb.fn[a]=function(a){for(var c,d=[],e=fb(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),fb(e[g])[b](c),_.apply(d,c.get());return this.pushStack(d)}}),fb.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=fb.contains(a.ownerDocument,a);if(!(fb.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||fb.isXMLDoc(a)))for(g=q(h),f=q(a),d=0,e=f.length;e>d;d++)r(f[d],g[d]);if(b)if(c)for(f=f||q(a),g=g||q(h),d=0,e=f.length;e>d;d++)p(f[d],g[d]);else p(a,h);return g=q(h,"script"),g.length>0&&o(g,!i&&q(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=0,l=a.length,m=b.createDocumentFragment(),n=[];l>k;k++)if(e=a[k],e||0===e)if("object"===fb.type(e))fb.merge(n,e.nodeType?[e]:e);else if(Ib.test(e)){for(f=f||m.appendChild(b.createElement("div")),g=(Hb.exec(e)||["",""])[1].toLowerCase(),h=Pb[g]||Pb._default,f.innerHTML=h[1]+e.replace(Gb,"<$1>$2>")+h[2],j=h[0];j--;)f=f.lastChild;fb.merge(n,f.childNodes),f=m.firstChild,f.textContent=""}else n.push(b.createTextNode(e));for(m.textContent="",k=0;e=n[k++];)if((!d||-1===fb.inArray(e,d))&&(i=fb.contains(e.ownerDocument,e),f=q(m.appendChild(e),"script"),i&&o(f),c))for(j=0;e=f[j++];)Mb.test(e.type||"")&&c.push(e);return m},cleanData:function(a){for(var c,d,f,g,h,i,j=fb.event.special,k=0;(d=a[k])!==b;k++){if(e.accepts(d)&&(h=d[qb.expando],h&&(c=qb.cache[h]))){if(f=Object.keys(c.events||{}),f.length)for(i=0;(g=f[i])!==b;i++)j[g]?fb.event.remove(d,g):fb.removeEvent(d,g,c.handle);qb.cache[h]&&delete qb.cache[h]}delete pb.cache[d[pb.expando]]}},_evalUrl:function(a){return fb.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),fb.fn.extend({wrapAll:function(a){var b;return fb.isFunction(a)?this.each(function(b){fb(this).wrapAll(a.call(this,b))}):(this[0]&&(b=fb(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(fb.isFunction(a)?function(b){fb(this).wrapInner(a.call(this,b))}:function(){var b=fb(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=fb.isFunction(a);return this.each(function(c){fb(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){fb.nodeName(this,"body")||fb(this).replaceWith(this.childNodes)}).end()}});var Qb,Rb,Sb=/^(none|table(?!-c[ea]).+)/,Tb=/^margin/,Ub=new RegExp("^("+gb+")(.*)$","i"),Vb=new RegExp("^("+gb+")(?!px)[a-z%]+$","i"),Wb=new RegExp("^([+-])=("+gb+")","i"),Xb={BODY:"block"},Yb={position:"absolute",visibility:"hidden",display:"block"},Zb={letterSpacing:0,fontWeight:400},$b=["Top","Right","Bottom","Left"],_b=["Webkit","O","Moz","ms"];fb.fn.extend({css:function(a,c){return fb.access(this,function(a,c,d){var e,f,g={},h=0;if(fb.isArray(c)){for(e=u(a),f=c.length;f>h;h++)g[c[h]]=fb.css(a,c[h],!1,e);return g}return d!==b?fb.style(a,c,d):fb.css(a,c)},a,c,arguments.length>1)},show:function(){return v(this,!0)},hide:function(){return v(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){t(this)?fb(this).show():fb(this).hide()})}}),fb.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Qb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=fb.camelCase(c),j=a.style;return c=fb.cssProps[i]||(fb.cssProps[i]=s(j,i)),h=fb.cssHooks[c]||fb.cssHooks[i],d===b?h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c]:(g=typeof d,"string"===g&&(f=Wb.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(fb.css(a,c)),g="number"),null==d||"number"===g&&isNaN(d)||("number"!==g||fb.cssNumber[i]||(d+="px"),fb.support.clearCloneStyle||""!==d||0!==c.indexOf("background")||(j[c]="inherit"),h&&"set"in h&&(d=h.set(a,d,e))===b||(j[c]=d)),void 0)}},css:function(a,c,d,e){var f,g,h,i=fb.camelCase(c);return c=fb.cssProps[i]||(fb.cssProps[i]=s(a.style,i)),h=fb.cssHooks[c]||fb.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,d)),f===b&&(f=Qb(a,c,e)),"normal"===f&&c in Zb&&(f=Zb[c]),""===d||d?(g=parseFloat(f),d===!0||fb.isNumeric(g)?g||0:f):f}}),Qb=function(a,c,d){var e,f,g,h=d||u(a),i=h?h.getPropertyValue(c)||h[c]:b,j=a.style;return h&&(""!==i||fb.contains(a.ownerDocument,a)||(i=fb.style(a,c)),Vb.test(i)&&Tb.test(c)&&(e=j.width,f=j.minWidth,g=j.maxWidth,j.minWidth=j.maxWidth=j.width=i,i=h.width,j.width=e,j.minWidth=f,j.maxWidth=g)),i},fb.each(["height","width"],function(a,b){fb.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Sb.test(fb.css(a,"display"))?fb.swap(a,Yb,function(){return y(a,b,d)}):y(a,b,d):void 0},set:function(a,c,d){var e=d&&u(a);return w(a,c,d?x(a,b,d,fb.support.boxSizing&&"border-box"===fb.css(a,"boxSizing",!1,e),e):0)}}}),fb(function(){fb.support.reliableMarginRight||(fb.cssHooks.marginRight={get:function(a,b){return b?fb.swap(a,{display:"inline-block"},Qb,[a,"marginRight"]):void 0}}),!fb.support.pixelPosition&&fb.fn.position&&fb.each(["top","left"],function(a,b){fb.cssHooks[b]={get:function(a,c){return c?(c=Qb(a,b),Vb.test(c)?fb(a).position()[b]+"px":c):void 0}}})}),fb.expr&&fb.expr.filters&&(fb.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},fb.expr.filters.visible=function(a){return!fb.expr.filters.hidden(a)}),fb.each({margin:"",padding:"",border:"Width"},function(a,b){fb.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+$b[d]+b]=f[d]||f[d-2]||f[0];return e}},Tb.test(a)||(fb.cssHooks[a+b].set=w)});var ac=/%20/g,bc=/\[\]$/,cc=/\r?\n/g,dc=/^(?:submit|button|image|reset|file)$/i,ec=/^(?:input|select|textarea|keygen)/i;fb.fn.extend({serialize:function(){return fb.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=fb.prop(this,"elements");return a?fb.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!fb(this).is(":disabled")&&ec.test(this.nodeName)&&!dc.test(a)&&(this.checked||!Kb.test(a))}).map(function(a,b){var c=fb(this).val();return null==c?null:fb.isArray(c)?fb.map(c,function(a){return{name:b.name,value:a.replace(cc,"\r\n")}}):{name:b.name,value:c.replace(cc,"\r\n")}}).get()}}),fb.param=function(a,c){var d,e=[],f=function(a,b){b=fb.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(c===b&&(c=fb.ajaxSettings&&fb.ajaxSettings.traditional),fb.isArray(a)||a.jquery&&!fb.isPlainObject(a))fb.each(a,function(){f(this.name,this.value)});else for(d in a)B(d,a[d],c,f);return e.join("&").replace(ac,"+")},fb.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){fb.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),fb.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var fc,gc,hc=fb.now(),ic=/\?/,jc=/#.*$/,kc=/([?&])_=[^&]*/,lc=/^(.*?):[ \t]*([^\r\n]*)$/gm,mc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,nc=/^(?:GET|HEAD)$/,oc=/^\/\//,pc=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,qc=fb.fn.load,rc={},sc={},tc="*/".concat("*");try{gc=S.href}catch(uc){gc=T.createElement("a"),gc.href="",gc=gc.href}fc=pc.exec(gc.toLowerCase())||[],fb.fn.load=function(a,c,d){if("string"!=typeof a&&qc)return qc.apply(this,arguments);var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i),a=a.slice(0,i)),fb.isFunction(c)?(d=c,c=b):c&&"object"==typeof c&&(f="POST"),h.length>0&&fb.ajax({url:a,type:f,dataType:"html",data:c}).done(function(a){g=arguments,h.html(e?fb("").append(fb.parseHTML(a)).find(e):a)}).complete(d&&function(a,b){h.each(d,g||[a.responseText,b,a])}),this},fb.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){fb.fn[b]=function(a){return this.on(b,a)}}),fb.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:gc,type:"GET",isLocal:mc.test(fc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":tc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":fb.parseJSON,"text xml":fb.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?E(E(a,fb.ajaxSettings),b):E(fb.ajaxSettings,a)},ajaxPrefilter:C(rc),ajaxTransport:C(sc),ajax:function(a,c){function d(a,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),e=b,g=h||"",w.readyState=a>0?4:0,j=a>=200&&300>a||304===a,d&&(t=F(m,w,d)),t=G(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(fb.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(fb.etag[f]=v)),204===a||"HEAD"===m.type?x="nocontent":304===a?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--fb.active||fb.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=fb.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?fb(n):fb.event,p=fb.Deferred(),q=fb.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=lc.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||gc)+"").replace(jc,"").replace(oc,fc[1]+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=fb.trim(m.dataType||"*").toLowerCase().match(hb)||[""],null==m.crossDomain&&(j=pc.exec(m.url.toLowerCase()),m.crossDomain=!(!j||j[1]===fc[1]&&j[2]===fc[2]&&(j[3]||("http:"===j[1]?"80":"443"))===(fc[3]||("http:"===fc[1]?"80":"443")))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=fb.param(m.data,m.traditional)),D(rc,m,c,w),2===u)return w;k=m.global,k&&0===fb.active++&&fb.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!nc.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(ic.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=kc.test(f)?f.replace(kc,"$1_="+hc++):f+(ic.test(f)?"&":"?")+"_="+hc++)),m.ifModified&&(fb.lastModified[f]&&w.setRequestHeader("If-Modified-Since",fb.lastModified[f]),fb.etag[f]&&w.setRequestHeader("If-None-Match",fb.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+tc+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=D(sc,m,c,w)){w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(x){if(!(2>u))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return fb.get(a,b,c,"json")},getScript:function(a,c){return fb.get(a,b,c,"script")}}),fb.each(["get","post"],function(a,c){fb[c]=function(a,d,e,f){return fb.isFunction(d)&&(f=f||e,e=d,d=b),fb.ajax({url:a,type:c,dataType:f,data:d,success:e})}}),fb.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return fb.globalEval(a),a}}}),fb.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),fb.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=fb("
+
+
+
+
\ No newline at end of file
diff --git a/bower_components/jquery-placeholder/jquery.placeholder.js b/bower_components/jquery-placeholder/jquery.placeholder.js
new file mode 100644
index 0000000..9c231e8
--- /dev/null
+++ b/bower_components/jquery-placeholder/jquery.placeholder.js
@@ -0,0 +1,157 @@
+/*! http://mths.be/placeholder v2.0.7 by @mathias */
+;(function(window, document, $) {
+
+ var isInputSupported = 'placeholder' in document.createElement('input'),
+ isTextareaSupported = 'placeholder' in document.createElement('textarea'),
+ prototype = $.fn,
+ valHooks = $.valHooks,
+ hooks,
+ placeholder;
+
+ if (isInputSupported && isTextareaSupported) {
+
+ placeholder = prototype.placeholder = function() {
+ return this;
+ };
+
+ placeholder.input = placeholder.textarea = true;
+
+ } else {
+
+ placeholder = prototype.placeholder = function() {
+ var $this = this;
+ $this
+ .filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')
+ .not('.placeholder')
+ .bind({
+ 'focus.placeholder': clearPlaceholder,
+ 'blur.placeholder': setPlaceholder
+ })
+ .data('placeholder-enabled', true)
+ .trigger('blur.placeholder');
+ return $this;
+ };
+
+ placeholder.input = isInputSupported;
+ placeholder.textarea = isTextareaSupported;
+
+ hooks = {
+ 'get': function(element) {
+ var $element = $(element);
+ return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;
+ },
+ 'set': function(element, value) {
+ var $element = $(element);
+ if (!$element.data('placeholder-enabled')) {
+ return element.value = value;
+ }
+ if (value == '') {
+ element.value = value;
+ // Issue #56: Setting the placeholder causes problems if the element continues to have focus.
+ if (element != document.activeElement) {
+ // We can’t use `triggerHandler` here because of dummy text/password inputs :(
+ setPlaceholder.call(element);
+ }
+ } else if ($element.hasClass('placeholder')) {
+ clearPlaceholder.call(element, true, value) || (element.value = value);
+ } else {
+ element.value = value;
+ }
+ // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363
+ return $element;
+ }
+ };
+
+ isInputSupported || (valHooks.input = hooks);
+ isTextareaSupported || (valHooks.textarea = hooks);
+
+ $(function() {
+ // Look for forms
+ $(document).delegate('form', 'submit.placeholder', function() {
+ // Clear the placeholder values so they don’t get submitted
+ var $inputs = $('.placeholder', this).each(clearPlaceholder);
+ setTimeout(function() {
+ $inputs.each(setPlaceholder);
+ }, 10);
+ });
+ });
+
+ // Clear placeholder values upon page reload
+ $(window).bind('beforeunload.placeholder', function() {
+ $('.placeholder').each(function() {
+ this.value = '';
+ });
+ });
+
+ }
+
+ function args(elem) {
+ // Return an object of element attributes
+ var newAttrs = {},
+ rinlinejQuery = /^jQuery\d+$/;
+ $.each(elem.attributes, function(i, attr) {
+ if (attr.specified && !rinlinejQuery.test(attr.name)) {
+ newAttrs[attr.name] = attr.value;
+ }
+ });
+ return newAttrs;
+ }
+
+ function clearPlaceholder(event, value) {
+ var input = this,
+ $input = $(input);
+ if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {
+ if ($input.data('placeholder-password')) {
+ $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
+ // If `clearPlaceholder` was called from `$.valHooks.input.set`
+ if (event === true) {
+ return $input[0].value = value;
+ }
+ $input.focus();
+ } else {
+ input.value = '';
+ $input.removeClass('placeholder');
+ input == document.activeElement && input.select();
+ }
+ }
+ }
+
+ function setPlaceholder() {
+ var $replacement,
+ input = this,
+ $input = $(input),
+ $origInput = $input,
+ id = this.id;
+ if (input.value == '') {
+ if (input.type == 'password') {
+ if (!$input.data('placeholder-textinput')) {
+ try {
+ $replacement = $input.clone().attr({ 'type': 'text' });
+ } catch(e) {
+ $replacement = $('
').attr($.extend(args(this), { 'type': 'text' }));
+ }
+ $replacement
+ .removeAttr('name')
+ .data({
+ 'placeholder-password': true,
+ 'placeholder-id': id
+ })
+ .bind('focus.placeholder', clearPlaceholder);
+ $input
+ .data({
+ 'placeholder-textinput': $replacement,
+ 'placeholder-id': id
+ })
+ .before($replacement);
+ }
+ $input = $input.removeAttr('id').hide().prev().attr('id', id).show();
+ // Note: `$input[0] != input` now!
+ }
+ $input.addClass('placeholder');
+ $input[0].value = $input.attr('placeholder');
+ } else {
+ $input.removeClass('placeholder');
+ }
+ }
+
+}(this, document, jQuery));
\ No newline at end of file
diff --git a/bower_components/jquery-placeholder/jquery.placeholder.min.js b/bower_components/jquery-placeholder/jquery.placeholder.min.js
new file mode 100644
index 0000000..138ddd3
--- /dev/null
+++ b/bower_components/jquery-placeholder/jquery.placeholder.min.js
@@ -0,0 +1,2 @@
+/*! http://mths.be/placeholder v2.0.7 by @mathias */
+;(function(f,h,$){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=$.fn,c=$.valHooks,k,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){var l=this;l.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind({'focus.placeholder':b,'blur.placeholder':e}).data('placeholder-enabled',true).trigger('blur.placeholder');return l};j.input=a;j.textarea=d;k={get:function(m){var l=$(m);return l.data('placeholder-enabled')&&l.hasClass('placeholder')?'':m.value},set:function(m,n){var l=$(m);if(!l.data('placeholder-enabled')){return m.value=n}if(n==''){m.value=n;if(m!=h.activeElement){e.call(m)}}else{if(l.hasClass('placeholder')){b.call(m,true,n)||(m.value=n)}else{m.value=n}}return l}};a||(c.input=k);d||(c.textarea=k);$(function(){$(h).delegate('form','submit.placeholder',function(){var l=$('.placeholder',this).each(b);setTimeout(function(){l.each(e)},10)})});$(f).bind('beforeunload.placeholder',function(){$('.placeholder').each(function(){this.value=''})})}function g(m){var l={},n=/^jQuery\d+$/;$.each(m.attributes,function(p,o){if(o.specified&&!n.test(o.name)){l[o.name]=o.value}});return l}function b(m,n){var l=this,o=$(l);if(l.value==o.attr('placeholder')&&o.hasClass('placeholder')){if(o.data('placeholder-password')){o=o.hide().next().show().attr('id',o.removeAttr('id').data('placeholder-id'));if(m===true){return o[0].value=n}o.focus()}else{l.value='';o.removeClass('placeholder');l==h.activeElement&&l.select()}}}function e(){var q,l=this,p=$(l),m=p,o=this.id;if(l.value==''){if(l.type=='password'){if(!p.data('placeholder-textinput')){try{q=p.clone().attr({type:'text'})}catch(n){q=$('
').attr($.extend(g(this),{type:'text'}))}q.removeAttr('name').data({'placeholder-password':true,'placeholder-id':o}).bind('focus.placeholder',b);p.data({'placeholder-textinput':q,'placeholder-id':o}).before(q)}p=p.removeAttr('id').hide().prev().attr('id',o).show()}p.addClass('placeholder');p[0].value=p.attr('placeholder')}else{p.removeClass('placeholder')}}}(this,document,jQuery));
\ No newline at end of file
diff --git a/bower_components/jquery.cookie/jquery.cookie.js b/bower_components/jquery.cookie/jquery.cookie.js
new file mode 100644
index 0000000..9271900
--- /dev/null
+++ b/bower_components/jquery.cookie/jquery.cookie.js
@@ -0,0 +1,117 @@
+/*!
+ * jQuery Cookie Plugin v1.4.0
+ * https://github.com/carhartl/jquery-cookie
+ *
+ * Copyright 2013 Klaus Hartl
+ * Released under the MIT license
+ */
+(function (factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as anonymous module.
+ define(['jquery'], factory);
+ } else {
+ // Browser globals.
+ factory(jQuery);
+ }
+}(function ($) {
+
+ var pluses = /\+/g;
+
+ function encode(s) {
+ return config.raw ? s : encodeURIComponent(s);
+ }
+
+ function decode(s) {
+ return config.raw ? s : decodeURIComponent(s);
+ }
+
+ function stringifyCookieValue(value) {
+ return encode(config.json ? JSON.stringify(value) : String(value));
+ }
+
+ function parseCookieValue(s) {
+ if (s.indexOf('"') === 0) {
+ // This is a quoted cookie as according to RFC2068, unescape...
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
+ }
+
+ try {
+ // Replace server-side written pluses with spaces.
+ // If we can't decode the cookie, ignore it, it's unusable.
+ s = decodeURIComponent(s.replace(pluses, ' '));
+ } catch(e) {
+ return;
+ }
+
+ try {
+ // If we can't parse the cookie, ignore it, it's unusable.
+ return config.json ? JSON.parse(s) : s;
+ } catch(e) {}
+ }
+
+ function read(s, converter) {
+ var value = config.raw ? s : parseCookieValue(s);
+ return $.isFunction(converter) ? converter(value) : value;
+ }
+
+ var config = $.cookie = function (key, value, options) {
+
+ // Write
+ if (value !== undefined && !$.isFunction(value)) {
+ options = $.extend({}, config.defaults, options);
+
+ if (typeof options.expires === 'number') {
+ var days = options.expires, t = options.expires = new Date();
+ t.setDate(t.getDate() + days);
+ }
+
+ return (document.cookie = [
+ encode(key), '=', stringifyCookieValue(value),
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
+ options.path ? '; path=' + options.path : '',
+ options.domain ? '; domain=' + options.domain : '',
+ options.secure ? '; secure' : ''
+ ].join(''));
+ }
+
+ // Read
+
+ var result = key ? undefined : {};
+
+ // To prevent the for loop in the first place assign an empty array
+ // in case there are no cookies at all. Also prevents odd result when
+ // calling $.cookie().
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
+
+ for (var i = 0, l = cookies.length; i < l; i++) {
+ var parts = cookies[i].split('=');
+ var name = decode(parts.shift());
+ var cookie = parts.join('=');
+
+ if (key && key === name) {
+ // If second argument (value) is a function it's a converter...
+ result = read(cookie, value);
+ break;
+ }
+
+ // Prevent storing a cookie that we couldn't decode.
+ if (!key && (cookie = read(cookie)) !== undefined) {
+ result[name] = cookie;
+ }
+ }
+
+ return result;
+ };
+
+ config.defaults = {};
+
+ $.removeCookie = function (key, options) {
+ if ($.cookie(key) !== undefined) {
+ // Must not alter options, thus extending a fresh object...
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
+ return true;
+ }
+ return false;
+ };
+
+}));
diff --git a/bower_components/jquery/.gitignore b/bower_components/jquery/.gitignore
new file mode 100644
index 0000000..378eac2
--- /dev/null
+++ b/bower_components/jquery/.gitignore
@@ -0,0 +1 @@
+build
diff --git a/bower_components/jquery/README.md b/bower_components/jquery/README.md
new file mode 100644
index 0000000..414d422
--- /dev/null
+++ b/bower_components/jquery/README.md
@@ -0,0 +1,11 @@
+jQuery Component
+================
+
+Shim [repository](https://github.com/components/jquery) for the [jQuery](http://jquery.com).
+
+Package Managers
+----------------
+
+* [Bower](http://bower.io/): `jquery`
+* [Component](https://github.com/component/component): `components/jquery`
+* [Composer](http://packagist.org/packages/components/jquery): `components/jquery`
diff --git a/bower_components/jquery/bower.json b/bower_components/jquery/bower.json
new file mode 100644
index 0000000..e4d03ca
--- /dev/null
+++ b/bower_components/jquery/bower.json
@@ -0,0 +1,11 @@
+{
+ "name": "jquery",
+ "version": "2.1.0",
+ "description": "jQuery component",
+ "keywords": [
+ "jquery",
+ "component"
+ ],
+ "main": "jquery.js",
+ "license": "MIT"
+}
diff --git a/bower_components/jquery/component.json b/bower_components/jquery/component.json
new file mode 100644
index 0000000..c94ee1e
--- /dev/null
+++ b/bower_components/jquery/component.json
@@ -0,0 +1,15 @@
+{
+ "name": "jquery",
+ "repo": "components/jquery",
+ "version": "2.1.0",
+ "description": "jQuery component",
+ "keywords": [
+ "jquery",
+ "component"
+ ],
+ "main": "jquery.js",
+ "scripts": [
+ "jquery.js"
+ ],
+ "license": "MIT"
+}
diff --git a/bower_components/jquery/composer.json b/bower_components/jquery/composer.json
new file mode 100644
index 0000000..44dcbd2
--- /dev/null
+++ b/bower_components/jquery/composer.json
@@ -0,0 +1,36 @@
+{
+ "name": "components/jquery",
+ "description": "jQuery JavaScript Library",
+ "type": "component",
+ "homepage": "http://jquery.com",
+ "license": "MIT",
+ "support": {
+ "irc": "irc://irc.freenode.org/jquery",
+ "issues": "http://bugs.jquery.com",
+ "forum": "http://forum.jquery.com",
+ "wiki": "http://docs.jquery.com/",
+ "source": "https://github.com/jquery/jquery"
+ },
+ "authors": [
+ {
+ "name": "John Resig",
+ "email": "jeresig@gmail.com"
+ }
+ ],
+ "require": {
+ "robloach/component-installer": "*"
+ },
+ "extra": {
+ "component": {
+ "scripts": [
+ "jquery.js"
+ ],
+ "files": [
+ "jquery.min.js",
+ "jquery.min.map",
+ "jquery-migrate.js",
+ "jquery-migrate.min.js"
+ ]
+ }
+ }
+}
diff --git a/bower_components/jquery/jquery-migrate.js b/bower_components/jquery/jquery-migrate.js
new file mode 100644
index 0000000..25b6c81
--- /dev/null
+++ b/bower_components/jquery/jquery-migrate.js
@@ -0,0 +1,521 @@
+/*!
+ * jQuery Migrate - v1.2.1 - 2013-05-08
+ * https://github.com/jquery/jquery-migrate
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
+ */
+(function( jQuery, window, undefined ) {
+// See http://bugs.jquery.com/ticket/13335
+// "use strict";
+
+
+var warnedAbout = {};
+
+// List of warnings already given; public read only
+jQuery.migrateWarnings = [];
+
+// Set to true to prevent console output; migrateWarnings still maintained
+// jQuery.migrateMute = false;
+
+// Show a message on the console so devs know we're active
+if ( !jQuery.migrateMute && window.console && window.console.log ) {
+ window.console.log("JQMIGRATE: Logging is active");
+}
+
+// Set to false to disable traces that appear with warnings
+if ( jQuery.migrateTrace === undefined ) {
+ jQuery.migrateTrace = true;
+}
+
+// Forget any warnings we've already given; public
+jQuery.migrateReset = function() {
+ warnedAbout = {};
+ jQuery.migrateWarnings.length = 0;
+};
+
+function migrateWarn( msg) {
+ var console = window.console;
+ if ( !warnedAbout[ msg ] ) {
+ warnedAbout[ msg ] = true;
+ jQuery.migrateWarnings.push( msg );
+ if ( console && console.warn && !jQuery.migrateMute ) {
+ console.warn( "JQMIGRATE: " + msg );
+ if ( jQuery.migrateTrace && console.trace ) {
+ console.trace();
+ }
+ }
+ }
+}
+
+function migrateWarnProp( obj, prop, value, msg ) {
+ if ( Object.defineProperty ) {
+ // On ES5 browsers (non-oldIE), warn if the code tries to get prop;
+ // allow property to be overwritten in case some other plugin wants it
+ try {
+ Object.defineProperty( obj, prop, {
+ configurable: true,
+ enumerable: true,
+ get: function() {
+ migrateWarn( msg );
+ return value;
+ },
+ set: function( newValue ) {
+ migrateWarn( msg );
+ value = newValue;
+ }
+ });
+ return;
+ } catch( err ) {
+ // IE8 is a dope about Object.defineProperty, can't warn there
+ }
+ }
+
+ // Non-ES5 (or broken) browser; just set the property
+ jQuery._definePropertyBroken = true;
+ obj[ prop ] = value;
+}
+
+if ( document.compatMode === "BackCompat" ) {
+ // jQuery has never supported or tested Quirks Mode
+ migrateWarn( "jQuery is not compatible with Quirks Mode" );
+}
+
+
+var attrFn = jQuery( "
", { size: 1 } ).attr("size") && jQuery.attrFn,
+ oldAttr = jQuery.attr,
+ valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
+ function() { return null; },
+ valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
+ function() { return undefined; },
+ rnoType = /^(?:input|button)$/i,
+ rnoAttrNodeType = /^[238]$/,
+ rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
+ ruseDefault = /^(?:checked|selected)$/i;
+
+// jQuery.attrFn
+migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
+
+jQuery.attr = function( elem, name, value, pass ) {
+ var lowerName = name.toLowerCase(),
+ nType = elem && elem.nodeType;
+
+ if ( pass ) {
+ // Since pass is used internally, we only warn for new jQuery
+ // versions where there isn't a pass arg in the formal params
+ if ( oldAttr.length < 4 ) {
+ migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
+ }
+ if ( elem && !rnoAttrNodeType.test( nType ) &&
+ (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
+ return jQuery( elem )[ name ]( value );
+ }
+ }
+
+ // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
+ // for disconnected elements we don't warn on $( "