From 8f2bbd0a70353f0d7f7e6258059965ba484f254e Mon Sep 17 00:00:00 2001 From: Lee Eakes Date: Mon, 2 Mar 2015 09:07:34 -0500 Subject: [PATCH] homework commit --- .DS_Store | Bin 0 -> 8196 bytes Procfile | 1 + manage.py | 84 + migrations/README | 1 + migrations/__pycache__/env.cpython-34.pyc | Bin 0 -> 1797 bytes migrations/alembic.ini | 45 + migrations/env.py | 73 + migrations/script.py.mako | 22 + migrations/versions/4f8a762829b_.py | 53 + .../__pycache__/4f8a762829b_.cpython-34.pyc | Bin 0 -> 1548 bytes requirements.txt | 43 + runtime.txt | 1 + stat_tracker/.DS_Store | Bin 0 -> 8196 bytes stat_tracker/__init__.py | 42 + .../__pycache__/__init__.cpython-34.pyc | Bin 0 -> 1142 bytes .../__pycache__/extensions.cpython-34.pyc | Bin 0 -> 566 bytes stat_tracker/__pycache__/forms.cpython-34.pyc | Bin 0 -> 1759 bytes .../__pycache__/models.cpython-34.pyc | Bin 0 -> 3435 bytes stat_tracker/extensions.py | 18 + stat_tracker/forms.py | 29 + stat_tracker/models.py | 72 + stat_tracker/static/.DS_Store | Bin 0 -> 6148 bytes stat_tracker/static/.gitkeep | 0 stat_tracker/static/fastclick.js | 8 + stat_tracker/static/foundation.css | 6201 +++++++++++++++++ stat_tracker/static/foundation.min.js | 6081 ++++++++++++++++ stat_tracker/static/graph.png | Bin 0 -> 155534 bytes stat_tracker/static/jquery-1.11.2.min.js | 4 + stat_tracker/static/main.css | 8 + stat_tracker/static/main.js | 27 + stat_tracker/static/modernizr.js | 8 + stat_tracker/static/normalize.css | 427 ++ stat_tracker/templates/.DS_Store | Bin 0 -> 6148 bytes stat_tracker/templates/activity_data.html | 9 + stat_tracker/templates/activity_form.html | 15 + stat_tracker/templates/forms.html | 21 + stat_tracker/templates/foundationnavbar.html | 39 + stat_tracker/templates/index.html | 60 + stat_tracker/templates/layout.html | 48 + stat_tracker/templates/login.html | 14 + stat_tracker/templates/new_activity.html | 14 + stat_tracker/templates/new_stat.html | 14 + stat_tracker/templates/register.html | 20 + stat_tracker/templates/welcome.html | 10 + stat_tracker/views/__init__.py | 0 .../views/__pycache__/__init__.cpython-34.pyc | Bin 0 -> 155 bytes .../__pycache__/activities.cpython-34.pyc | Bin 0 -> 3821 bytes .../views/__pycache__/api.cpython-34.pyc | Bin 0 -> 2961 bytes .../views/__pycache__/books.cpython-34.pyc | Bin 0 -> 4183 bytes .../views/__pycache__/users.cpython-34.pyc | Bin 0 -> 2011 bytes stat_tracker/views/activities.py | 107 + stat_tracker/views/api.py | 80 + stat_tracker/views/users.py | 51 + tests/__init__.py | 5 + tests/conftest.py | 85 + tests/test_book_views.py | 40 + tests/test_user.py | 15 + tests/test_user_views.py | 27 + 58 files changed, 13922 insertions(+) create mode 100644 .DS_Store create mode 100644 Procfile create mode 100755 manage.py create mode 100755 migrations/README create mode 100644 migrations/__pycache__/env.cpython-34.pyc create mode 100644 migrations/alembic.ini create mode 100644 migrations/env.py create mode 100755 migrations/script.py.mako create mode 100644 migrations/versions/4f8a762829b_.py create mode 100644 migrations/versions/__pycache__/4f8a762829b_.cpython-34.pyc create mode 100644 requirements.txt create mode 100644 runtime.txt create mode 100644 stat_tracker/.DS_Store create mode 100644 stat_tracker/__init__.py create mode 100644 stat_tracker/__pycache__/__init__.cpython-34.pyc create mode 100644 stat_tracker/__pycache__/extensions.cpython-34.pyc create mode 100644 stat_tracker/__pycache__/forms.cpython-34.pyc create mode 100644 stat_tracker/__pycache__/models.cpython-34.pyc create mode 100644 stat_tracker/extensions.py create mode 100644 stat_tracker/forms.py create mode 100644 stat_tracker/models.py create mode 100644 stat_tracker/static/.DS_Store create mode 100644 stat_tracker/static/.gitkeep create mode 100644 stat_tracker/static/fastclick.js create mode 100644 stat_tracker/static/foundation.css create mode 100644 stat_tracker/static/foundation.min.js create mode 100644 stat_tracker/static/graph.png create mode 100644 stat_tracker/static/jquery-1.11.2.min.js create mode 100644 stat_tracker/static/main.css create mode 100644 stat_tracker/static/main.js create mode 100644 stat_tracker/static/modernizr.js create mode 100644 stat_tracker/static/normalize.css create mode 100644 stat_tracker/templates/.DS_Store create mode 100644 stat_tracker/templates/activity_data.html create mode 100644 stat_tracker/templates/activity_form.html create mode 100644 stat_tracker/templates/forms.html create mode 100644 stat_tracker/templates/foundationnavbar.html create mode 100644 stat_tracker/templates/index.html create mode 100644 stat_tracker/templates/layout.html create mode 100644 stat_tracker/templates/login.html create mode 100644 stat_tracker/templates/new_activity.html create mode 100644 stat_tracker/templates/new_stat.html create mode 100644 stat_tracker/templates/register.html create mode 100644 stat_tracker/templates/welcome.html create mode 100644 stat_tracker/views/__init__.py create mode 100644 stat_tracker/views/__pycache__/__init__.cpython-34.pyc create mode 100644 stat_tracker/views/__pycache__/activities.cpython-34.pyc create mode 100644 stat_tracker/views/__pycache__/api.cpython-34.pyc create mode 100644 stat_tracker/views/__pycache__/books.cpython-34.pyc create mode 100644 stat_tracker/views/__pycache__/users.cpython-34.pyc create mode 100644 stat_tracker/views/activities.py create mode 100644 stat_tracker/views/api.py create mode 100644 stat_tracker/views/users.py create mode 100644 tests/__init__.py create mode 100644 tests/conftest.py create mode 100644 tests/test_book_views.py create mode 100644 tests/test_user.py create mode 100644 tests/test_user_views.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..87a0e2d4731b15f3587fd158b45ca089380c179d GIT binary patch literal 8196 zcmeHM&u<$=6n-yFVVxAZZPF4bR13a<8dagB3YV&`n*srqm^eyfnqqd>6KB-*j@cc@ z36a4^gev|3j{H9G2XI6}<$r(+cZ38I5)vnPGqX=y=05bsKP*vzoQgcjElA@Kp~z~C}8VRtDy;%z&u0#*U5fK|XMU={d3 zC_sC*D$bC7-;CPUDqs~DNd?sN!K13MkYU%LesoZyj{t<@)U6BIbPmuQFT+BHU4xoR zG0o`#Gb(0B3^a5a_mn$fA;YdgLkBc;z$`OnClu7#iRWo|z=A>BS_P~EM-@bB z9+3aEW&NV%apNpi18*duJtioiqGIZXio!Q&F z^78zwcjfAQXV%+WSeTpj=3iRqblmS9=fVqDZ``glJ0E}c`4?Y)_4PMDJS6FbJ zDf526{gJGp0`YJ=69|9p3G|EW_DOW=vByulXU0-(7rm-G75L%( zdZH$GQ$!*uMlH6^LlKwx`)pmZ9jT0}d-jmu3ah>7Q;J>j+G z&CQg_^{RV14HFSXC6RK;MO^6{t!$)p_m(7UEXA9GGAd!0o60R+V@XPQguh<#lf;kf zthjqG@>v$3-EfXedt=jV6-aBAuz+^g|xk^Vk0{vgQkwp7DHU^oCqG@G?UH`NCRP z+xcFPu-_x}-8#!lHPFggn0_+ojnNb~LOy@#i+&e|T;cd4qP t{JI7;g&KVvC)CGr!u>xC$@a)qaS9oB4N?!4|NMslyZ>w5Z8O>m{0l08X`}!E literal 0 HcmV?d00001 diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..b3c7363 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: gunicorn manager:app --log-file=- diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..46a6cf9 --- /dev/null +++ b/manage.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python +import csv +import os +import random +from datetime import datetime + +from flask.ext.script import Manager, Server +from flask.ext.migrate import MigrateCommand +from flask.ext.script.commands import ShowUrls, Clean + +from stat_tracker import create_app, db, models + + +HERE = os.path.abspath(os.path.dirname(__file__)) +TEST_PATH = os.path.join(HERE, 'tests') + +app = create_app() +manager = Manager(app) +manager.add_command('server', Server()) +manager.add_command('db', MigrateCommand) +manager.add_command('show-urls', ShowUrls()) +manager.add_command('clean', Clean()) + + +@manager.shell +def make_shell_context(): + """ Creates a python REPL with several default imports + in the context of the app + """ + + return dict(app=app, db=db, Book=models.Book, User=models.User) + + +@manager.command +def test(): + """Run the tests.""" + import pytest + + exit_code = pytest.main([TEST_PATH, '--verbose']) + return exit_code + + +# @manager.command +# def seed_books(): +# """Seed the books with all books in seed_books.csv.""" +# books_added = 0 +# books_updated = 0 +# with open('seed_books.csv') as csvfile: +# reader = csv.DictReader(csvfile) +# for row in reader: +# book = models.Book.query.filter_by(url=row['url']).first() +# if book is None: +# book = models.Book() +# books_added += 1 +# else: +# books_updated += 1 +# for key, value in row.items(): +# setattr(book, key, value) +# db.session.add(book) +# db.session.commit() +# print("{} books added, {} books updated.".format(books_added, books_updated)) +# +# +# @manager.command +# def seed_clicks(): +# """Add a bunch of click data.""" +# max_time = int(datetime.now().timestamp()) +# min_time = max_time - (30 * 24 * 60 * 60) +# center = min_time + (max_time - min_time) / 2 +# stdev = 5 * 24 * 60 * 60 +# +# books = models.Book.query.all() +# for book in books: +# median_date = random.gauss(center, stdev) +# for _ in range(random.randint(100, 500)): +# click = models.Click( +# book=book, +# clicked_at=datetime.fromtimestamp(random.gauss(median_date, stdev))) +# db.session.add(click) +# db.session.commit() + + +if __name__ == '__main__': + manager.run() diff --git a/migrations/README b/migrations/README new file mode 100755 index 0000000..98e4f9c --- /dev/null +++ b/migrations/README @@ -0,0 +1 @@ +Generic single-database configuration. \ No newline at end of file diff --git a/migrations/__pycache__/env.cpython-34.pyc b/migrations/__pycache__/env.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..885f29a52c244c293e261832d07fa189bbea26fc GIT binary patch literal 1797 zcmZuxOK;mo5S}F^QE$oeqv;FSoLm8|`Ui?4w&S7(TqAx2Np&G;awU-=m+J1)FC-`T z(o=s&|4DoAiPxTb>7}=xIi>Nvn*e{ngRh4BC%E+Q zNFw|(NC7eiQwEH92T}(z7p88-yO7o(tHZPoSp%kxN?L=|gRBYDCNSYb(t>FVL=!{{ zk~Z9~eAOZCK-Pt67p+j!gQx+bOXf)*B99Dj9n_&{08tY@OoouG!E^*s3!*ms2rylT zr~^^g?l*vfZNe>p`VGW7ZJ6{xY}j4YgVS;UPs|L)tn6RLX5niS7?BBSP~wHTG~&vP zopL1PJeIc^b;foAYoL0EW#UP z9Y|a%|7*Zp7$d$$S^Yc!%hYX(FCrI?Um`gj*Me`*=}94Z6)VoA=CS14`D~VAZreP| zBQa^WIeur0So12+LJ7^yLJ&*U;8Z7`6x#5BKR-FN_JNGJ%uyowzOB^fcqA|8i+c%2 zk3krUr3ubcVNWfD5mVUmZyDJx4Shn6)v|KwE2q@pE zKEHKe%v2i>{Q_!;fB&rAYrYinVzRt0x86PAuNwI=nrp%ibO&tc^q3mq zJ|qEs4z50~JzN^mL&!1=630@P@P#NtWFcxy4H5(ra}aT8nluPhZx|R4k|snoc#W2I zFfEij?B=mm;DcVl5Uo1Iuow7{k6#kS14-A)ULtoo_HKUqKS;{=5P2Z6BM2cK3K^(4 zN6=L5r`8feu=RJ~dke`x>pYCDj`}Z!t#pOp2asNMwQMYvn8jB&od?ghY|%3hQ*>3f z?|qa56DZqcVS*?y!O^&pET5!hg?o zS&wZv>QmGmjkn6S@6QT@FW&bR;iU9}RAlFISmC#QUzaLZ%3|72^EqO9KB>}F4HQ;Y z7_Jhh0qM&i6J>pdg?yzv@;%V+zLCN$Rty-@!WS_8guRH2K>aw=;FV0Ec5&!@I literal 0 HcmV?d00001 diff --git a/migrations/alembic.ini b/migrations/alembic.ini new file mode 100644 index 0000000..f8ed480 --- /dev/null +++ b/migrations/alembic.ini @@ -0,0 +1,45 @@ +# A generic, single database configuration. + +[alembic] +# template used to generate migration files +# file_template = %%(rev)s_%%(slug)s + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/migrations/env.py b/migrations/env.py new file mode 100644 index 0000000..70961ce --- /dev/null +++ b/migrations/env.py @@ -0,0 +1,73 @@ +from __future__ import with_statement +from alembic import context +from sqlalchemy import engine_from_config, pool +from logging.config import fileConfig + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +from flask import current_app +config.set_main_option('sqlalchemy.url', current_app.config.get('SQLALCHEMY_DATABASE_URI')) +target_metadata = current_app.extensions['migrate'].db.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure(url=url) + + with context.begin_transaction(): + context.run_migrations() + +def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + engine = engine_from_config( + config.get_section(config.config_ini_section), + prefix='sqlalchemy.', + poolclass=pool.NullPool) + + connection = engine.connect() + context.configure( + connection=connection, + target_metadata=target_metadata + ) + + try: + with context.begin_transaction(): + context.run_migrations() + finally: + connection.close() + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() + diff --git a/migrations/script.py.mako b/migrations/script.py.mako new file mode 100755 index 0000000..9570201 --- /dev/null +++ b/migrations/script.py.mako @@ -0,0 +1,22 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision} +Create Date: ${create_date} + +""" + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} + +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/migrations/versions/4f8a762829b_.py b/migrations/versions/4f8a762829b_.py new file mode 100644 index 0000000..1ac7d6c --- /dev/null +++ b/migrations/versions/4f8a762829b_.py @@ -0,0 +1,53 @@ +"""empty message + +Revision ID: 4f8a762829b +Revises: None +Create Date: 2015-03-01 13:51:59.075898 + +""" + +# revision identifiers, used by Alembic. +revision = '4f8a762829b' +down_revision = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('name', sa.String(length=255), nullable=False), + sa.Column('email', sa.String(length=255), nullable=False), + sa.Column('encrypted_password', sa.String(length=60), nullable=True), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('email') + ) + op.create_table('activity', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('activity_name', sa.String(length=255), nullable=False), + sa.Column('measurement', sa.String(length=255), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('stat', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('value', sa.Integer(), nullable=True), + sa.Column('recorded_at', sa.DateTime(), nullable=True), + sa.Column('user_id', sa.Integer(), nullable=True), + sa.Column('activity_id', sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(['activity_id'], ['activity.id'], ), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id') + ) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table('stat') + op.drop_table('activity') + op.drop_table('user') + ### end Alembic commands ### diff --git a/migrations/versions/__pycache__/4f8a762829b_.cpython-34.pyc b/migrations/versions/__pycache__/4f8a762829b_.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0af35f0d274ad29442169abfc5f2b9c99be73fb3 GIT binary patch literal 1548 zcma)6OHbQC5MDcu<2XqP6xsu73CE}+2~Y||sHy})qE%5<=p`3x+Oxz_QrOjwYjmiy=B{-(o~VdYlKhgn$)Ado2copgvu`7;wdtX2{}b(8i{ps zs+c5-K}JYg5gqB;#FbYuiXn0vjhSO)7GOOTP@D>|(+Z`u0*+57qcIXSJJd%7qD>%{ z{{v!Ws==)gA3YQ>qXIJi89020Go*);swQ%ztFRRD6v|oUxPOpycl5xl$I4Yq$Dg%F z*ImfaHGfAz1U;`nFHC{HpGgs4E5VQT$)Pj`0=U#YCarMb`?TxBzBED_fHZvwd-2Kj zAN-7D9s=t5at=b55Bo7Nr%#2rj5xdALI1I|s2h71UObeQRC83BQUFv8I0O*JvXHcM zJa(m&2DUXsOk3suCi9mtVL~MVlARSxfbx^OPF!v2uNn6j(``aWJdt* zTe@s&5mO_VY~}c~Fb;VYQ+PQMITUq$JaC)ws6QU}zd4Mx=NKl7EV>L8i58jy&s-!? z(JC5WMy+0y1;=5L>p0TllT%Svk{l;93)F|8>$#JL;@qdcdji3bFJK8pQWd+kzqJ!Y XY~aJ|0>+92zL_&MQ?F{}TzTm)0KHtJ literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..5f53982 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,43 @@ +# Everything needed in production + +## Flask +Flask==0.10.1 +MarkupSafe==0.23 +Werkzeug==0.10.1 +Jinja2==2.7.3 +itsdangerous==0.24 + +## Database +Flask-SQLAlchemy==2.0 +SQLAlchemy==0.9.8 + +## Migrations +Flask-Migrate==1.3.0 + +## Forms +Flask-WTF==0.11 +WTForms==2.0.2 + +## Login and users +Flask-Login==0.2.11 +Flask-Bcrypt==0.6.2 + +## Management script +Flask-Script==2.0.5 + +## Config +flask-appconfig==0.9.1 + +## Heroku +gunicorn==19.2.1 +psycopg2==2.6 + +# Everything the developer needs in addition to the production requirements + +Flask-DebugToolbar==0.9.1 + +matplotlib + +## Testing +pytest>=2.6.4 +webtest \ No newline at end of file diff --git a/runtime.txt b/runtime.txt new file mode 100644 index 0000000..bc42bd0 --- /dev/null +++ b/runtime.txt @@ -0,0 +1 @@ +python-3.4.2 diff --git a/stat_tracker/.DS_Store b/stat_tracker/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1a53efcb8064016a990af162ff4d40be58b622a2 GIT binary patch literal 8196 zcmeHM&2JM&6n`%X)aIisNq_*Yy5I{aJ~$*%IMKy`P*l-aag@YLsM)nA&WO#9*zQ!ka^)V|qS8{;H!;UkC{Yv%X-K4vmM@7vk80RYU_ z$|C?n0FaR zJbd)aQ$+*Dw-OlWqUBjPC%jaT-)Z3U7AJohMh7eV_J4W6IM_chcbR$<*H!FwM$8yi(1qR>^1Z zl_Hw-vd@^eQ1N+rYH2B8;k;a-2lAskOsZ&+y7R)j~ zAlwu`U$A}O_9`s9deyZZ=1zH85r$%Ap3^SmUmh)xui7QU(`K7H%7}%C)JbQ)FOao?x9dD_5dRkY(iFn=^@Fx;p%Zz&7_gvvsNH1fO zlrIccpbBo3I}C!$)45D72z|2l!S^7*BabaTJKmDLY+X@1Kg)(F%g&Ca%`@X;Z%?yd zWg1c2HqCw`;}#_9WP88Kc4b5UDmyUQwzw9$Qf?R2>4;*`fZ&r&ppg+en?^^^zM}-{ zprnhe=vRK@(5tLNvi`rc{rmqn&Y_K(0nNat%>edY%wNpX9$Jq=-P@71wn_aOb=jm} yQ(+WBLsX6vM&&qR`yYlRo8&5EtQeaLNki>}zXpa%)|aB%3vZreX)c$7=Pz70O6Pv`5xJX7Uot8D z`8gL8+8$3&z0pv?*c*(z$-!J5S3T-vHJk&S`Bwy4mj0H&XMj%tX9UhPkUF4;C|(0; ztP^vc)Rjyq&MhHC;!aD2P&;K~o!IvTy|)@JHrE$hYXn7>EntocGwv8CMQc5=!d{7p zWr8oltDCxu)o?GK-!#i&b<3)DHiYUc(LgAg3z5bwot>c~g~eFn$DFZZTkvI=OD@sinYCJFPGYCG)dP7|LfVs4K7#s9gzo5%SAQlZs{uhBn(xr~)RWZmq#u;+qfyQsfE!kGC(1RyQaCJv4r4NfW$x4|?JmEP-AlO;c<-RFk?|xC(#l;*!V4Ns>JecS=F*I zv|V}r_F`Eo+PHUTVOcf0KYoAQJ02W*?>?|$Z_?}c#vYrFjtXPw^`~zNyXr;u*84yo zmo7Hxv!j!VHyU`S6E^aOMx7+W#cLU%9{w)*rDTaE*6ao;;281SX1B4001cRCI zf}o~B4R{@d1;j#NX<%zm2kwAyfw%}<4H_C)z?&diKw1b|8niXAfp)>XFm(T3HMwH^W)JS7A}s zk+p(3J4gD}ftju@>jk$L!|>JUxSKsPCEeNAcJKz7mU^mFOm zD<+l48Dn(Glo!b)-cT8OPi*F?jAlofq`{I&ZTvrjPuvZ3lx}kOxSZ+<{s&M4Ot#TC L8YYId+fn}lgPEC< literal 0 HcmV?d00001 diff --git a/stat_tracker/__pycache__/forms.cpython-34.pyc b/stat_tracker/__pycache__/forms.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2c515638f0653d1a5f299f89ac8e51ca6dbe7d3e GIT binary patch literal 1759 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 literal 0 HcmV?d00001 diff --git a/stat_tracker/extensions.py b/stat_tracker/extensions.py new file mode 100644 index 0000000..3fbc225 --- /dev/null +++ b/stat_tracker/extensions.py @@ -0,0 +1,18 @@ +"""Extensions module.""" +from flask.ext.sqlalchemy import SQLAlchemy +db = SQLAlchemy() + +from flask.ext.migrate import Migrate +migrate = Migrate() + +# from flask.ext.debugtoolbar import DebugToolbarExtension +# debug_toolbar = DebugToolbarExtension() + +from flask.ext.bcrypt import Bcrypt +bcrypt = Bcrypt() + +from flask.ext.login import LoginManager +login_manager = LoginManager() + +from flask.ext.appconfig import HerokuConfig +config = HerokuConfig() diff --git a/stat_tracker/forms.py b/stat_tracker/forms.py new file mode 100644 index 0000000..aeb4ab2 --- /dev/null +++ b/stat_tracker/forms.py @@ -0,0 +1,29 @@ +from flask_wtf import Form +from wtforms import StringField, PasswordField, TextAreaField +from wtforms.fields.html5 import EmailField, DateField, DecimalField +from wtforms.validators import DataRequired, Email, EqualTo + + +class LoginForm(Form): + email = StringField('Email', validators=[DataRequired(), Email()]) + password = PasswordField('Password', validators=[DataRequired()]) + + +class RegistrationForm(Form): + name = StringField('Name', validators=[DataRequired()]) + email = EmailField('Email', validators=[DataRequired(), Email()]) + password = PasswordField( + 'Password', + validators=[DataRequired(), + EqualTo('password_verification', + message="Passwords must match")]) + password_verification = PasswordField('Repeat password') + + +class ActivityForm(Form): + activity_name = StringField('Activity', validators=[DataRequired()]) + measurement = StringField('Your Unit of Measure', validators=[DataRequired()]) + +class StatForm(Form): + value = DecimalField("Enter Your Value", places=2, validators=[DataRequired()]) + recorded_at = DateField("What Day Was It", validators=[DataRequired()]) diff --git a/stat_tracker/models.py b/stat_tracker/models.py new file mode 100644 index 0000000..e390103 --- /dev/null +++ b/stat_tracker/models.py @@ -0,0 +1,72 @@ +from flask.ext.login import UserMixin + +from . import db, bcrypt, login_manager +from sqlalchemy import func, and_ +from datetime import date, timedelta, datetime + + +@login_manager.user_loader +def load_user(id): + return User.query.get(id) + + +class User(db.Model, UserMixin): + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + name = db.Column(db.String(255), nullable=False) + email = db.Column(db.String(255), unique=True, nullable=False) + encrypted_password = db.Column(db.String(60)) + activity = db.relationship('Activity', backref='user', lazy='dynamic') + stat = db.relationship('Stat', backref='user', lazy='dynamic') + + + def get_password(self): + return getattr(self, "_password", None) + + def set_password(self, password): + self._password = password + self.encrypted_password = bcrypt.generate_password_hash(password) + + password = property(get_password, set_password) + + def check_password(self, password): + return bcrypt.check_password_hash(self.encrypted_password, password) + + def __repr__(self): + return "".format(self.email) + + +class Activity(db.Model): + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + activity_name = db.Column(db.String(255), nullable=False) + measurement = db.Column(db.String(255), unique=False, nullable=False) + user_id = db.Column(db.Integer, db.ForeignKey('user.id')) + stat = db.relationship('Stat', backref='activity', + lazy='dynamic') + + def stat_by_day(self, days=30): + days = timedelta(days=days) + date_from = date.today() - days + + stat_date = func.date_trunc('day', Stat.recorded_at) + return db.session.query(stat_date, func.count(Stat.id)). \ + group_by(stat_date). \ + filter(and_(Stat.activity_id == self.id, + stat_date >= str(date_from))). \ + order_by(stat_date).all() + + + def to_dict(self): + return {"id": self.id, + "activity_name": self.activity_name, + "measurement": self.measurment} + + def __repr__(self): + return "".format(self.activity_name) + + +class Stat(db.Model): + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + value = db.Column(db.Integer) + recorded_at = db.Column(db.DateTime) + user_id = db.Column(db.Integer, db.ForeignKey('user.id')) + activity_id = db.Column(db.Integer, db.ForeignKey('activity.id')) diff --git a/stat_tracker/static/.DS_Store b/stat_tracker/static/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1f0865f5abcc6725a5737cab43cdf90b36c2d6d9 GIT binary patch literal 6148 zcmeHK%TB{E5S%TQXrZ7Yao`wnr&75iMO8U);ldBl2k+7p+8*cuCA_1pb4PHqFCKvwZinhmV#A6Pn{?(#sDMSV1PTc3f|UX z3YY@FO#xlI4P2s!DP~-`-|P1l)00s$=#P>o=Xy>hw~p^hs&GVcV}^q-J*l^?G>b6eWajCYq&A2{9%@}6*j zHhFDVAF@@N8E?#dl!;TLZ!e6qY_6{v|MiUj>Um|o8}v@7sE%^XEDPcaJ@jkHFq37A z-U)qmZ2A=!j8OV5a!gLo>>nz?Gh3~;>CtLaz!WeAz7){?A!1RC1EwC`*1^hM0f<$0 zJ7Zga6_gVNj02_~`GzK*O7v6-R}ArV_D8`l4w!oMbV#^-NXRVVh9WLI<44XN5_`1T z6fgzy3at6Zrk?-D<@f(Q$(~FBQ{Yc2Al2?!x5Fugv$ZfeJ!>PDa~3uAOFcRYt8g5< fh91RxEYA2Y(graOn0jOn&3*)&3|5%}KdQhd>M@hz literal 0 HcmV?d00001 diff --git a/stat_tracker/static/.gitkeep b/stat_tracker/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/stat_tracker/static/fastclick.js b/stat_tracker/static/fastclick.js new file mode 100644 index 0000000..93f82da --- /dev/null +++ b/stat_tracker/static/fastclick.js @@ -0,0 +1,8 @@ +!function(){"use strict";/** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ +function a(b,d){function e(a,b){return function(){return a.apply(b,arguments)}}var f;if(d=d||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=d.touchBoundary||10,this.layer=b,this.tapDelay=d.tapDelay||200,this.tapTimeout=d.tapTimeout||700,!a.notNeeded(b)){for(var g=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],h=this,i=0,j=g.length;j>i;i++)h[g[i]]=e(h[g[i]],h);c&&(b.addEventListener("mouseover",this.onMouse,!0),b.addEventListener("mousedown",this.onMouse,!0),b.addEventListener("mouseup",this.onMouse,!0)),b.addEventListener("click",this.onClick,!0),b.addEventListener("touchstart",this.onTouchStart,!1),b.addEventListener("touchmove",this.onTouchMove,!1),b.addEventListener("touchend",this.onTouchEnd,!1),b.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(b.removeEventListener=function(a,c,d){var e=Node.prototype.removeEventListener;"click"===a?e.call(b,a,c.hijacked||c,d):e.call(b,a,c,d)},b.addEventListener=function(a,c,d){var e=Node.prototype.addEventListener;"click"===a?e.call(b,a,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(b,a,c,d)}),"function"==typeof b.onclick&&(f=b.onclick,b.addEventListener("click",function(a){f(a)},!1),b.onclick=null)}}var b=navigator.userAgent.indexOf("Windows Phone")>=0,c=navigator.userAgent.indexOf("Android")>0&&!b,d=/iP(ad|hone|od)/.test(navigator.userAgent)&&!b,e=d&&/OS 4_\d(_\d)?/.test(navigator.userAgent),f=d&&/OS [6-7]_\d/.test(navigator.userAgent),g=navigator.userAgent.indexOf("BB10")>0;a.prototype.needsClick=function(a){switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(d&&"file"===a.type||a.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(a.className)},a.prototype.needsFocus=function(a){switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!c;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)}},a.prototype.sendClick=function(a,b){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)},a.prototype.determineEventType=function(a){return c&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},a.prototype.focus=function(a){var b;d&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type&&"month"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},a.prototype.updateScrollParent=function(a){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)},a.prototype.getTargetElementFromEventTarget=function(a){return a.nodeType===Node.TEXT_NODE?a.parentNode:a},a.prototype.onTouchStart=function(a){var b,c,f;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],d){if(f=window.getSelection(),f.rangeCount&&!f.isCollapsed)return!0;if(!e){if(c.identifier&&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.lastClickTimec||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},a.prototype.onTouchMove=function(a){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},a.prototype.findControl=function(a){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")},a.prototype.onTouchEnd=function(a){var b,g,h,i,j,k=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTimethis.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=a.timeStamp,g=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,f&&(j=a.changedTouches[0],k=document.elementFromPoint(j.pageX-window.pageXOffset,j.pageY-window.pageYOffset)||k,k.fastClickScrollParent=this.targetElement.fastClickScrollParent),h=k.tagName.toLowerCase(),"label"===h){if(b=this.findControl(k)){if(this.focus(k),c)return!1;k=b}}else if(this.needsFocus(k))return a.timeStamp-g>100||d&&window.top!==window&&"input"===h?(this.targetElement=null,!1):(this.focus(k),this.sendClick(k,a),d&&"select"===h||(this.targetElement=null,a.preventDefault()),!1);return d&&!e&&(i=k.fastClickScrollParent,i&&i.fastClickLastScrollTop!==i.scrollTop)?!0:(this.needsClick(k)||(a.preventDefault(),this.sendClick(k,a)),!1)},a.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},a.prototype.onMouse=function(a){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},a.prototype.onClick=function(a){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)},a.prototype.destroy=function(){var a=this.layer;c&&(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)},a.notNeeded=function(a){var b,d,e,f;if("undefined"==typeof window.ontouchstart)return!0;if(d=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!c)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(d>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(g&&(e=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),e[1]>=10&&e[2]>=3&&(b=document.querySelector("meta[name=viewport]")))){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===a.style.msTouchAction||"manipulation"===a.style.touchAction?!0:(f=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],f>=27&&(b=document.querySelector("meta[name=viewport]"),b&&(-1!==b.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))?!0:"none"===a.style.touchAction||"manipulation"===a.style.touchAction?!0:!1)},a.attach=function(b,c){return new a(b,c)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return a}):"undefined"!=typeof module&&module.exports?(module.exports=a.attach,module.exports.FastClick=a):window.FastClick=a}(); diff --git a/stat_tracker/static/foundation.css b/stat_tracker/static/foundation.css new file mode 100644 index 0000000..f63e314 --- /dev/null +++ b/stat_tracker/static/foundation.css @@ -0,0 +1,6201 @@ +meta.foundation-version { + font-family: "/5.5.1/"; } + +meta.foundation-mq-small { + font-family: "/only screen/"; + width: 0; } + +meta.foundation-mq-small-only { + font-family: "/only screen and (max-width: 40em)/"; + width: 0; } + +meta.foundation-mq-medium { + font-family: "/only screen and (min-width:40.063em)/"; + width: 40.063em; } + +meta.foundation-mq-medium-only { + font-family: "/only screen and (min-width:40.063em) and (max-width:64em)/"; + width: 40.063em; } + +meta.foundation-mq-large { + font-family: "/only screen and (min-width:64.063em)/"; + width: 64.063em; } + +meta.foundation-mq-large-only { + font-family: "/only screen and (min-width:64.063em) and (max-width:90em)/"; + width: 64.063em; } + +meta.foundation-mq-xlarge { + font-family: "/only screen and (min-width:90.063em)/"; + width: 90.063em; } + +meta.foundation-mq-xlarge-only { + font-family: "/only screen and (min-width:90.063em) and (max-width:120em)/"; + width: 90.063em; } + +meta.foundation-mq-xxlarge { + font-family: "/only screen and (min-width:120.063em)/"; + width: 120.063em; } + +meta.foundation-data-attribute-namespace { + font-family: false; } + +html, body { + height: 100%; } + +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +html, +body { + font-size: 100%; } + +body { + background: #fff; + color: #222; + padding: 0; + margin: 0; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-weight: normal; + font-style: normal; + line-height: 1.5; + position: relative; + cursor: auto; } + +a:hover { + cursor: pointer; } + +img { + max-width: 100%; + height: auto; } + +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:before, .clearfix:after { + content: " "; + display: table; } +.clearfix:after { + clear: both; } + +.hide { + display: none; } + +.invisible { + visibility: hidden; } + +.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; } + .row:before, .row:after { + content: " "; + display: table; } + .row:after { + clear: both; } + .row.collapse > .column, + .row.collapse > .columns { + padding-left: 0; + padding-right: 0; } + .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; } + .row .row:before, .row .row:after { + content: " "; + display: table; } + .row .row:after { + clear: both; } + .row .row.collapse { + width: auto; + margin: 0; + max-width: none; } + .row .row.collapse:before, .row .row.collapse:after { + content: " "; + display: table; } + .row .row.collapse:after { + clear: both; } + +.column, +.columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + width: 100%; + float: left; } + +[class*="column"] + [class*="column"]:last-child { + float: right; } + +[class*="column"] + [class*="column"].end { + float: left; } + +@media only screen { + .small-push-0 { + position: relative; + left: 0%; + right: auto; } + + .small-pull-0 { + position: relative; + right: 0%; + left: auto; } + + .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 { + width: 8.33333%; } + + .small-2 { + width: 16.66667%; } + + .small-3 { + width: 25%; } + + .small-4 { + width: 33.33333%; } + + .small-5 { + width: 41.66667%; } + + .small-6 { + width: 50%; } + + .small-7 { + width: 58.33333%; } + + .small-8 { + width: 66.66667%; } + + .small-9 { + width: 75%; } + + .small-10 { + width: 83.33333%; } + + .small-11 { + width: 91.66667%; } + + .small-12 { + width: 100%; } + + .small-offset-0 { + margin-left: 0% !important; } + + .small-offset-1 { + margin-left: 8.33333% !important; } + + .small-offset-2 { + margin-left: 16.66667% !important; } + + .small-offset-3 { + margin-left: 25% !important; } + + .small-offset-4 { + margin-left: 33.33333% !important; } + + .small-offset-5 { + margin-left: 41.66667% !important; } + + .small-offset-6 { + margin-left: 50% !important; } + + .small-offset-7 { + margin-left: 58.33333% !important; } + + .small-offset-8 { + margin-left: 66.66667% !important; } + + .small-offset-9 { + margin-left: 75% !important; } + + .small-offset-10 { + margin-left: 83.33333% !important; } + + .small-offset-11 { + margin-left: 91.66667% !important; } + + .small-reset-order { + margin-left: 0; + margin-right: 0; + left: auto; + right: auto; + float: left; } + + .column.small-centered, + .columns.small-centered { + margin-left: auto; + margin-right: auto; + float: none; } + + .column.small-uncentered, + .columns.small-uncentered { + margin-left: 0; + margin-right: 0; + float: left; } + + .column.small-centered:last-child, + .columns.small-centered:last-child { + float: none; } + + .column.small-uncentered:last-child, + .columns.small-uncentered:last-child { + float: left; } + + .column.small-uncentered.opposite, + .columns.small-uncentered.opposite { + float: right; } + + .row.small-collapse > .column, + .row.small-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.small-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.small-uncollapse > .column, + .row.small-uncollapse > .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } } +@media only screen and (min-width: 40.063em) { + .medium-push-0 { + position: relative; + left: 0%; + right: auto; } + + .medium-pull-0 { + position: relative; + right: 0%; + left: auto; } + + .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 { + width: 8.33333%; } + + .medium-2 { + width: 16.66667%; } + + .medium-3 { + width: 25%; } + + .medium-4 { + width: 33.33333%; } + + .medium-5 { + width: 41.66667%; } + + .medium-6 { + width: 50%; } + + .medium-7 { + width: 58.33333%; } + + .medium-8 { + width: 66.66667%; } + + .medium-9 { + width: 75%; } + + .medium-10 { + width: 83.33333%; } + + .medium-11 { + width: 91.66667%; } + + .medium-12 { + width: 100%; } + + .medium-offset-0 { + margin-left: 0% !important; } + + .medium-offset-1 { + margin-left: 8.33333% !important; } + + .medium-offset-2 { + margin-left: 16.66667% !important; } + + .medium-offset-3 { + margin-left: 25% !important; } + + .medium-offset-4 { + margin-left: 33.33333% !important; } + + .medium-offset-5 { + margin-left: 41.66667% !important; } + + .medium-offset-6 { + margin-left: 50% !important; } + + .medium-offset-7 { + margin-left: 58.33333% !important; } + + .medium-offset-8 { + margin-left: 66.66667% !important; } + + .medium-offset-9 { + margin-left: 75% !important; } + + .medium-offset-10 { + margin-left: 83.33333% !important; } + + .medium-offset-11 { + margin-left: 91.66667% !important; } + + .medium-reset-order { + margin-left: 0; + margin-right: 0; + left: auto; + right: auto; + float: left; } + + .column.medium-centered, + .columns.medium-centered { + margin-left: auto; + margin-right: auto; + float: none; } + + .column.medium-uncentered, + .columns.medium-uncentered { + margin-left: 0; + margin-right: 0; + float: left; } + + .column.medium-centered:last-child, + .columns.medium-centered:last-child { + float: none; } + + .column.medium-uncentered:last-child, + .columns.medium-uncentered:last-child { + float: left; } + + .column.medium-uncentered.opposite, + .columns.medium-uncentered.opposite { + float: right; } + + .row.medium-collapse > .column, + .row.medium-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.medium-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.medium-uncollapse > .column, + .row.medium-uncollapse > .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + + .push-0 { + position: relative; + left: 0%; + right: auto; } + + .pull-0 { + position: relative; + right: 0%; + left: auto; } + + .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) { + .large-push-0 { + position: relative; + left: 0%; + right: auto; } + + .large-pull-0 { + position: relative; + right: 0%; + left: auto; } + + .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 { + width: 8.33333%; } + + .large-2 { + width: 16.66667%; } + + .large-3 { + width: 25%; } + + .large-4 { + width: 33.33333%; } + + .large-5 { + width: 41.66667%; } + + .large-6 { + width: 50%; } + + .large-7 { + width: 58.33333%; } + + .large-8 { + width: 66.66667%; } + + .large-9 { + width: 75%; } + + .large-10 { + width: 83.33333%; } + + .large-11 { + width: 91.66667%; } + + .large-12 { + width: 100%; } + + .large-offset-0 { + margin-left: 0% !important; } + + .large-offset-1 { + margin-left: 8.33333% !important; } + + .large-offset-2 { + margin-left: 16.66667% !important; } + + .large-offset-3 { + margin-left: 25% !important; } + + .large-offset-4 { + margin-left: 33.33333% !important; } + + .large-offset-5 { + margin-left: 41.66667% !important; } + + .large-offset-6 { + margin-left: 50% !important; } + + .large-offset-7 { + margin-left: 58.33333% !important; } + + .large-offset-8 { + margin-left: 66.66667% !important; } + + .large-offset-9 { + margin-left: 75% !important; } + + .large-offset-10 { + margin-left: 83.33333% !important; } + + .large-offset-11 { + margin-left: 91.66667% !important; } + + .large-reset-order { + margin-left: 0; + margin-right: 0; + left: auto; + right: auto; + float: left; } + + .column.large-centered, + .columns.large-centered { + margin-left: auto; + margin-right: auto; + float: none; } + + .column.large-uncentered, + .columns.large-uncentered { + margin-left: 0; + margin-right: 0; + float: left; } + + .column.large-centered:last-child, + .columns.large-centered:last-child { + float: none; } + + .column.large-uncentered:last-child, + .columns.large-uncentered:last-child { + float: left; } + + .column.large-uncentered.opposite, + .columns.large-uncentered.opposite { + float: right; } + + .row.large-collapse > .column, + .row.large-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.large-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.large-uncollapse > .column, + .row.large-uncollapse > .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + + .push-0 { + position: relative; + left: 0%; + right: auto; } + + .pull-0 { + position: relative; + right: 0%; + left: auto; } + + .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; } } +button, .button { + border-style: solid; + border-width: 0; + cursor: pointer; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-decoration: none; + text-align: center; + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + display: inline-block; + padding-top: 1rem; + padding-right: 2rem; + padding-bottom: 1.0625rem; + padding-left: 2rem; + font-size: 1rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; + transition: background-color 300ms ease-out; } + button:hover, button:focus, .button:hover, .button:focus { + background-color: #007095; } + 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: #368a55; + color: #FFFFFF; } + button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { + background-color: #368a55; } + button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { + color: #FFFFFF; } + button.alert, .button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { + background-color: #cf2a0e; } + button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { + color: #FFFFFF; } + button.warning, .button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { + background-color: #cf6e0e; } + button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { + color: #FFFFFF; } + button.info, .button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { + background-color: #61b6d9; } + button.info:hover, button.info:focus, .button.info:hover, .button.info: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 { + border-radius: 3px; } + button.round, .button.round { + border-radius: 1000px; } + button.disabled, button[disabled], .button.disabled, .button[disabled] { + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; + cursor: default; + opacity: 0.7; + 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: #007095; } + 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; + 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: #368a55; + color: #FFFFFF; + cursor: default; + opacity: 0.7; + 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: #368a55; } + 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: #cf2a0e; + color: #FFFFFF; + cursor: default; + opacity: 0.7; + 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: #cf2a0e; } + 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; } + button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; + cursor: default; + opacity: 0.7; + box-shadow: none; } + button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { + background-color: #cf6e0e; } + button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { + color: #FFFFFF; } + button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { + background-color: #f08a24; } + button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; + cursor: default; + opacity: 0.7; + box-shadow: none; } + button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { + background-color: #61b6d9; } + button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { + color: #FFFFFF; } + button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { + background-color: #a0d3e8; } + +button::-moz-focus-inner { + border: 0; + padding: 0; } + +@media only screen and (min-width: 40.063em) { + button, .button { + display: inline-block; } } +/* 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 { + -webkit-border-bottom-right-radius: 0; + -webkit-border-top-right-radius: 0; + border-bottom-right-radius: 0; + 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; + line-height: 1.5; + margin-bottom: 0; + /* Styles for required inputs */ } + label.right { + float: none !important; + text-align: right; } + label.inline { + margin: 0 0 1rem 0; + padding: 0.5625rem 0; } + label small { + text-transform: capitalize; + color: #676767; } + +/* 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: visible; + 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; + border: none; } + +.prefix.button { + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + border: none; } + +.prefix.button.radius { + border-radius: 0; + -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 { + border-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + +.prefix.button.round { + border-radius: 0; + -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 { + border-radius: 0; + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-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-right: none; + color: #333333; + border-color: #cccccc; } + +span.postfix, label.postfix { + background: #f2f2f2; + border-left: none; + color: #333333; + border-color: #cccccc; } + +/* 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"], input[type="color"], textarea { + -webkit-appearance: none; + border-radius: 0; + background-color: #FFFFFF; + font-family: inherit; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + 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%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + 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, input[type="color"]: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, input[type="color"]:disabled, textarea:disabled { + background-color: #DDDDDD; + cursor: default; } + input[type="text"][disabled], input[type="text"][readonly], fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly], fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly], fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly], fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly], fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly], fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly], fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly], fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly], fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly], fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly], fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly], fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly], fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly], fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly], fieldset[disabled] textarea { + background-color: #DDDDDD; + cursor: default; } + input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius { + border-radius: 3px; } + +form .row .prefix-radius.row.collapse input, +form .row .prefix-radius.row.collapse textarea, +form .row .prefix-radius.row.collapse select, +form .row .prefix-radius.row.collapse button { + border-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } +form .row .prefix-radius.row.collapse .prefix { + border-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } +form .row .postfix-radius.row.collapse input, +form .row .postfix-radius.row.collapse textarea, +form .row .postfix-radius.row.collapse select, +form .row .postfix-radius.row.collapse button { + border-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } +form .row .postfix-radius.row.collapse .postfix { + border-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } +form .row .prefix-round.row.collapse input, +form .row .prefix-round.row.collapse textarea, +form .row .prefix-round.row.collapse select, +form .row .prefix-round.row.collapse button { + border-radius: 0; + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } +form .row .prefix-round.row.collapse .prefix { + border-radius: 0; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } +form .row .postfix-round.row.collapse input, +form .row .postfix-round.row.collapse textarea, +form .row .postfix-round.row.collapse select, +form .row .postfix-round.row.collapse button { + border-radius: 0; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } +form .row .postfix-round.row.collapse .postfix { + border-radius: 0; + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + +input[type="submit"] { + -webkit-appearance: none; + border-radius: 0; } + +/* Respect enforced amount of rows for textarea */ +textarea[rows] { + height: auto; } + +/* Not allow resize out of parent */ +textarea { + max-width: 100%; } + +/* Add height value for select elements to match text input height */ +select { + -webkit-appearance: none !important; + border-radius: 0; + background-color: #FAFAFA; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); + background-position: 100% center; + background-repeat: no-repeat; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + padding: 0.5rem; + font-size: 0.875rem; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + color: rgba(0, 0, 0, 0.75); + line-height: normal; + border-radius: 0; + height: 2.3125rem; } + select::-ms-expand { + display: none; } + select.radius { + border-radius: 3px; } + select:hover { + background-color: #f3f3f3; + border-color: #999999; } + select:disabled { + background-color: #DDDDDD; + cursor: default; } + select[multiple] { + height: auto; } + +/* 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%; } + +/* HTML5 Number spinners settings */ +/* We add basic fieldset styling */ +fieldset { + border: 1px solid #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; } + +/* Error Handling */ +[data-abide] .error small.error, [data-abide] .error span.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 input[type="checkbox"], +.error input[type="radio"] { + margin-bottom: 1rem; } +.error label, +.error label.error { + color: #f04124; } +.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: #676767; + 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, +select.error { + margin-bottom: 0; } + +label.error { + color: #f04124; } + +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: 2.8125rem; } + +.top-bar { + overflow: hidden; + height: 2.8125rem; + line-height: 2.8125rem; + 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: 1.75rem; + padding-top: .35rem; + padding-bottom: .35rem; + font-size: 0.75rem; } + .top-bar .button, .top-bar button { + padding-top: 0.4125rem; + padding-bottom: 0.4125rem; + margin-bottom: 0; + font-size: 0.75rem; } + @media only screen and (max-width: 40em) { + .top-bar .button, .top-bar button { + position: relative; + top: -1px; } } + .top-bar .title-area { + position: relative; + margin: 0; } + .top-bar .name { + height: 2.8125rem; + margin: 0; + font-size: 16px; } + .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span { + line-height: 2.8125rem; + font-size: 1.0625rem; + margin: 0; } + .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a { + font-weight: normal; + color: #FFFFFF; + width: 75%; + display: block; + padding: 0 0.9375rem; } + .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 0.9375rem; + height: 2.8125rem; + line-height: 2.8125rem; } + .top-bar .toggle-topbar.menu-icon { + top: 50%; + margin-top: -16px; } + .top-bar .toggle-topbar.menu-icon a { + height: 34px; + line-height: 33px; + padding: 0 2.5rem 0 0.9375rem; + color: #FFFFFF; + position: relative; } + .top-bar .toggle-topbar.menu-icon a span::after { + content: ""; + position: absolute; + display: block; + height: 0; + top: 50%; + margin-top: -8px; + right: 0.9375rem; + box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; + width: 16px; } + .top-bar .toggle-topbar.menu-icon a span:hover:after { + box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; } + .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::after { + box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; } + +.top-bar-section { + left: 0; + position: relative; + width: auto; + transition: left 300ms ease-out; } + .top-bar-section ul { + padding: 0; + width: 100%; + height: auto; + display: block; + 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 { + background: #333333; } + .top-bar-section ul li > a { + display: block; + width: 100%; + color: #FFFFFF; + padding: 12px 0 12px 0; + padding-left: 0.9375rem; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-size: 0.8125rem; + font-weight: normal; + text-transform: none; } + .top-bar-section ul li > a.button { + font-size: 0.8125rem; + padding-right: 0.9375rem; + padding-left: 0.9375rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; } + .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { + background-color: #007095; } + .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { + background-color: #b9b9b9; } + .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { + color: #333333; } + .top-bar-section ul li > a.button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { + background-color: #368a55; } + .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { + background-color: #cf2a0e; } + .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { + background-color: #cf6e0e; } + .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { + color: #FFFFFF; } + .top-bar-section ul li > button { + font-size: 0.8125rem; + padding-right: 0.9375rem; + padding-left: 0.9375rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; } + .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { + background-color: #007095; } + .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { + background-color: #b9b9b9; } + .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { + color: #333333; } + .top-bar-section ul li > button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { + background-color: #368a55; } + .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { + background-color: #cf2a0e; } + .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { + background-color: #cf6e0e; } + .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { + color: #FFFFFF; } + .top-bar-section ul li:hover:not(.has-form) > a { + background-color: #555555; + background: #333333; + color: #FFFFFF; } + .top-bar-section ul li.active > a { + background: #008CBA; + color: #FFFFFF; } + .top-bar-section ul li.active > a:hover { + background: #0078a0; + color: #FFFFFF; } + .top-bar-section .has-form { + padding: 0.9375rem; } + .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: 0.9375rem; + 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; + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + position: absolute !important; + width: 100%; } + .top-bar-section .has-dropdown.moved > a:after { + display: none; } + .top-bar-section .dropdown { + padding: 0; + position: absolute; + left: 100%; + top: 0; + z-index: 99; + display: block; + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + .top-bar-section .dropdown li { + width: 100%; + height: auto; } + .top-bar-section .dropdown li a { + font-weight: normal; + padding: 8px 0.9375rem; } + .top-bar-section .dropdown li a.parent-link { + font-weight: normal; } + .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link { + margin-bottom: 0; + margin-top: 0; + font-size: 1.125rem; } + .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a { + color: #FFFFFF; + display: block; } + .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover { + background: none; } + .top-bar-section .dropdown li.has-form { + padding: 8px 0.9375rem; } + .top-bar-section .dropdown li .button, .top-bar-section .dropdown li button { + top: auto; } + .top-bar-section .dropdown label { + padding: 8px 0.9375rem 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; + 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, + .top-bar .name h2 a, + .top-bar .name h3 a, + .top-bar .name h4 a, + .top-bar .name h5 a, + .top-bar .name h6 a { + width: auto; } + .top-bar input, + .top-bar .button, + .top-bar button { + font-size: 0.875rem; + position: relative; + height: 1.75rem; + top: 0.53125rem; } + .top-bar.expanded { + background: #333333; } + + .contain-to-grid .top-bar { + max-width: 62.5rem; + margin: 0 auto; + margin-bottom: 0; } + + .top-bar-section { + 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-color: #555555; + background: #333333; + color: #FFFFFF; } + .top-bar-section li:not(.has-form) a:not(.button) { + padding: 0 0.9375rem; + line-height: 2.8125rem; + background: #333333; } + .top-bar-section li:not(.has-form) a:not(.button):hover { + background-color: #555555; + background: #333333; } + .top-bar-section li.active:not(.has-form) a:not(.button) { + padding: 0 0.9375rem; + line-height: 2.8125rem; + color: #FFFFFF; + background: #008CBA; } + .top-bar-section li.active:not(.has-form) a:not(.button):hover { + background: #0078a0; + color: #FFFFFF; } + .top-bar-section .has-dropdown > a { + padding-right: 2.1875rem !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: 1.40625rem; } + .top-bar-section .has-dropdown.moved { + position: relative; } + .top-bar-section .has-dropdown.moved > .dropdown { + display: block; + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { + display: block; + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + position: absolute !important; } + .top-bar-section .has-dropdown > a:focus + .dropdown { + display: block; + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + position: absolute !important; } + .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { + border: none; + content: "\00bb"; + top: 1rem; + margin-top: -1px; + 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: 2.8125rem; + white-space: nowrap; + padding: 12px 0.9375rem; + background: #333333; } + .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) { + color: #FFFFFF; + background: #333333; } + .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) { + color: #FFFFFF; + background-color: #555555; + 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: 2.8125rem; + width: 0; } + .top-bar-section .has-form { + background: #333333; + padding: 0 0.9375rem; + height: 2.8125rem; } + .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-color: #555555; + background: #333333; + 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; + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + position: absolute !important; } + .no-js .top-bar-section .has-dropdown > a:focus + .dropdown { + display: block; + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + position: absolute !important; } } +.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; + border-radius: 3px; } + .breadcrumbs > * { + margin: 0; + float: left; + font-size: 0.6875rem; + line-height: 0.6875rem; + text-transform: uppercase; + color: #008CBA; } + .breadcrumbs > *:hover a, .breadcrumbs > *:focus a { + text-decoration: underline; } + .breadcrumbs > * a { + 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: not-allowed; } + .breadcrumbs > *:before { + content: "/"; + color: #AAAAAA; + margin: 0 0.75rem; + position: relative; + top: 1px; } + .breadcrumbs > *:first-child:before { + content: " "; + margin: 0; } + +/* Accessibility - hides the forward slash */ +[aria-label="breadcrumbs"] [aria-hidden="true"]:after { + content: "/"; } + +.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; + transition: opacity 300ms ease-out; + background-color: #008CBA; + border-color: #0078a0; + color: #FFFFFF; } + .alert-box .close { + font-size: 1.375rem; + padding: 0 6px 4px; + line-height: .9; + position: absolute; + top: 50%; + margin-top: -0.6875rem; + right: 0.25rem; + color: #333333; + opacity: 0.3; + background: inherit; } + .alert-box .close:hover, .alert-box .close:focus { + opacity: 0.5; } + .alert-box.radius { + border-radius: 3px; } + .alert-box.round { + border-radius: 1000px; } + .alert-box.success { + background-color: #43AC6A; + border-color: #3a945b; + color: #FFFFFF; } + .alert-box.alert { + background-color: #f04124; + border-color: #de2d0f; + 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; } + .alert-box.alert-close { + opacity: 0; } + +.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; } + +.button-group { + list-style: none; + margin: 0; + left: 0; } + .button-group:before, .button-group:after { + content: " "; + display: table; } + .button-group:after { + clear: both; } + .button-group.even-2 li { + margin: 0 -2px; + display: inline-block; + width: 50%; } + .button-group.even-2 li > button, .button-group.even-2 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button { + border-left: 0; } + .button-group.even-2 li button, .button-group.even-2 li .button { + width: 100%; } + .button-group.even-3 li { + margin: 0 -2px; + display: inline-block; + width: 33.33333%; } + .button-group.even-3 li > button, .button-group.even-3 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button { + border-left: 0; } + .button-group.even-3 li button, .button-group.even-3 li .button { + width: 100%; } + .button-group.even-4 li { + margin: 0 -2px; + display: inline-block; + width: 25%; } + .button-group.even-4 li > button, .button-group.even-4 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button { + border-left: 0; } + .button-group.even-4 li button, .button-group.even-4 li .button { + width: 100%; } + .button-group.even-5 li { + margin: 0 -2px; + display: inline-block; + width: 20%; } + .button-group.even-5 li > button, .button-group.even-5 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button { + border-left: 0; } + .button-group.even-5 li button, .button-group.even-5 li .button { + width: 100%; } + .button-group.even-6 li { + margin: 0 -2px; + display: inline-block; + width: 16.66667%; } + .button-group.even-6 li > button, .button-group.even-6 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button { + border-left: 0; } + .button-group.even-6 li button, .button-group.even-6 li .button { + width: 100%; } + .button-group.even-7 li { + margin: 0 -2px; + display: inline-block; + width: 14.28571%; } + .button-group.even-7 li > button, .button-group.even-7 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button { + border-left: 0; } + .button-group.even-7 li button, .button-group.even-7 li .button { + width: 100%; } + .button-group.even-8 li { + margin: 0 -2px; + display: inline-block; + width: 12.5%; } + .button-group.even-8 li > button, .button-group.even-8 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button { + border-left: 0; } + .button-group.even-8 li button, .button-group.even-8 li .button { + width: 100%; } + .button-group > li { + margin: 0 -2px; + display: inline-block; } + .button-group > li > button, .button-group > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group > li:first-child button, .button-group > li:first-child .button { + border-left: 0; } + .button-group.stack > li { + margin: 0 -2px; + display: inline-block; + display: block; + margin: 0; + float: none; } + .button-group.stack > li > button, .button-group.stack > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button { + border-left: 0; } + .button-group.stack > li > button, .button-group.stack > li .button { + border-top: 1px solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin: 0; + display: block; } + .button-group.stack > li > button { + width: 100%; } + .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button { + border-top: 0; } + .button-group.stack-for-small > li { + margin: 0 -2px; + display: inline-block; } + .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { + border-left: 0; } + @media only screen and (max-width: 40em) { + .button-group.stack-for-small > li { + margin: 0 -2px; + display: inline-block; + display: block; + margin: 0; } + .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { + border-left: 0; } + .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { + border-top: 1px solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin: 0; + display: block; } + .button-group.stack-for-small > li > button { + width: 100%; } + .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { + border-top: 0; } } + .button-group.radius > * { + margin: 0 -2px; + display: inline-block; } + .button-group.radius > * > button, .button-group.radius > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button { + border-left: 0; } + .button-group.radius > *, .button-group.radius > * > a, .button-group.radius > * > button, .button-group.radius > * > .button { + border-radius: 0; } + .button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button { + -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 { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + .button-group.radius.stack > * { + margin: 0 -2px; + display: inline-block; + display: block; + margin: 0; } + .button-group.radius.stack > * > button, .button-group.radius.stack > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button { + border-left: 0; } + .button-group.radius.stack > * > button, .button-group.radius.stack > * .button { + border-top: 1px solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin: 0; + display: block; } + .button-group.radius.stack > * > button { + width: 100%; } + .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button { + border-top: 0; } + .button-group.radius.stack > *, .button-group.radius.stack > * > a, .button-group.radius.stack > * > button, .button-group.radius.stack > * > .button { + border-radius: 0; } + .button-group.radius.stack > *:first-child, .button-group.radius.stack > *:first-child > a, .button-group.radius.stack > *:first-child > button, .button-group.radius.stack > *:first-child > .button { + -webkit-top-left-radius: 3px; + -webkit-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } + .button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button { + -webkit-bottom-left-radius: 3px; + -webkit-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } + @media only screen and (min-width: 40.063em) { + .button-group.radius.stack-for-small > * { + margin: 0 -2px; + display: inline-block; } + .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button { + border-radius: 0; } + .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button { + -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.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } } + @media only screen and (max-width: 40em) { + .button-group.radius.stack-for-small > * { + margin: 0 -2px; + display: inline-block; + display: block; + margin: 0; } + .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { + border-top: 1px solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin: 0; + display: block; } + .button-group.radius.stack-for-small > * > button { + width: 100%; } + .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { + border-top: 0; } + .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button { + border-radius: 0; } + .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button { + -webkit-top-left-radius: 3px; + -webkit-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } + .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { + -webkit-bottom-left-radius: 3px; + -webkit-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } } + .button-group.round > * { + margin: 0 -2px; + display: inline-block; } + .button-group.round > * > button, .button-group.round > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round > *:first-child button, .button-group.round > *:first-child .button { + border-left: 0; } + .button-group.round > *, .button-group.round > * > a, .button-group.round > * > button, .button-group.round > * > .button { + border-radius: 0; } + .button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button { + -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 { + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + .button-group.round.stack > * { + margin: 0 -2px; + display: inline-block; + display: block; + margin: 0; } + .button-group.round.stack > * > button, .button-group.round.stack > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button { + border-left: 0; } + .button-group.round.stack > * > button, .button-group.round.stack > * .button { + border-top: 1px solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin: 0; + display: block; } + .button-group.round.stack > * > button { + width: 100%; } + .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button { + border-top: 0; } + .button-group.round.stack > *, .button-group.round.stack > * > a, .button-group.round.stack > * > button, .button-group.round.stack > * > .button { + border-radius: 0; } + .button-group.round.stack > *:first-child, .button-group.round.stack > *:first-child > a, .button-group.round.stack > *:first-child > button, .button-group.round.stack > *:first-child > .button { + -webkit-top-left-radius: 1rem; + -webkit-top-right-radius: 1rem; + border-top-left-radius: 1rem; + border-top-right-radius: 1rem; } + .button-group.round.stack > *:last-child, .button-group.round.stack > *:last-child > a, .button-group.round.stack > *:last-child > button, .button-group.round.stack > *:last-child > .button { + -webkit-bottom-left-radius: 1rem; + -webkit-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; + border-bottom-right-radius: 1rem; } + @media only screen and (min-width: 40.063em) { + .button-group.round.stack-for-small > * { + margin: 0 -2px; + display: inline-block; } + .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button { + border-radius: 0; } + .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button { + -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.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button { + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } } + @media only screen and (max-width: 40em) { + .button-group.round.stack-for-small > * { + margin: 0 -2px; + display: inline-block; + display: block; + margin: 0; } + .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { + border-top: 1px solid; + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + margin: 0; + display: block; } + .button-group.round.stack-for-small > * > button { + width: 100%; } + .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { + border-top: 0; } + .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button { + border-radius: 0; } + .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button { + -webkit-top-left-radius: 1rem; + -webkit-top-right-radius: 1rem; + border-top-left-radius: 1rem; + border-top-right-radius: 1rem; } + .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button { + -webkit-bottom-left-radius: 1rem; + -webkit-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; + border-bottom-right-radius: 1rem; } } + +.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; } + +/* Panels */ +.panel { + border-style: solid; + border-width: 1px; + border-color: #d8d8d8; + margin-bottom: 1.25rem; + padding: 1.25rem; + background: #f2f2f2; + color: #333333; } + .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, .panel li, .panel dl { + 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; + color: #333333; } + .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, .panel.callout li, .panel.callout dl { + 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:not(.button) { + color: #008CBA; } + .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus { + color: #0078a0; } + .panel.radius { + border-radius: 3px; } + +.dropdown.button, button.dropdown { + position: relative; + outline: none; + padding-right: 3.5625rem; } + .dropdown.button::after, button.dropdown::after { + position: absolute; + content: ""; + width: 0; + height: 0; + display: block; + border-style: solid; + border-color: #FFFFFF transparent transparent transparent; + top: 50%; } + .dropdown.button::after, button.dropdown::after { + border-width: 0.375rem; + right: 1.40625rem; + margin-top: -0.15625rem; } + .dropdown.button::after, button.dropdown::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.tiny, button.dropdown.tiny { + padding-right: 2.625rem; } + .dropdown.button.tiny:after, button.dropdown.tiny:after { + border-width: 0.375rem; + right: 1.125rem; + margin-top: -0.125rem; } + .dropdown.button.tiny::after, button.dropdown.tiny::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.small, button.dropdown.small { + padding-right: 3.0625rem; } + .dropdown.button.small::after, button.dropdown.small::after { + border-width: 0.4375rem; + right: 1.3125rem; + margin-top: -0.15625rem; } + .dropdown.button.small::after, button.dropdown.small::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.large, button.dropdown.large { + padding-right: 3.625rem; } + .dropdown.button.large::after, button.dropdown.large::after { + border-width: 0.3125rem; + right: 1.71875rem; + margin-top: -0.15625rem; } + .dropdown.button.large::after, button.dropdown.large::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.secondary:after, button.dropdown.secondary:after { + border-color: #333333 transparent transparent transparent; } + +/* Image Thumbnails */ +.th { + line-height: 0; + display: inline-block; + border: solid 4px #FFFFFF; + max-width: 100%; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); + transition: all 200ms ease-out; } + .th:hover, .th:focus { + box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); } + .th.radius { + border-radius: 3px; } + +.toolbar { + background: #333333; + width: 100%; + font-size: 0; + display: inline-block; } + .toolbar.label-bottom .tab .tab-content i, .toolbar.label-bottom .tab .tab-content img { + margin-bottom: 10px; } + .toolbar.label-right .tab .tab-content i, .toolbar.label-right .tab .tab-content img { + margin-right: 10px; + display: inline-block; } + .toolbar.label-right .tab .tab-content label { + display: inline-block; } + .toolbar.vertical.label-right .tab .tab-content { + text-align: left; } + .toolbar.vertical { + height: 100%; + width: auto; } + .toolbar.vertical .tab { + width: auto; + margin: auto; + float: none; } + .toolbar .tab { + text-align: center; + width: 25%; + margin: 0 auto; + display: block; + padding: 20px; + float: left; } + .toolbar .tab:hover { + background: rgba(255, 255, 255, 0.1); } + +.toolbar .tab-content { + font-size: 16px; + text-align: center; } + .toolbar .tab-content label { + color: #CCCCCC; } + .toolbar .tab-content i { + font-size: 30px; + display: block; + margin: 0 auto; + color: #CCCCCC; + vertical-align: middle; } + .toolbar .tab-content img { + width: 30px; + height: 30px; + display: block; + margin: 0 auto; } + +/* 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, Roboto, 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, Roboto, 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; } + +@-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; } + .slideshow-wrapper .orbit-container .orbit-bullets li { + display: inline-block; } + .slideshow-wrapper .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; + border-radius: 1000px; + animation-name: rotate; + animation-duration: 1.5s; + animation-iteration-count: infinite; + animation-timing-function: linear; } + +.orbit-container { + overflow: hidden; + width: 100%; + position: relative; + background: none; } + .orbit-container .orbit-slides-container { + list-style: none; + margin: 0; + padding: 0; + position: relative; + -webkit-transform: translateZ(0); } + .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: transparent; + 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: 0; + 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: 0; + width: 11px; + height: 14px; + border: inset 8px; + border-left-style: solid; + border-color: transparent; + border-left-color: #FFFFFF; } + .orbit-container .orbit-timer.paused > span.dark { + border-left-color: #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: transparent; + 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 { + cursor: pointer; + display: inline-block; + width: 0.5625rem; + height: 0.5625rem; + background: #CCCCCC; + float: none; + margin-right: 6px; + 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: 0 !important; + opacity: 1 !important; } + .orbit-stack-on-small .orbit-slide-number { + display: none; } + + .orbit-timer { + display: none; } + + .orbit-next, .orbit-prev { + display: none; } + + .orbit-bullets { + display: none; } } +[data-magellan-expedition], [data-magellan-expedition-clone] { + background: #FFFFFF; + z-index: 50; + min-width: 100%; + padding: 10px; } + [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav { + margin-bottom: 0; } + [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd { + margin-bottom: 0; } + [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a { + line-height: 1.8em; } + +.icon-bar { + width: 100%; + font-size: 0; + display: inline-block; + background: #333333; } + .icon-bar > * { + text-align: center; + font-size: 1rem; + width: 25%; + margin: 0 auto; + display: block; + padding: 1.25rem; + float: left; } + .icon-bar > * i, .icon-bar > * img { + display: block; + margin: 0 auto; } + .icon-bar > * i + label, .icon-bar > * img + label { + margin-top: .0625rem; } + .icon-bar > * i { + font-size: 1.875rem; + vertical-align: middle; } + .icon-bar > * img { + width: 1.875rem; + height: 1.875rem; } + .icon-bar.label-right > * i, .icon-bar.label-right > * img { + margin: 0 .0625rem 0 0; + display: inline-block; } + .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label { + margin-top: 0; } + .icon-bar.label-right > * label { + display: inline-block; } + .icon-bar.vertical.label-right > * { + text-align: left; } + .icon-bar.vertical, .icon-bar.small-vertical { + height: 100%; + width: auto; } + .icon-bar.vertical .item, .icon-bar.small-vertical .item { + width: auto; + margin: auto; + float: none; } + @media only screen and (min-width: 40.063em) { + .icon-bar.medium-vertical { + height: 100%; + width: auto; } + .icon-bar.medium-vertical .item { + width: auto; + margin: auto; + float: none; } } + @media only screen and (min-width: 64.063em) { + .icon-bar.large-vertical { + height: 100%; + width: auto; } + .icon-bar.large-vertical .item { + width: auto; + margin: auto; + float: none; } } + .icon-bar > * { + font-size: 1rem; + padding: 1.25rem; } + .icon-bar > * i + label, .icon-bar > * img + label { + margin-top: .0625rem; } + .icon-bar > * i { + font-size: 1.875rem; } + .icon-bar > * img { + width: 1.875rem; + height: 1.875rem; } + .icon-bar > * label { + color: #FFFFFF; } + .icon-bar > * i { + color: #FFFFFF; } + .icon-bar > a:hover { + background: #008CBA; } + .icon-bar > a:hover label { + color: #FFFFFF; } + .icon-bar > a:hover i { + color: #FFFFFF; } + .icon-bar > a.active { + background: #008CBA; } + .icon-bar > a.active label { + color: #FFFFFF; } + .icon-bar > a.active i { + color: #FFFFFF; } + .icon-bar .item.disabled { + opacity: 0.7; + cursor: not-allowed; + pointer-events: none; } + .icon-bar .item.disabled > * { + opacity: 0.7; + cursor: not-allowed; } + +.icon-bar.two-up .item { + width: 50%; } +.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.two-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.two-up.large-vertical .item { + width: auto; } } +.icon-bar.three-up .item { + width: 33.3333%; } +.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.three-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.three-up.large-vertical .item { + width: auto; } } +.icon-bar.four-up .item { + width: 25%; } +.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.four-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.four-up.large-vertical .item { + width: auto; } } +.icon-bar.five-up .item { + width: 20%; } +.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.five-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.five-up.large-vertical .item { + width: auto; } } +.icon-bar.six-up .item { + width: 16.66667%; } +.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.six-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.six-up.large-vertical .item { + width: auto; } } +.icon-bar.seven-up .item { + width: 14.28571%; } +.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.seven-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.seven-up.large-vertical .item { + width: auto; } } +.icon-bar.eight-up .item { + width: 12.5%; } +.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item { + width: auto; } +@media only screen and (min-width: 40.063em) { + .icon-bar.eight-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width: 64.063em) { + .icon-bar.eight-up.large-vertical .item { + width: auto; } } + +.tabs { + margin-bottom: 0 !important; + margin-left: 0; } + .tabs:before, .tabs:after { + content: " "; + display: table; } + .tabs:after { + clear: both; } + .tabs dd, .tabs .tab-title { + position: relative; + margin-bottom: 0 !important; + list-style: none; + float: left; } + .tabs dd > a, .tabs .tab-title > a { + display: block; + background-color: #EFEFEF; + color: #222222; + padding: 1rem 2rem; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-size: 1rem; } + .tabs dd > a:hover, .tabs .tab-title > a:hover { + background-color: #e1e1e1; } + .tabs dd > a:focus, .tabs .tab-title > a:focus { + outline: none; } + .tabs dd.active a, .tabs .tab-title.active a { + background-color: #FFFFFF; + color: #222222; } + .tabs.radius dd:first-child a, .tabs.radius .tab:first-child a { + -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, .tabs.radius .tab:last-child a { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + .tabs.vertical dd, .tabs.vertical .tab-title { + position: inherit; + float: none; + display: block; + top: auto; } + +.tabs-content { + margin-bottom: 1.5rem; + width: 100%; } + .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; + width: 100%; } + .tabs-content > .content.active { + display: block; + float: none; } + .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%; + max-width: 20%; + float: left; + margin: 0 0 1.25rem; } + + .tabs-content.vertical { + width: 80%; + max-width: 80%; + float: left; + margin-left: -1px; + padding-left: 1rem; } } +.no-js .tabs-content > .content { + display: block; + float: none; } + +ul.pagination { + display: block; + min-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, ul.pagination li button { + display: block; + padding: 0.0625rem 0.625rem 0.0625rem; + color: #999999; + background: none; + border-radius: 3px; + font-weight: normal; + font-size: 1em; + line-height: inherit; + transition: background-color 300ms ease-out; } + ul.pagination li:hover a, + ul.pagination li a:focus, ul.pagination li:hover button, + ul.pagination li button:focus { + background: #e6e6e6; } + ul.pagination li.unavailable a, ul.pagination li.unavailable button { + cursor: default; + color: #999999; } + ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus { + background: transparent; } + ul.pagination li.current a, ul.pagination li.current button { + background: #008CBA; + color: #FFFFFF; + font-weight: bold; + cursor: default; } + ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button: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; } + +.side-nav { + display: block; + margin: 0; + padding: 0.875rem 0; + list-style-type: none; + list-style-position: outside; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; } + .side-nav li { + margin: 0 0 0.4375rem 0; + font-size: 0.875rem; + font-weight: normal; } + .side-nav li a:not(.button) { + display: block; + color: #008CBA; + margin: 0; + padding: 0.4375rem 0.875rem; } + .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { + background: rgba(0, 0, 0, 0.025); + color: #1cc7ff; } + .side-nav li.active > a:first-child:not(.button) { + color: #1cc7ff; + font-weight: normal; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; } + .side-nav li.divider { + border-top: 1px solid; + height: 0; + padding: 0; + list-style: none; + border-top-color: white; } + .side-nav li.heading { + color: #008CBA; + font-size: 0.875rem; + font-weight: bold; + text-transform: uppercase; } + +.accordion { + margin-bottom: 0; } + .accordion:before, .accordion:after { + content: " "; + display: table; } + .accordion:after { + clear: both; } + .accordion .accordion-navigation, .accordion dd { + display: block; + margin-bottom: 0 !important; } + .accordion .accordion-navigation.active > a, .accordion dd.active > a { + background: #e8e8e8; } + .accordion .accordion-navigation > a, .accordion dd > a { + background: #EFEFEF; + color: #222222; + padding: 1rem; + display: block; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-size: 1rem; } + .accordion .accordion-navigation > a:hover, .accordion dd > a:hover { + background: #e3e3e3; } + .accordion .accordion-navigation > .content, .accordion dd > .content { + display: none; + padding: 0.9375rem; } + .accordion .accordion-navigation > .content.active, .accordion dd > .content.active { + display: block; + background: #FFFFFF; } + +.text-left { + text-align: left !important; } + +.text-right { + text-align: right !important; } + +.text-center { + text-align: center !important; } + +.text-justify { + text-align: justify !important; } + +@media only screen and (max-width: 40em) { + .small-only-text-left { + text-align: left !important; } + + .small-only-text-right { + text-align: right !important; } + + .small-only-text-center { + text-align: center !important; } + + .small-only-text-justify { + text-align: justify !important; } } +@media only screen { + .small-text-left { + text-align: left !important; } + + .small-text-right { + text-align: right !important; } + + .small-text-center { + text-align: center !important; } + + .small-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 40.063em) and (max-width: 64em) { + .medium-only-text-left { + text-align: left !important; } + + .medium-only-text-right { + text-align: right !important; } + + .medium-only-text-center { + text-align: center !important; } + + .medium-only-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 40.063em) { + .medium-text-left { + text-align: left !important; } + + .medium-text-right { + text-align: right !important; } + + .medium-text-center { + text-align: center !important; } + + .medium-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 64.063em) and (max-width: 90em) { + .large-only-text-left { + text-align: left !important; } + + .large-only-text-right { + text-align: right !important; } + + .large-only-text-center { + text-align: center !important; } + + .large-only-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 64.063em) { + .large-text-left { + text-align: left !important; } + + .large-text-right { + text-align: right !important; } + + .large-text-center { + text-align: center !important; } + + .large-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 90.063em) and (max-width: 120em) { + .xlarge-only-text-left { + text-align: left !important; } + + .xlarge-only-text-right { + text-align: right !important; } + + .xlarge-only-text-center { + text-align: center !important; } + + .xlarge-only-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 90.063em) { + .xlarge-text-left { + text-align: left !important; } + + .xlarge-text-right { + text-align: right !important; } + + .xlarge-text-center { + text-align: center !important; } + + .xlarge-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 120.063em) and (max-width: 99999999em) { + .xxlarge-only-text-left { + text-align: left !important; } + + .xxlarge-only-text-right { + text-align: right !important; } + + .xxlarge-only-text-center { + text-align: center !important; } + + .xxlarge-only-text-justify { + text-align: justify !important; } } +@media only screen and (min-width: 120.063em) { + .xxlarge-text-left { + text-align: left !important; } + + .xxlarge-text-right { + text-align: right !important; } + + .xxlarge-text-center { + text-align: center !important; } + + .xxlarge-text-justify { + text-align: justify !important; } } +/* 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: #0078a0; } + 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, Roboto, Arial, sans-serif; + font-weight: normal; + 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: normal; + 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: normal; + color: #333333; + background-color: #f8f8f8; + border-width: 1px; + border-style: solid; + border-color: #dfdfdf; + padding: 0.125rem 0.3125rem 0.0625rem; } + +/* 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; } +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: #222; + cursor: help; } + +abbr { + text-transform: none; } + abbr[title] { + border-bottom: 1px dotted #DDDDDD; } + +/* 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; } + + h5 { + font-size: 1.125rem; } + + h6 { + font-size: 1rem; } } +.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:after { + 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:after { + border-top-style: solid; + border-width: 0.375rem; + top: 48%; + margin-left: -0.375rem; } + .split.button span:after { + border-color: #FFFFFF transparent transparent transparent; } + .split.button.secondary span { + border-left-color: rgba(255, 255, 255, 0.5); } + .split.button.secondary span:after { + 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:after { + 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:after { + 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:after { + border-top-style: solid; + border-width: 0.3125rem; + top: 48%; + margin-left: -0.375rem; } + .split.button.expand { + padding-left: 2rem; } + .split.button.secondary span:after { + border-color: #333333 transparent transparent transparent; } + .split.button.radius span { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + .split.button.round span { + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + .split.button.no-pip span:before { + border-style: none; } + .split.button.no-pip span:after { + border-style: none; } + .split.button.no-pip span > i { + top: 50%; + display: block; + position: absolute; + left: 50%; + margin-left: -0.28889em; + margin-top: -0.48889em; } + +.reveal-modal-bg { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; + background: rgba(0, 0, 0, 0.45); + z-index: 1004; + display: none; + left: 0; } + +.reveal-modal { + visibility: hidden; + display: none; + position: absolute; + z-index: 1005; + width: 100%; + top: 0; + border-radius: 3px; + left: 0; + background-color: #FFFFFF; + padding: 1.875rem; + border: solid 1px #666666; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } + @media only screen and (max-width: 40em) { + .reveal-modal { + min-height: 100vh; } } + .reveal-modal .column, .reveal-modal .columns { + min-width: 0; } + .reveal-modal > :first-child { + margin-top: 0; } + .reveal-modal > :last-child { + margin-bottom: 0; } + @media only screen and (min-width: 40.063em) { + .reveal-modal { + width: 80%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + @media only screen and (min-width: 40.063em) { + .reveal-modal { + top: 6.25rem; } } + .reveal-modal.radius { + border-radius: 3px; } + .reveal-modal.round { + border-radius: 1000px; } + .reveal-modal.collapse { + padding: 0; } + @media only screen and (min-width: 40.063em) { + .reveal-modal.tiny { + width: 30%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + @media only screen and (min-width: 40.063em) { + .reveal-modal.small { + width: 40%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + @media only screen and (min-width: 40.063em) { + .reveal-modal.medium { + width: 60%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + @media only screen and (min-width: 40.063em) { + .reveal-modal.large { + width: 70%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + @media only screen and (min-width: 40.063em) { + .reveal-modal.xlarge { + width: 95%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + .reveal-modal.full { + top: 0; + left: 0; + height: 100%; + height: 100vh; + min-height: 100vh; + max-width: none !important; + margin-left: 0 !important; } + @media only screen and (min-width: 40.063em) { + .reveal-modal.full { + width: 100%; + max-width: 62.5rem; + left: 0; + right: 0; + margin: 0 auto; } } + .reveal-modal.toback { + z-index: 1003; } + .reveal-modal .close-reveal-modal { + font-size: 2.5rem; + line-height: 1; + position: absolute; + top: 0.625rem; + right: 1.375rem; + color: #AAAAAA; + font-weight: bold; + cursor: pointer; } + +/* 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 #003f54; + color: #008CBA; } + .has-tip.tip-left, .has-tip.tip-right { + float: none !important; } + +.tooltip { + display: none; + position: absolute; + z-index: 1006; + font-weight: normal; + font-size: 0.875rem; + line-height: 1.3; + padding: 0.75rem; + max-width: 300px; + left: 50%; + width: 100%; + color: #FFFFFF; + background: #333333; } + .tooltip > .nub { + display: block; + left: 5px; + position: absolute; + width: 0; + height: 0; + border: solid 5px; + border-color: transparent transparent #333333 transparent; + top: -10px; + pointer-events: none; } + .tooltip > .nub.rtl { + left: auto; + right: 5px; } + .tooltip.radius { + border-radius: 3px; } + .tooltip.round { + border-radius: 1000px; } + .tooltip.round > .nub { + left: 2rem; } + .tooltip.opened { + color: #008CBA !important; + border-bottom: dotted 1px #003f54 !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; } } +/* Clearing Styles */ +.clearing-thumbs, [data-clearing] { + margin-bottom: 0; + margin-left: 0; + list-style: none; } + .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after { + content: " "; + display: table; } + .clearing-thumbs:after, [data-clearing]:after { + clear: both; } + .clearing-thumbs li, [data-clearing] li { + float: left; + margin-right: 10px; } + .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li { + margin-right: 0; } + +.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; } + +.clearing-touch-label { + position: absolute; + top: 50%; + left: 50%; + color: #AAAAAA; + font-size: 0.6em; } + +.visible-img { + height: 95%; + position: relative; } + .visible-img img { + position: absolute; + left: 50%; + top: 50%; + transform: translateY(-50%) translateX(-50%); + -webkit-transform: translateY(-50%) translateX(-50%); + -ms-transform: translateY(-50%) translateX(-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; + clear: none; } + .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; + 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; } } +/* 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 { + border-radius: 3px; } + .progress.radius .meter { + border-radius: 2px; } + .progress.round { + border-radius: 1000px; } + .progress.round .meter { + border-radius: 999px; } + +.sub-nav { + display: block; + width: auto; + overflow: hidden; + margin-bottom: -0.25rem 0 1.125rem; + padding-top: 0.25rem; } + .sub-nav dt { + text-transform: uppercase; } + .sub-nav dt, + .sub-nav dd, + .sub-nav li { + float: left; + margin-left: 1rem; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Roboto, 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; + padding: 0.1875rem 1rem; } + .sub-nav dt a:hover, + .sub-nav dd a:hover, + .sub-nav li a:hover { + color: #737373; } + .sub-nav dt.active a, + .sub-nav dd.active a, + .sub-nav li.active a { + 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: #0078a0; } + +/* Foundation Joyride */ +.joyride-list { + display: none; } + +/* Default styles for the container */ +.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-content-wrapper .joyride-prev-tip { + margin-right: 10px; } + +/* Add a little css triangle pip, older browser just miss out on the fanciness of it */ +.joyride-tip-guide .joyride-nub { + display: block; + position: absolute; + 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: #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: .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; + box-shadow: 0 0 15px #FFFFFF; } + +.joyride-expose-cover { + background: transparent; + border-radius: 3px; + position: absolute; + z-index: 9999; + top: 0; + left: 0; } + +/* Styles for screens that are at least 768px; */ +@media 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; } } +.label { + font-weight: normal; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + text-align: center; + text-decoration: none; + line-height: 1; + white-space: nowrap; + display: inline-block; + position: relative; + margin-bottom: auto; + padding: 0.25rem 0.5rem 0.25rem; + font-size: 0.6875rem; + background-color: #008CBA; + color: #FFFFFF; } + .label.radius { + border-radius: 3px; } + .label.round { + border-radius: 1000px; } + .label.alert { + background-color: #f04124; + color: #FFFFFF; } + .label.warning { + background-color: #f08a24; + color: #FFFFFF; } + .label.success { + background-color: #43AC6A; + color: #FFFFFF; } + .label.secondary { + background-color: #e7e7e7; + color: #333333; } + .label.info { + background-color: #a0d3e8; + color: #333333; } + +.off-canvas-wrap { + -webkit-backface-visibility: hidden; + position: relative; + width: 100%; + overflow: hidden; } + .off-canvas-wrap.move-right, .off-canvas-wrap.move-left { + min-height: 100%; + -webkit-overflow-scrolling: touch; } + +.inner-wrap { + position: relative; + width: 100%; + -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; } + +.tab-bar { + -webkit-backface-visibility: hidden; + background: #333333; + color: #FFFFFF; + height: 2.8125rem; + line-height: 2.8125rem; + position: relative; } + .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 { + color: #FFFFFF; + font-weight: bold; + line-height: 2.8125rem; + margin: 0; } + .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 { + font-size: 1.125rem; } + +.left-small { + width: 2.8125rem; + height: 2.8125rem; + position: absolute; + top: 0; + border-right: solid 1px #1a1a1a; + left: 0; } + +.right-small { + width: 2.8125rem; + height: 2.8125rem; + position: absolute; + top: 0; + border-left: solid 1px #1a1a1a; + right: 0; } + +.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) { + .tab-bar-section.left { + text-align: left; } + .tab-bar-section.right { + text-align: right; } } + .tab-bar-section.left { + left: 0; + right: 2.8125rem; } + .tab-bar-section.right { + left: 2.8125rem; + right: 0; } + .tab-bar-section.middle { + left: 2.8125rem; + right: 2.8125rem; } + +.tab-bar .menu-icon { + text-indent: 2.1875rem; + width: 2.8125rem; + height: 2.8125rem; + display: block; + padding: 0; + color: #FFFFFF; + position: relative; + transform: translate3d(0, 0, 0); } + .tab-bar .menu-icon span::after { + content: ""; + position: absolute; + display: block; + height: 0; + top: 50%; + margin-top: -0.5rem; + left: 0.90625rem; + box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; + width: 1rem; } + .tab-bar .menu-icon span:hover:after { + box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; } + +.left-off-canvas-menu { + -webkit-backface-visibility: hidden; + width: 15.625rem; + top: 0; + bottom: 0; + position: absolute; + overflow-x: hidden; + overflow-y: auto; + background: #333333; + z-index: 1001; + box-sizing: content-box; + transition: transform 500ms ease 0s; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + -ms-transform: translate(-100%, 0); + -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: 0; } + .left-off-canvas-menu * { + -webkit-backface-visibility: hidden; } + +.right-off-canvas-menu { + -webkit-backface-visibility: hidden; + width: 15.625rem; + top: 0; + bottom: 0; + position: absolute; + overflow-x: hidden; + overflow-y: auto; + background: #333333; + z-index: 1001; + box-sizing: content-box; + transition: transform 500ms ease 0s; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + -ms-transform: translate(100%, 0); + -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; } + .right-off-canvas-menu * { + -webkit-backface-visibility: hidden; } + +ul.off-canvas-list { + list-style-type: none; + padding: 0; + margin: 0; } + ul.off-canvas-list li label { + display: block; + padding: 0.3rem 0.9375rem; + color: #999999; + text-transform: uppercase; + font-size: 0.75rem; + 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; + transition: background 300ms ease; } + ul.off-canvas-list li a:hover { + background: #242424; } + +.move-right > .inner-wrap { + -ms-transform: translate(15.625rem, 0); + -webkit-transform: translate3d(15.625rem, 0, 0); + -moz-transform: translate3d(15.625rem, 0, 0); + -ms-transform: translate3d(15.625rem, 0, 0); + -o-transform: translate3d(15.625rem, 0, 0); + transform: translate3d(15.625rem, 0, 0); } +.move-right .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: transparent; } + @media only screen and (min-width: 40.063em) { + .move-right .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.move-left > .inner-wrap { + -ms-transform: translate(-15.625rem, 0); + -webkit-transform: translate3d(-15.625rem, 0, 0); + -moz-transform: translate3d(-15.625rem, 0, 0); + -ms-transform: translate3d(-15.625rem, 0, 0); + -o-transform: translate3d(-15.625rem, 0, 0); + transform: translate3d(-15.625rem, 0, 0); } +.move-left .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: transparent; } + @media only screen and (min-width: 40.063em) { + .move-left .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap .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: transparent; } + @media only screen and (min-width: 40.063em) { + .offcanvas-overlap .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap-left .right-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap-left .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: transparent; } + @media only screen and (min-width: 40.063em) { + .offcanvas-overlap-left .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap-right .left-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap-right .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: transparent; } + @media only screen and (min-width: 40.063em) { + .offcanvas-overlap-right .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.no-csstransforms .left-off-canvas-menu { + left: -15.625rem; } +.no-csstransforms .right-off-canvas-menu { + right: -15.625rem; } +.no-csstransforms .move-left > .inner-wrap { + right: 15.625rem; } +.no-csstransforms .move-right > .inner-wrap { + left: 15.625rem; } + +.left-submenu { + -webkit-backface-visibility: hidden; + width: 15.625rem; + top: 0; + bottom: 0; + position: absolute; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + background: #333333; + z-index: 1002; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + -ms-transform: translate(-100%, 0); + -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: 0; + -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; } + .left-submenu * { + -webkit-backface-visibility: hidden; } + .left-submenu .back > a { + padding: 0.3rem 0.9375rem; + color: #999999; + text-transform: uppercase; + font-weight: bold; + background: #444; + border-top: 1px solid #5e5e5e; + border-bottom: none; + margin: 0; } + .left-submenu .back > a:hover { + background: #303030; + border-top: 1px solid #5e5e5e; + border-bottom: none; } + .left-submenu .back > a:before { + content: "\AB"; + margin-right: 0.5rem; + display: inline; } + .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap { + -ms-transform: translate(0%, 0); + -webkit-transform: translate3d(0%, 0, 0); + -moz-transform: translate3d(0%, 0, 0); + -ms-transform: translate3d(0%, 0, 0); + -o-transform: translate3d(0%, 0, 0); + transform: translate3d(0%, 0, 0); } + +.right-submenu { + -webkit-backface-visibility: hidden; + width: 15.625rem; + top: 0; + bottom: 0; + position: absolute; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + background: #333333; + z-index: 1002; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + -ms-transform: translate(100%, 0); + -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; + -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; } + .right-submenu * { + -webkit-backface-visibility: hidden; } + .right-submenu .back > a { + padding: 0.3rem 0.9375rem; + color: #999999; + text-transform: uppercase; + font-weight: bold; + background: #444; + border-top: 1px solid #5e5e5e; + border-bottom: none; + margin: 0; } + .right-submenu .back > a:hover { + background: #303030; + border-top: 1px solid #5e5e5e; + border-bottom: none; } + .right-submenu .back > a:after { + content: "\BB"; + margin-left: 0.5rem; + display: inline; } + .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap { + -ms-transform: translate(0%, 0); + -webkit-transform: translate3d(0%, 0, 0); + -moz-transform: translate3d(0%, 0, 0); + -ms-transform: translate3d(0%, 0, 0); + -o-transform: translate3d(0%, 0, 0); + transform: translate3d(0%, 0, 0); } + +.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after { + content: "\BB"; + margin-left: 0.5rem; + display: inline; } + +.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before { + content: "\AB"; + margin-right: 0.5rem; + display: inline; } + +/* Foundation Dropdowns */ +.f-dropdown { + position: absolute; + left: -9999px; + list-style: none; + margin-left: 0; + outline: none; + width: 100%; + max-height: none; + height: auto; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + z-index: 89; + 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: 89; } + .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: 88; } + .f-dropdown.right:before { + left: auto; + right: 10px; } + .f-dropdown.right:after { + left: auto; + right: 9px; } + .f-dropdown.drop-right { + position: absolute; + left: -9999px; + list-style: none; + margin-left: 0; + outline: none; + width: 100%; + max-height: none; + height: auto; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + z-index: 89; + margin-top: 0; + margin-left: 2px; + max-width: 200px; } + .f-dropdown.drop-right > *:first-child { + margin-top: 0; } + .f-dropdown.drop-right > *:last-child { + margin-bottom: 0; } + .f-dropdown.drop-right:before { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 6px; + border-color: transparent #FFFFFF transparent transparent; + border-right-style: solid; + position: absolute; + top: 10px; + left: -12px; + z-index: 89; } + .f-dropdown.drop-right:after { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 7px; + border-color: transparent #cccccc transparent transparent; + border-right-style: solid; + position: absolute; + top: 9px; + left: -14px; + z-index: 88; } + .f-dropdown.drop-left { + position: absolute; + left: -9999px; + list-style: none; + margin-left: 0; + outline: none; + width: 100%; + max-height: none; + height: auto; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + z-index: 89; + margin-top: 0; + margin-left: -2px; + max-width: 200px; } + .f-dropdown.drop-left > *:first-child { + margin-top: 0; } + .f-dropdown.drop-left > *:last-child { + margin-bottom: 0; } + .f-dropdown.drop-left:before { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 6px; + border-color: transparent transparent transparent #FFFFFF; + border-left-style: solid; + position: absolute; + top: 10px; + right: -12px; + left: auto; + z-index: 89; } + .f-dropdown.drop-left:after { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 7px; + border-color: transparent transparent transparent #cccccc; + border-left-style: solid; + position: absolute; + top: 9px; + right: -14px; + left: auto; + z-index: 88; } + .f-dropdown.drop-top { + position: absolute; + left: -9999px; + list-style: none; + margin-left: 0; + outline: none; + width: 100%; + max-height: none; + height: auto; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + z-index: 89; + margin-top: -2px; + margin-left: 0; + max-width: 200px; } + .f-dropdown.drop-top > *:first-child { + margin-top: 0; } + .f-dropdown.drop-top > *:last-child { + margin-bottom: 0; } + .f-dropdown.drop-top:before { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 6px; + border-color: #FFFFFF transparent transparent transparent; + border-top-style: solid; + position: absolute; + top: auto; + bottom: -12px; + left: 10px; + right: auto; + z-index: 89; } + .f-dropdown.drop-top:after { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 7px; + border-color: #cccccc transparent transparent transparent; + border-top-style: solid; + position: absolute; + top: auto; + bottom: -14px; + left: 9px; + right: auto; + z-index: 88; } + .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.radius { + border-radius: 3px; } + .f-dropdown li a { + display: block; + padding: 0.5rem; + color: #555555; } + .f-dropdown.content { + position: absolute; + left: -9999px; + list-style: none; + margin-left: 0; + outline: none; + padding: 1.25rem; + width: 100%; + height: auto; + max-height: none; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + z-index: 89; + 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; } + .f-dropdown.mega { + width: 100% !important; + max-width: 100% !important; } + .f-dropdown.mega.open { + left: 0 !important; } + +table { + background: #FFFFFF; + margin-bottom: 1.25rem; + border: solid 1px #DDDDDD; + table-layout: auto; } + table caption { + background: transparent; + color: #222222; + font-size: 1rem; + font-weight: bold; } + table thead { + background: #F5F5F5; } + table thead tr th, + table thead tr td { + padding: 0.5rem 0.625rem 0.625rem; + font-size: 0.875rem; + font-weight: bold; + color: #222222; } + table tfoot { + background: #F5F5F5; } + table tfoot tr th, + table tfoot tr td { + padding: 0.5rem 0.625rem 0.625rem; + font-size: 0.875rem; + font-weight: bold; + color: #222222; } + table tr th, + table tr td { + padding: 0.5625rem 0.625rem; + font-size: 0.875rem; + color: #222222; + text-align: left; } + table tr.even, table tr.alt, table tr:nth-of-type(even) { + background: #F9F9F9; } + table thead tr th, + table tfoot tr th, + table tfoot tr td, + table tbody tr th, + table tbody tr td, + table tr td { + display: table-cell; + line-height: 1.125rem; } + +.range-slider { + position: relative; + border: 1px solid #DDDDDD; + margin: 1.25rem 0; + -ms-touch-action: none; + touch-action: none; + display: block; + width: 100%; + height: 1rem; + background: #FAFAFA; } + .range-slider.vertical-range { + position: relative; + border: 1px solid #DDDDDD; + margin: 1.25rem 0; + -ms-touch-action: none; + touch-action: none; + display: inline-block; + width: 1rem; + height: 12.5rem; } + .range-slider.vertical-range .range-slider-handle { + margin-top: 0; + margin-left: -0.5rem; + position: absolute; + bottom: -10.5rem; } + .range-slider.vertical-range .range-slider-active-segment { + width: 0.875rem; + height: auto; + bottom: 0; } + .range-slider.radius { + background: #FAFAFA; + border-radius: 3px; } + .range-slider.radius .range-slider-handle { + background: #008CBA; + border-radius: 3px; } + .range-slider.radius .range-slider-handle:hover { + background: #007ba4; } + .range-slider.round { + background: #FAFAFA; + border-radius: 1000px; } + .range-slider.round .range-slider-handle { + background: #008CBA; + border-radius: 1000px; } + .range-slider.round .range-slider-handle:hover { + background: #007ba4; } + .range-slider.disabled, .range-slider[disabled] { + background: #FAFAFA; + cursor: not-allowed; + opacity: 0.7; } + .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle { + background: #008CBA; + cursor: default; + opacity: 0.7; } + .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover { + background: #007ba4; } + +.range-slider-active-segment { + display: inline-block; + position: absolute; + height: 0.875rem; + background: #e5e5e5; } + +.range-slider-handle { + display: inline-block; + position: absolute; + z-index: 1; + top: -0.3125rem; + width: 2rem; + height: 1.375rem; + border: 1px solid none; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background: #008CBA; } + .range-slider-handle:hover { + background: #007ba4; } + +[class*="block-grid-"] { + display: block; + padding: 0; + margin: 0 -0.625rem; } + [class*="block-grid-"]:before, [class*="block-grid-"]:after { + content: " "; + display: table; } + [class*="block-grid-"]:after { + clear: both; } + [class*="block-grid-"] > li { + display: block; + height: auto; + float: left; + padding: 0 0.625rem 1.25rem; } + +@media only screen { + .small-block-grid-1 > li { + width: 100%; + list-style: none; } + .small-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + + .small-block-grid-2 > li { + width: 50%; + list-style: none; } + .small-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + + .small-block-grid-3 > li { + width: 33.33333%; + list-style: none; } + .small-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + + .small-block-grid-4 > li { + width: 25%; + list-style: none; } + .small-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + + .small-block-grid-5 > li { + width: 20%; + list-style: none; } + .small-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + + .small-block-grid-6 > li { + width: 16.66667%; + list-style: none; } + .small-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + + .small-block-grid-7 > li { + width: 14.28571%; + list-style: none; } + .small-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + + .small-block-grid-8 > li { + width: 12.5%; + list-style: none; } + .small-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + + .small-block-grid-9 > li { + width: 11.11111%; + list-style: none; } + .small-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + + .small-block-grid-10 > li { + width: 10%; + list-style: none; } + .small-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + + .small-block-grid-11 > li { + width: 9.09091%; + list-style: none; } + .small-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + + .small-block-grid-12 > li { + width: 8.33333%; + list-style: none; } + .small-block-grid-12 > li:nth-of-type(1n) { + 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%; + list-style: none; } + .medium-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + + .medium-block-grid-2 > li { + width: 50%; + list-style: none; } + .medium-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + + .medium-block-grid-3 > li { + width: 33.33333%; + list-style: none; } + .medium-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + + .medium-block-grid-4 > li { + width: 25%; + list-style: none; } + .medium-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + + .medium-block-grid-5 > li { + width: 20%; + list-style: none; } + .medium-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + + .medium-block-grid-6 > li { + width: 16.66667%; + list-style: none; } + .medium-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + + .medium-block-grid-7 > li { + width: 14.28571%; + list-style: none; } + .medium-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + + .medium-block-grid-8 > li { + width: 12.5%; + list-style: none; } + .medium-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + + .medium-block-grid-9 > li { + width: 11.11111%; + list-style: none; } + .medium-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + + .medium-block-grid-10 > li { + width: 10%; + list-style: none; } + .medium-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + + .medium-block-grid-11 > li { + width: 9.09091%; + list-style: none; } + .medium-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + + .medium-block-grid-12 > li { + width: 8.33333%; + list-style: none; } + .medium-block-grid-12 > li:nth-of-type(1n) { + 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%; + list-style: none; } + .large-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + + .large-block-grid-2 > li { + width: 50%; + list-style: none; } + .large-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + + .large-block-grid-3 > li { + width: 33.33333%; + list-style: none; } + .large-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + + .large-block-grid-4 > li { + width: 25%; + list-style: none; } + .large-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + + .large-block-grid-5 > li { + width: 20%; + list-style: none; } + .large-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + + .large-block-grid-6 > li { + width: 16.66667%; + list-style: none; } + .large-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + + .large-block-grid-7 > li { + width: 14.28571%; + list-style: none; } + .large-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + + .large-block-grid-8 > li { + width: 12.5%; + list-style: none; } + .large-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + + .large-block-grid-9 > li { + width: 11.11111%; + list-style: none; } + .large-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + + .large-block-grid-10 > li { + width: 10%; + list-style: none; } + .large-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + + .large-block-grid-11 > li { + width: 9.09091%; + list-style: none; } + .large-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + + .large-block-grid-12 > li { + width: 8.33333%; + list-style: none; } + .large-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } +.flex-video { + position: relative; + padding-top: 1.5625rem; + padding-bottom: 67.5%; + height: 0; + margin-bottom: 1rem; + overflow: hidden; } + .flex-video.widescreen { + padding-bottom: 56.34%; } + .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%; } + +.keystroke, +kbd { + background-color: #ededed; + border-color: #dddddd; + color: #222222; + border-style: solid; + border-width: 1px; + margin: 0; + font-family: "Consolas", "Menlo", "Courier", monospace; + font-size: inherit; + padding: 0.125rem 0.25rem 0; + border-radius: 3px; } + +.switch { + padding: 0; + border: none; + position: relative; + outline: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } + .switch label { + display: block; + margin-bottom: 1rem; + position: relative; + color: transparent; + background: #DDDDDD; + text-indent: 100%; + width: 4rem; + height: 2rem; + cursor: pointer; + transition: left 0.15s ease-out; } + .switch input { + opacity: 0; + position: absolute; + top: 9px; + left: 10px; + padding: 0; } + .switch input + label { + margin-left: 0; + margin-right: 0; } + .switch label:after { + content: ""; + display: block; + background: #FFFFFF; + position: absolute; + top: .25rem; + left: .25rem; + width: 1.5rem; + height: 1.5rem; + -webkit-transition: left 0.15s ease-out; + -moz-transition: left 0.15s ease-out; + -o-transition: translate3d(0, 0, 0); + transition: left 0.15s ease-out; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + .switch input:checked + label { + background: #008CBA; } + .switch input:checked + label:after { + left: 2.25rem; } + .switch label { + width: 4rem; + height: 2rem; } + .switch label:after { + width: 1.5rem; + height: 1.5rem; } + .switch input:checked + label:after { + left: 2.25rem; } + .switch label { + color: transparent; + background: #DDDDDD; } + .switch label:after { + background: #FFFFFF; } + .switch input:checked + label { + background: #008CBA; } + .switch.large label { + width: 5rem; + height: 2.5rem; } + .switch.large label:after { + width: 2rem; + height: 2rem; } + .switch.large input:checked + label:after { + left: 2.75rem; } + .switch.small label { + width: 3.5rem; + height: 1.75rem; } + .switch.small label:after { + width: 1.25rem; + height: 1.25rem; } + .switch.small input:checked + label:after { + left: 2rem; } + .switch.tiny label { + width: 3rem; + height: 1.5rem; } + .switch.tiny label:after { + width: 1rem; + height: 1rem; } + .switch.tiny input:checked + label:after { + left: 1.75rem; } + .switch.radius label { + border-radius: 4px; } + .switch.radius label:after { + border-radius: 3px; } + .switch.round { + border-radius: 1000px; } + .switch.round label { + border-radius: 2rem; } + .switch.round label:after { + border-radius: 2rem; } + +/* small displays */ +@media only screen { + .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + + .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + + .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + + .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + + table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + + thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + + tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + + tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + + th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } +/* medium displays */ +@media only screen and (min-width: 40.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } +/* large displays */ +@media only screen and (min-width: 64.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } +/* xlarge displays */ +@media only screen and (min-width: 90.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } +/* xxlarge displays */ +@media only screen and (min-width: 120.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); } + + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + 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 !important; } + +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; } + + /* Specific visibility for tables */ + table.show-for-landscape, table.hide-for-portrait { + display: table !important; } + + 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; } + + /* Specific visibility for tables */ + table.show-for-portrait, table.hide-for-landscape { + display: table !important; } + + 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 !important; } + +.touch table.show-for-touch { + display: table !important; } + +thead.hide-for-touch { + display: table-header-group !important; } + +.touch thead.show-for-touch { + display: table-header-group !important; } + +tbody.hide-for-touch { + display: table-row-group !important; } + +.touch tbody.show-for-touch { + display: table-row-group !important; } + +tr.hide-for-touch { + display: table-row !important; } + +.touch tr.show-for-touch { + display: table-row !important; } + +td.hide-for-touch { + display: table-cell !important; } + +.touch td.show-for-touch { + display: table-cell !important; } + +th.hide-for-touch { + display: table-cell !important; } + +.touch th.show-for-touch { + display: table-cell !important; } + +/* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) +*/ +.print-only { + display: none !important; } + +@media print { + * { + background: transparent !important; + color: #000000 !important; + /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; } + + .show-for-print { + display: block; } + + .hide-for-print { + display: none; } + + table.show-for-print { + display: table !important; } + + thead.show-for-print { + display: table-header-group !important; } + + tbody.show-for-print { + display: table-row-group !important; } + + tr.show-for-print { + display: table-row !important; } + + td.show-for-print { + display: table-cell !important; } + + th.show-for-print { + display: table-cell !important; } + + 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; } + + @page { + margin: 0.5cm; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + + h2, + h3 { + page-break-after: avoid; } + + .hide-on-print { + display: none !important; } + + .print-only { + display: block !important; } + + .hide-for-print { + display: none !important; } + + .show-for-print { + display: inherit !important; } } +/* Print visibility */ +@media print { + .show-for-print { + display: block; } + + .hide-for-print { + display: none; } + + table.show-for-print { + display: table !important; } + + thead.show-for-print { + display: table-header-group !important; } + + tbody.show-for-print { + display: table-row-group !important; } + + tr.show-for-print { + display: table-row !important; } + + td.show-for-print { + display: table-cell !important; } + + th.show-for-print { + display: table-cell !important; } } diff --git a/stat_tracker/static/foundation.min.js b/stat_tracker/static/foundation.min.js new file mode 100644 index 0000000..4a23ccc --- /dev/null +++ b/stat_tracker/static/foundation.min.js @@ -0,0 +1,6081 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2014, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var i = class_array.length; + var head = $('head'); + + while (i--) { + if (head.has('.' + class_array[i]).length === 0) { + head.append(''); + } + } + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // 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) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_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); + } + }; + + /* + https://github.com/paulirish/matchMedia.js + */ + + window.matchMedia = window.matchMedia || (function ( doc ) { + + '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(jQuery) { + + + // 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, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + 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); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + 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) { + 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); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + window.Foundation = { + name : 'Foundation', + + version : '5.5.1', + + media_queries : { + 'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var 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; + + this.set_namespace(); + + 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)); + } + } + + S(window).load(function () { + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = 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; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + 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 + ' }'); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + if (unloaded === 0) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + is_small_up : function () { + return this.match(Foundation.media_queries.small); + }, + + is_medium_up : function () { + return this.match(Foundation.media_queries.medium); + }, + + is_large_up : function () { + return this.match(Foundation.media_queries.large); + }, + + is_xlarge_up : function () { + return this.match(Foundation.media_queries.xlarge); + }, + + is_xxlarge_up : function () { + return this.match(Foundation.media_queries.xxlarge); + }, + + is_small_only : function () { + return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_medium_only : function () { + return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_large_only : function () { + return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xxlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up(); + } + } + }; + + $.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, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.1', + + settings : { + start : 0, + end : 100, + step : 1, + precision : null, + initial : null, + display_selector : '', + vertical : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change').trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasOwnProperty('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.1', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + 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 + prev_button : true, // true or false to control whether a prev 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 + abort_on_close : true, // When true, the close event will not fire any callback + 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 : '', + prev_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 random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + 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(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + 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); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', 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(this.attr_name(true) + '-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; + this.settings.riding = true; + + // 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 + var i = int_settings_count; + while (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.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('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.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + 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, is_prev); + } + + 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 and hide bg if not modal + if (!/body/i.test(this.settings.$target.selector)) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + 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(); + + setTimeout(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(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } 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(init, is_prev); + + } 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, is_prev) { + 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 { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } 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(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('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').stop().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) { + var $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 (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + 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 + topAdjustment), + 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 + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + 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 + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + 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 + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + 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) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + 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-' + this.random_str(6); + + 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, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (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 (abort) { + 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(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + 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, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.1', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + vals = equalizer.find('[' + this.attr_name() + '-watch]:visible'), + settings = equalizer.data(this.attr_name(true) + '-init'); + + if (vals.length === 0) { + return; + } + var firstTopOffset = vals.first().offset().top; + settings.before_height_change(); + equalizer.trigger('before-height-change').trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + vals.each(function () { + var el = $(this); + if (el.offset().top !== firstTopOffset) { + isStacked = true; + } + }); + + if (settings.equalize_on_stack === false) { + if (isStacked) { + return; + } + }; + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + settings.after_height_change(); + equalizer.trigger('after-height-change').trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this); + self.image_loaded(self.S('img', this), function () { + self.equalize($eq_target) + }); + }); + } + }; +})(jQuery, window, window.document); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.1', + + settings : { + active_class : 'open', + disabled_class : 'disabled', + mega_class : 'mega', + align : 'bottom', + is_hover : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]')) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function () { + var original_target = $('[' + self.attr_name() + '=' + dropdown[0].id + ']') || $('aria-controls=' + dropdown[0].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed').trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened').trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings; + + this.clear_idx(); + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = window.outerWidth; + } + + var actualMarginWidth = (window.outerWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega')) { + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = window.outerWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (t.offset().left - this.outerWidth() <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off : function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.1', + + 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, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializers and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-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 = S('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) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(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 + }; + + S(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 = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_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) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
'); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
' + data.viewing + + data.grid + '
', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + image + .attr('src', this.load($image)) + .css('visibility', 'hidden'); + + startLoad.call(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))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + 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) { + this.S('a.clearing-close').trigger('click').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(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) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + } else { + href = $image.closest('a').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 = this.S('a', img); + + if (new_a.length) { + new_img.src = new_a.attr('href'); + } else { + new_img.src = this.S('img', img).attr('src'); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + container + .html(caption) + .show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click', [current, target]).trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + 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 = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.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.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.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; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().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(self.slides().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 = $('[data-orbit-link="' + self.slides().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.stack_on_small) { + container.addClass(settings.stack_on_small_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('
    '); + self.slides().each(function (idx, el) { + var bullet = $('
  1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + 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 = self.slides(); + + 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.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 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.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 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 = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + 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(); + Foundation.utils.image_loaded(this.slides().children('img'), 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); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [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('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + 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.5.1', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + 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', + preloader_class : 'preloader', + slide_selector : '*', + 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(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.1', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open').trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close').trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.1', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close').trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close').trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.1', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + 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) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('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}); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(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 { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', 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 + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // 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) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + if (modal.hasClass('open') && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].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.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + if (open_modal.length > 0) { + if (settings.multiple_opened) { + this.to_back(open_modal); + } else { + this.hide(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) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + modal.html(data); + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + if (open_modal.length > 0) { + if (settings.multiple_opened) { + this.to_back(open_modal); + } else { + this.hide(open_modal, settings.css.close); + } + } + self.show(modal, settings.css.open); + } + }); + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings; + + 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').trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + this.toggle_bg(modal, false); + this.to_front(modal); + } + + if (settings.multiple_opened) { + this.hide(modal, settings.css.close, settings); + this.to_front($($.makeArray(open_modals).reverse()[1])); + } else { + 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, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
    ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
    ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.trigger('opened').trigger('opened.fndtn.reveal'); + }.bind(this)) + .addClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + if (animData.fade) { + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.trigger('opened').trigger('opened.fndtn.reveal'); + }.bind(this)) + .addClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'); + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.css(css).trigger('closed').trigger('closed.fndtn.reveal'); + }.bind(this)) + .removeClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.css(css).trigger('closed').trigger('closed.fndtn.reveal'); + }.bind(this)) + .removeClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + 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(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + 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 () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.1', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + settings : { + load_attr : 'interchange', + + named_queries : { + 'default' : 'only screen', + 'small' : Foundation.media_queries['small'], + 'small-only' : Foundation.media_queries['small-only'], + 'medium' : Foundation.media_queries['medium'], + 'medium-only' : Foundation.media_queries['medium-only'], + 'large' : Foundation.media_queries['large'], + 'large-only' : Foundation.media_queries['large-only'], + 'xlarge' : Foundation.media_queries['xlarge'], + 'xlarge-only' : Foundation.media_queries['xlarge-only'], + '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(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.load('images'); + this.load('nodes'); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 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]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][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[count]}; + } + } + } + + 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, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (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, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (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 i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize').trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + media_query = scenario[1]; + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query)]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + var split = raw_arr[i].split(/\(([^\)]*?)(\))$/); + + if (split.length > 1) { + var params = this.parse_scenario(split); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (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, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.1', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href^="#"]', function (e) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, '#' + hash); + } else { + location.hash = '#' + hash; + } + }); + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + + $(window) + .on('resize.fndtn.magellan', self.throttle(this.set_expedition_position.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.1', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this; + var S = this.S; + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > .accordion-navigation > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> .accordion-navigation', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] .accordion-navigation'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('.accordion-navigation').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + }); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.1', + + settings : { + index : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all' + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + 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) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + // fix for iOS browsers + if (sticky && navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) { + return true; + } + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-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%'}); + } + + self.S('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'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + 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'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.toggle(this); + }) + .on('click.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) { + var li = $(this).closest('li'); + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-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'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-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')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize').trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-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); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-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 (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(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; + }, + + small : function () { + return matchMedia(Foundation.media_queries['small']).matches; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + assemble : function (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
  2. '); + } else { + $titleLi = $('
  3. '); + } + + // 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(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar, this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset'); + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.1', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + this.bindings(method, options); + + // store the initial href, which is used to allow correct behaviour of the + // browser back button when deep linking is turned on. + self.entry_location = window.location.href; + + this.handle_location_hash_change(); + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + e.stopPropagation(); + self.toggle_active_tab(S(this).parent()); + } + }; + + S(this.scope) + .off('.tab') + // Click event: tab title + .on('focus.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior ) + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior ) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var is_entry_location = window.location.href === self.entry_location, + default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : is_entry_location ? window.location.hash :'fndtn-' + self.default_tab_hashes[0].replace('#', '') + + if (!(is_entry_location && hash === default_hash)) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (S(this).data(this.data_attr('tab-content'))) { + target_hash = '#' + S(this).data(this.data_attr('tab-content')).split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false', tabindex : -1}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true', tabindex : -1}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [tab]); + tabs.triggerHandler('toggled', [target]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.1', + + settings : { + live_validate : true, + validate_on_blur : true, + focus_on_invalid : true, + error_labels : true, // labels with a for="inputId" will recieve an `error` class + error_class : 'error', + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // 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,8}$/, + + datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, + // 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])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + form + .off('.abide') + .on('submit.fndtn.abide validate.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').get(), e, is_ajax); + }) + .on('reset', function () { + return self.reset($(this)); + }) + .find('input, textarea, select') + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + if (settings.validate_on_blur === true) { + self.validate([this], e); + } + }) + .on('keydown.fndtn.abide', function (e) { + if (settings.live_validate === true && e.which != 9) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([this], e); + }.bind(this), settings.timeout); + } + }); + }, + + reset : function (form) { + form.removeAttr(this.invalid_attr); + $(this.invalid_attr, form).removeAttr(this.invalid_attr); + $('.' + this.settings.error_class, form).not('small').removeClass(this.settings.error_class); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + 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').trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid').trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (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]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = [], + form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (validator) { + valid = this.settings.validators[validator].apply(this, [el, required, parent]); + el_validations.push(valid); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations.push(el_validations[0]); + } + validations = [validations.every(function (valid) {return valid;})]; + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + } + }; +}(jQuery, window, window.document)); +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.1', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + } + + if (/enter|over/i.test(e.type)) { + this.timer = setTimeout(function () { + var tip = self.showTip($this); + }.bind(this), self.settings.hover_delay); + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + clearTimeout(this.timer); + self.hide($this); + } else { + self.showTip($this); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + self.hide($(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + self.hide(S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var id = $target.attr('id'), + dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return (id && id.length > 0) ? id : dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
    ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + 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(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + 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) { + nub.addClass('rtl'); + left = target.offset().left + target.outerWidth() - tip.outerWidth(); + } + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left); + tip.removeClass('tip-override'); + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (target.offset().top - tip.outerHeight()), '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'); + nub.removeClass('rtl'); + } 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'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(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); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(150); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(150, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/stat_tracker/static/graph.png b/stat_tracker/static/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f13232abb9a2e91be86b74b41afcdb34d4284c17 GIT binary patch literal 155534 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

    9M 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%0DH|OI$p}#eU{nmmAmQBT1 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 MUHx3vIVCg!0E1G3U;qFB literal 0 HcmV?d00001 diff --git a/stat_tracker/static/jquery-1.11.2.min.js b/stat_tracker/static/jquery-1.11.2.min.js new file mode 100644 index 0000000..e6a051d --- /dev/null +++ b/stat_tracker/static/jquery-1.11.2.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=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)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,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(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===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]||gb.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]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(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){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(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 wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(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&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.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 m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"

    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).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=wb(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=wb(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?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("