diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba74660 --- /dev/null +++ b/.gitignore @@ -0,0 +1,57 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..809ea7f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu +RUN apt-get update +RUN apt-get dist-upgrade +RUN apt-get install -y python-pip mysql-client libmysqlclient-dev apache2 libapache2-mod-wsgi libapache2-mod-wsgi +COPY install/requirements.txt /tmp +RUN pip install -r /tmp/requirements.txt && rm /tmp/requirements.txt + +RUN useradd -m -U -d /home/first -s /bin/bash first +COPY ./server /home/first +RUN chown first:first /home/first + +COPY install/vhost.conf /etc/apache2/sites-available/first.conf +COPY install/google_secret.json /usr/local/etc + +RUN /usr/sbin/a2dissite 000-default +RUN /usr/sbin/a2ensite first +RUN /usr/sbin/a2enmod ssl +RUN /usr/sbin/a2enmod rewrite + +COPY install/run.sh /usr/local/bin +EXPOSE 80 +EXPOSE 443 +CMD ["/usr/local/bin/run.sh"] diff --git a/LICENSE.md b/LICENSE similarity index 100% rename from LICENSE.md rename to LICENSE diff --git a/README.md b/README.md new file mode 100644 index 0000000..3fa591e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# FIRST-server diff --git a/data/mongodb/.gitignore b/data/mongodb/.gitignore new file mode 100644 index 0000000..94548af --- /dev/null +++ b/data/mongodb/.gitignore @@ -0,0 +1,3 @@ +* +*/ +!.gitignore diff --git a/data/mysql/.gitignore b/data/mysql/.gitignore new file mode 100644 index 0000000..94548af --- /dev/null +++ b/data/mysql/.gitignore @@ -0,0 +1,3 @@ +* +*/ +!.gitignore diff --git a/data/ssl/.gitignore b/data/ssl/.gitignore new file mode 100644 index 0000000..8e25fd3 --- /dev/null +++ b/data/ssl/.gitignore @@ -0,0 +1,2 @@ +apache.crt +apache.key diff --git a/data/ssl/.gitkeep b/data/ssl/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f930b38 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,41 @@ +version: '2' +services: + api: + build: . + ports: + - 80:80 + - 443:443 + depends_on: + - mongo + - mysql + environment: + - MYSQL_USER=root + - MYSQL_PASSWORD=password12345 + - MYSQL_DATABASE=first_db + - MYSQL_HOST=mysql + - MYSQL_PORT=3306 + - MONGO_HOST=mongo + - MONGO_PORT=27017 + - MONGO_NAME=first_db + - GOOGLE_SECRET=/usr/local/etc/google_secret.json + volumes: + - ./data/ssl:/etc/apache2/ssl + restart: always + + mongo: + image: mongo + expose: + - 27017 + volumes: + - ./data/mongodb:/data/db + restart: always + mysql: + image: mysql + expose: + - 3306 + environment: + - MYSQL_ROOT_PASSWORD=password12345 + - MYSQL_DATABASE=first_db + volumes: + - ./data/mysql:/var/lib/mysql + restart: always diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..c7ca0fa --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,225 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " epub3 to make an epub3" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + @echo " dummy to check syntax errors of document sources" + +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* + +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: pickle +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +.PHONY: json +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +.PHONY: htmlhelp +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +.PHONY: qthelp +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FIRST.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FIRST.qhc" + +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/FIRST" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FIRST" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: epub3 +epub3: + $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 + @echo + @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." + +.PHONY: latex +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +.PHONY: latexpdf +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: latexpdfja +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: text +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +.PHONY: man +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +.PHONY: texinfo +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +.PHONY: info +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +.PHONY: gettext +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +.PHONY: changes +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." + +.PHONY: dummy +dummy: + $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy + @echo + @echo "Build finished. Dummy builder generates no files." diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..05ddb4f --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,453 @@ +# -*- coding: utf-8 -*- +# +# FIRST Server Documentation build configuration file, created by +# sphinx-quickstart on Fri Aug 26 12:04:45 2016. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys +import types +sys.path.insert(0, os.path.join(os.path.abspath('..'), 'server')) + +import sphinx.ext.autodoc + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.todo', + 'sphinx.ext.viewcode', + 'sphinxcontrib.napoleon', +] + +# Autodoc settings +autoclass_content = 'class' +autodoc_mock_imports = ['httplib2', 'oauth2client', 'apiclient', 'mongoengine', + 'django', 'bson', 'distorm3', 'mongoengine.queryset', + 'bson.objectid'] + +class _MyMockModule(sphinx.ext.autodoc._MockModule): + '''Class created to get around autodoc issues with server's dependencies.''' + @classmethod + def __getattr__(self, name): + if name[0] == name[0].upper(): + # slight change from original _MockModule implementation + def mockfunc(*args, **kwargs): pass + mocktype = type(name, (), {'__init__' : mockfunc}) + mocktype.__module__ = __name__ + return mocktype + + else: + return _MyMockModule() + +sphinx.ext.autodoc._MockModule = _MyMockModule + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +# +# source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'FIRST-server' +copyright = u'2016, Angel M. Villegas' +author = u'Angel M. Villegas' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'0.1' +# The full version, including alpha/beta/rc tags. +release = u'0.1 BETA' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +# +# today = '' +# +# Else, today_fmt is used as the format for a strftime call. +# +# today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +# +# default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +# +# add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +# +# add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +# +# show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +# modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +# keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +# html_theme_path = [] + +# The name for this set of Sphinx documents. +# " v documentation" by default. +# +# html_title = u'FIRST vClosed BETA' + +# A shorter title for the navigation bar. Default is the same as html_title. +# +# html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +# +# html_logo = None + +# The name of an image file (relative to this directory) to use as a favicon of +# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +# +# html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +# +# html_extra_path = [] + +# If not None, a 'Last updated on:' timestamp is inserted at every page +# bottom, using the given strftime format. +# The empty string is equivalent to '%b %d, %Y'. +# +# html_last_updated_fmt = None + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +# +# html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +# +# html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +# +# html_additional_pages = {} + +# If false, no module index is generated. +# +# html_domain_indices = True + +# If false, no index is generated. +# +# html_use_index = True + +# If true, the index is split into individual pages for each letter. +# +# html_split_index = False + +# If true, links to the reST sources are added to the pages. +# +# html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +# +# html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +# +# html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +# +# html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +# html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' +# +# html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# 'ja' uses this config value. +# 'zh' user can custom change `jieba` dictionary path. +# +# html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +# +# html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'FIRSTdoc' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'FIRST.tex', u'FIRST Server Documentation', + u'Angel M. Villegas', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +# +# latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +# +# latex_use_parts = False + +# If true, show page references after internal links. +# +# latex_show_pagerefs = False + +# If true, show URL addresses after external links. +# +# latex_show_urls = False + +# Documents to append as an appendix to all manuals. +# +# latex_appendices = [] + +# It false, will not define \strong, \code, itleref, \crossref ... but only +# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added +# packages. +# +# latex_keep_old_macro_names = True + +# If false, no module index is generated. +# +# latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'first', u'FIRST Server Documentation', + [author], 1) +] + +# If true, show URL addresses after external links. +# +# man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'FIRST', u'FIRST Server Documentation', + author, 'FIRST', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +# +# texinfo_appendices = [] + +# If false, no module index is generated. +# +# texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +# +# texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +# +# texinfo_no_detailmenu = False + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project +epub_author = author +epub_publisher = author +epub_copyright = copyright + +# The basename for the epub file. It defaults to the project name. +# epub_basename = project + +# The HTML theme for the epub output. Since the default themes are not +# optimized for small screen space, using the same theme for HTML and epub +# output is usually not wise. This defaults to 'epub', a theme designed to save +# visual space. +# +# epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or 'en' if the language is not set. +# +# epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +# epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +# +# epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +# +# epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +# +# epub_pre_files = [] + +# HTML files that should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +# +# epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +# +# epub_tocdepth = 3 + +# Allow duplicate toc entries. +# +# epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +# +# epub_tocscope = 'default' + +# Fix unsupported image types using the Pillow. +# +# epub_fix_images = False + +# Scale large images. +# +# epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +# +# epub_show_urls = 'inline' + +# If false, no index is generated. +# +# epub_use_index = True diff --git a/docs/dbs/index.rst b/docs/dbs/index.rst new file mode 100644 index 0000000..15f3533 --- /dev/null +++ b/docs/dbs/index.rst @@ -0,0 +1,5 @@ +.. _server-db-index: + +======== +DB Index +======== \ No newline at end of file diff --git a/docs/engines/index.rst b/docs/engines/index.rst new file mode 100644 index 0000000..666f868 --- /dev/null +++ b/docs/engines/index.rst @@ -0,0 +1,19 @@ +.. _server-engines-index: + +======= +Engines +======= + + +Engine Shell +============ + + +Testing Engines +=============== +TODO + +.. autoclass:: first.engines.AbstractEngine + :noindex: + :members: + :undoc-members: diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..9fe4ff4 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,65 @@ +.. _server-index: + +============ +FIRST Server +============ +A public, freely available server is located at first-plugin.us. The below information goes into how to stand up your own FIRST server. Keep in mind the current authorization mechanism is OAuth2 from Google. This can be expanded to include other OAuth2 services, however, it is important to keep in mind that OAuth2 authorization requires a developer/app/project specific data to enable. Furthermore, Google's OAuth will only redirect to localhost or a domain name. + +Installing +========== +.. note:: + + To quickly install FIRST, we use Docker. Install `Docker `_ before following the below instructions. + +Installing your own FIRST server can be quick and easy with an Ubuntu machine and docker. The below instructions will use Docker to install FIRST, its dependencies, configure Apache, and create self signed certs. This is more of a production type build, if you wish to install FIRST in a developer environment then you might want to leverage Django's development server (scroll down for instructions). To install, enter the below commands into a shell. + +.. important:: + + **After cloning the Git repo** + + Save your google auth json information to install/google_secret.json + + Optionally, you can add install/ssl/apache.crt and apache.key file if you have an SSL certificate you would prefer to use. + +.. code:: + + $ apt-get install docker + $ git clone https://github.com/vrtadmin/FIRST-server.git + $ cd FIRST-server + $ docker-compose -p first up -d + +When the FIRST server is installed, no engines are installed. FIRST comes with three Engines: ``ExactMatch``, ``MnemonicHashing``, and ``BasicMasking``. Enable to engines you want active by using the ``utilities/engine_shell.py`` script. + +.. note:: + + Before engines can be installed, the developer must be registered with the system. Ensure the developer is registered before progressing. + +Python script ``engine_shell.py`` can be provided with command line arguments or used as a shell. To quickly install the three available engines run the below commands: + +.. code:: + + $ cd FIRST-server/server/utilities + $ python engine_shell install first.engines.exact_match ExactMatchEngine + $ python engine_shell install first.engines.mnemonic_hash MnemonicHashEngine + $ python engine_shell install first.engines.basic_masking BasicMaskingEngine + +Once an engine is installed you can start using your FIRST installation to add and/or query for annotations. Without engines FIRST will still be able to store annotations, but will never return any results for query operations. + +.. attention:: Manually installing FIRST + + FIRST can be installed manually without Docker, however, this will require a little more work. Look at docker's ``install/requirements.txt`` and install all dependencies. Afterwards, install the engines you want active (see above for quick engine installation) and run: + + .. code:: + + $ cd FIRST-server/server + $ python manage.py runserver 0.0.0.0:1337 + +.. _server-docs: + +.. toctree:: + :maxdepth: 2 + :caption: Server Documentation + + restful-api + engines/index + dbs/index diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..5267bd6 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,281 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. epub3 to make an epub3 + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. xml to make Docutils-native XML files + echo. pseudoxml to make pseudoxml-XML files for display purposes + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + echo. coverage to run coverage check of the documentation if enabled + echo. dummy to check syntax errors of document sources + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + + +REM Check if sphinx-build is available and fallback to Python version if any +%SPHINXBUILD% 1>NUL 2>NUL +if errorlevel 9009 goto sphinx_python +goto sphinx_ok + +:sphinx_python + +set SPHINXBUILD=python -m sphinx.__init__ +%SPHINXBUILD% 2> nul +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +:sphinx_ok + + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\FIRST.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\FIRST.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "epub3" ( + %SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3 + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub3 file is in %BUILDDIR%/epub3. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdf" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdfja" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf-ja + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +if "%1" == "coverage" ( + %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage + if errorlevel 1 exit /b 1 + echo. + echo.Testing of coverage in the sources finished, look at the ^ +results in %BUILDDIR%/coverage/python.txt. + goto end +) + +if "%1" == "xml" ( + %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The XML files are in %BUILDDIR%/xml. + goto end +) + +if "%1" == "pseudoxml" ( + %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. + goto end +) + +if "%1" == "dummy" ( + %SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. Dummy builder generates no files. + goto end +) + +:end diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..b9d419a --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +sphinxcontrib-napoleon diff --git a/docs/restful-api.rst b/docs/restful-api.rst new file mode 100644 index 0000000..3e16ce4 --- /dev/null +++ b/docs/restful-api.rst @@ -0,0 +1,392 @@ +.. _server-restful-api: + +RESTful API +=========== +All RESTful APIs are available to users with active and valid API keys. To get register and get an API key see :ref:`registering`. All below URLs make the assumption the FIRST server is located at FIRST_HOST. If using the public FIRST server this will be http://first-plugin-us. + +All RESTful APIs require a vaild API key in the URL. For example if you were trying to test your connection to FIRST, you would perform a GET request to FIRST_HOST/api/test_connection. + + +.. code-block:: python + + import requests + + response = requests.get('FIRST_HOST/api/test_connection/00000000-0000-0000-0000-000000000000'}) + +.. code-block:: bash + + > curl FIRST_HOST/api/test_connection/00000000-0000-0000-0000-000000000000 + +An HTTP 401 is returned if a valid api_key is not provided as a GET variable. + + +Test Connection +--------------- +Used to test and ensure the FIRST client can connect to, validate the API key, and received the expected response. + +Client Request + ++--------+--------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+================================+=============================+ +| GET | /api/test_connection/ | **api_key**: user's API key | ++--------+--------------------------------+-----------------------------+ + +Server Response + +.. code-block:: json + + {"status" : "connected"} + + +Plugin Version Check +-------------------- +Used to check if the client is using the latest version of FIRST. + +.. danger:: + + TODO: Implement and document [currently just planning] + +Client Request + ++--------+----------------------+-----------------------------+ +| METHOD | URL | Params | ++========+======================+=============================+ +| GET | /api/plugin/check | **api_key**: user's API key | +| | +-----------------------------+ +| | | **type**: client type | +| | +-----------------------------+ +| | | **v**: version information | ++--------+----------------------+-----------------------------+ + +Param **type** + ++-----------+--------------------------+ +| idapython | Hex Ray's IDA Pro plugin | ++-----------+--------------------------+ +| python | Python module | ++-----------+--------------------------+ +| radare | Radare plugin | ++-----------+--------------------------+ +| viper | Viper plugin | ++-----------+--------------------------+ + + +Get Architectures +----------------- +An HTTP 401 is returned if a valid api_key is not provided as a GET variable. + +Client Request + ++--------+-------------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+=====================================+=============================+ +| GET | /api/sample/architectures/ | **api_key**: user's API key | ++--------+-------------------------------------+-----------------------------+ + +Server Response:: + + # Successful + {"failed" : false, "architectures" : ['intel32', 'intel64', 'arm', 'arm64', 'mips', 'ppc', 'sparc', 'sysz', ...]} + + # Failed - Error + {"failed" : true, "msg" : } + + +Sample Checking +--------------- +An HTTP 401 is returned if a valid api_key is not provided as a GET variable. + +Client Request + ++--------+--------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+================================+=============================+ +| POST | /api/sample/checkin/ | **api_key**: user's API key | ++--------+--------------------------------+-----------------------------+ + +:: + + { + # Required + 'md5' : /^[a-fA-F\d]{32}$/, + 'crc32' : <32 bit int>, + + # Optional + 'sha1': /^[a-fA-F\d]{40}$/, + 'sha256': /^[a-fA-F\d]{64}$/ + } + + +Server Response:: + + # Successful + {"failed" : false, "checkin" : true} + + # Successful - + {"failed" : false, "checkin" : false} + + # Failed - Error + {"failed" : true, "msg" : } + + ++-------------------------------+------------------------------------------+ +| Failure Strings | Description | ++===============================+==========================================+ +| Sample info not provided | MD5/CRC32 not provided | ++-------------------------------+------------------------------------------+ +| MD5 is not valid | MD5 should be 32 hex characters | ++-------------------------------+------------------------------------------+ +| CRC32 value is not an integer | Integer value is required for the CRC32 | ++-------------------------------+------------------------------------------+ +| Unable to connect to FIRST DB | Connection could not be established | ++-------------------------------+------------------------------------------+ + + +Upload Metadata +--------------- + +Client Request + ++--------+--------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+================================+=============================+ +| POST | /api/metadata/add/ | **api_key**: user's API key | ++--------+--------------------------------+-----------------------------+ + +:: + + { + 'md5' : /^[a-fA-F\d]{32}$/, + 'crc32' : <32 bit int>, + + 'functions' : Dictionary of json-ed Dictionaries (max_length = 20) + { + 'client_id' : + { + 'opcodes' : String (base64 encoded) + 'architecture' : String (max_length = 64) + 'name' : String (max_length = 128) + 'prototype' : String (max_length = 256) + 'comment' : String (max_length = 512) + + 'apis' : List of Strings (max_string_length = 64) + + # Optional + 'id' : String + } + } + } + +Server Response + + +Get Metadata History +-------------------- + +Client Request + + ++--------+---------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+=================================+=============================+ +| POST | /api/metadata/history/ | **api_key**: user's API key | ++--------+---------------------------------+-----------------------------+ + +:: + + { + 'metadata' : List of Metadata IDs (max_length = 20) + [, ... ] + } + +Server Response + +:: + + { + 'failed': False, + 'results' : Dictionary of dictionaries + { + 'metadata_id' : Dictionary + { + 'creator' : String (max_length = 37) (/^[\s\d_]{1,32}#\d{4}$/) + 'history : List of dictionaries + [{ + 'name' : String (max_length = 128) + 'prototype' : String (max_length = 256) + 'comment' : String (max_length = 512) + 'committed' : Datetime + }, ...] + } + } + } + + + + + +Apply Metadata +-------------- + +Client Request + + ++--------+---------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+=================================+=============================+ +| POST | /api/metadata/applied/ | **api_key**: user's API key | ++--------+---------------------------------+-----------------------------+ + +:: + + { + 'md5' : /^[a-fA-F\d]{32}$/ + 'crc32' : <32 bit int> + + 'id' : /^[\da-f]{24}$/ + } + +Server Response + + + +Unapply Metadata +---------------- + +Client Request + + ++--------+-----------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+===================================+=============================+ +| POST | /api/metadata/unapplied/ | **api_key**: user's API key | ++--------+-----------------------------------+-----------------------------+ + +:: + + { + 'md5' : /^[a-fA-F\d]{32}$/ + 'crc32' : <32 bit int> + + 'id' : /^[\da-f]{24}$/ + } + +Server Response + + + + + +Get Metadata +------------ + +Client Request + + ++--------+--------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+================================+=============================+ +| POST | /api/metadata/get/ | **api_key**: user's API key | ++--------+--------------------------------+-----------------------------+ + +:: + + { + 'metadata' : List of Metadata IDs (max_length = 20) + [, ... ] + } + +Server Response + + + + + +Delete Metadata +--------------- + +Client Request + + ++--------+-------------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+=====================================+=============================+ +| GET | /api/metadata/delete// | **api_key**: user's API key | +| | +-----------------------------+ +| | | **id**: metadata id | ++--------+-------------------------------------+-----------------------------+ + + +Server Response + + + + + +Get Metadata Created +-------------------- + +Client Request + ++--------+----------------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+========================================+=============================+ +| GET | /api/metadata/created/ | **api_key**: user's API key | ++--------+----------------------------------------+-----------------------------+ +| GET | /api/metadata/created// | **api_key**: user's API key | +| | | **page**: page to grab | ++--------+----------------------------------------+-----------------------------+ + + +Server Response + +:: + + { + 'failed': False, + 'page' : Integer (current page requested, + 'pages' : Integer (total number of pages) + 'results' : Dictionary of dictionaries + { + 'metadata_id' : Dictionary + { + 'name' : String (max_length = 128) + 'prototype' : String (max_length = 256) + 'comment' : String (max_length = 512) + 'rank' : Integer + 'id' : String (length = 24) + } + } + } + + + + + +Scan for Similar Functions +-------------------------- + +Client Request + ++--------+--------------------------------+-----------------------------+ +| METHOD | URL | Params | ++========+================================+=============================+ +| POST | /api/metadata/scan/ | **api_key**: user's API key | ++--------+--------------------------------+-----------------------------+ + +:: + + { + 'functions' : Dictionary of json-ed Dictionaries (max_length = 20) + { + 'client_id' : + { + 'opcodes' : String (base64 encoded) + 'architecture' : String (max_length = 64) + 'apis' : List Strings + } + } + } + +Server Response diff --git a/install/.gitignore b/install/.gitignore new file mode 100644 index 0000000..f8a76fc --- /dev/null +++ b/install/.gitignore @@ -0,0 +1 @@ +google_secret.json diff --git a/install/requirements.txt b/install/requirements.txt new file mode 100644 index 0000000..3bb0125 --- /dev/null +++ b/install/requirements.txt @@ -0,0 +1,8 @@ +mysqlclient +mongoengine +django +werkzeug +distorm3 +httplib2 +oauth2client +google-api-python-client diff --git a/install/run.sh b/install/run.sh new file mode 100755 index 0000000..dc9b8ef --- /dev/null +++ b/install/run.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Wait for the MySQL service to become available +while [ true ]; do + echo "show databases" | mysql -h $MYSQL_HOST -u $MYSQL_USER --password=$MYSQL_PASSWORD &> /dev/null + + if [ $? != 0 ]; then + echo "Waiting for MySQL to become available" + sleep 3 + else + break + fi +done + +# Finally, make sure we have an SSL certificate in place +if [ ! -e /etc/apache2/ssl/apache.crt ]; then + echo "Generating new SSL certificate" + openssl req -subj '/CN=example.com/O=First/C=US' -new -newkey rsa:4096 -sha256 -days 365 -nodes -x509 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt +else + echo "Using existing SSL certificate" +fi + +# Always run migrations +/usr/bin/python /home/first/manage.py migrate + +# Finally, start up the apache service +/usr/sbin/apache2ctl -D FOREGROUND diff --git a/install/vhost.conf b/install/vhost.conf new file mode 100644 index 0000000..8a78336 --- /dev/null +++ b/install/vhost.conf @@ -0,0 +1,38 @@ + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{SERVER_NAME}$1 [R,L] + + + SSLEngine on + SSLCertificateFile /etc/apache2/ssl/apache.crt + SSLCertificateKeyFile /etc/apache2/ssl/apache.key + + # wsgi.py will map these for our application + PassEnv MYSQL_USER + PassEnv MYSQL_PASSWORD + PassEnv MYSQL_DATABASE + PassEnv MYSQL_HOST + PassEnv MYSQL_PORT + PassEnv MONGO_HOST + PassEnv MONGO_PORT + PassEnv MONGO_NAME + PassEnv GOOGLE_SECRET + + Alias /static /home/first/www/static + + + Require all granted + + + + + Require all granted + + + + WSGIDaemonProcess first python-path=/home/first + WSGIProcessGroup first + WSGIScriptAlias / /home/first/first/wsgi.py + + diff --git a/server/first/__init__.py b/server/first/__init__.py new file mode 100644 index 0000000..80bd52a --- /dev/null +++ b/server/first/__init__.py @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# +# Intializes FIRST's DBManager and EngineManager +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +#------------------------------------------------------------------------------- + +# FIRST Modules +from first.dbs import FIRSTDBManager +from first.engines import FIRSTEngineManager + +DBManager = FIRSTDBManager() +EngineManager = FIRSTEngineManager(DBManager) diff --git a/server/first/auth.py b/server/first/auth.py new file mode 100644 index 0000000..724399e --- /dev/null +++ b/server/first/auth.py @@ -0,0 +1,273 @@ +#------------------------------------------------------------------------------- +# +# FIRST Authentication module +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Requirements +# ------------ +# - mongoengine +# +#------------------------------------------------------------------------------- + +# Python Modules +import os +import uuid +import json +import random +import datetime +from functools import wraps + +# Django Modules +from django.http import HttpResponse, HttpRequest +from django.shortcuts import render, redirect +from django.urls import reverse + +# FIRST Modules +# TODO: Use DBManager to get user objects and do User operations +from first.models import User +from first.error import FIRSTError + +# Thirdy Party +import httplib2 +from oauth2client import client +from apiclient import discovery +from mongoengine.queryset import DoesNotExist + + + +class FIRSTAuthError(FIRSTError): + _type_name = 'FIRSTAuth' + + def __init__(self, message): + super(FIRSTError, self).__init__(message) + + +def verify_api_key(api_key): + users = User.objects(api_key=api_key) + if not users: + return None + + return users.get() + + +def require_apikey(view_function): + @wraps(view_function) + def decorated_function(*args, **kwargs): + http401 = HttpResponse('Unauthorized', status=401) + if 'api_key' not in kwargs: + return http401 + + key = kwargs['api_key'].lower() + if key: + user = verify_api_key(key) + del kwargs['api_key'] + if user: + kwargs['user'] = user + return view_function(*args, **kwargs) + + return http401 + + return decorated_function + + +def require_login(view_function): + @wraps(view_function) + def decorated_function(*args, **kwargs): + request = None + for arg in args: + if isinstance(arg, HttpRequest): + request = arg + break + + if not request: + return redirect(reverse('www:login')) + + auth = Authentication(request) + if auth.is_logged_in: + return view_function(*args, **kwargs) + + else: + return redirect(reverse('www:login')) + + return decorated_function + + +class Authentication(): + ''' + self.request.session['auth'] = {'expires' : time token expires, + 'api_key' : uuid from users db + + } + + ''' + + def __init__(self, request): + self.request = request + redirect_uri = request.build_absolute_uri(reverse('www:oauth', kwargs={'service' : 'google'})) + secret = os.environ.get('GOOGLE_SECRET', '/usr/local/etc/google_secret.json') + try: + self.flow = {'google' : client.flow_from_clientsecrets(secret, + scope=['https://www.googleapis.com/auth/userinfo.profile', + 'https://www.googleapis.com/auth/userinfo.email'], + redirect_uri=redirect_uri), + } + except TypeError as e: + print e + + if 'auth' not in request.session: + request.session['auth'] = {} + + + @property + def is_logged_in(self): + if (('auth' not in self.request.session) + or ('expires' not in self.request.session['auth'])): + return False + + expires = datetime.datetime.fromtimestamp(self.request.session['auth']['expires']) + if expires < datetime.datetime.now(): + return False + + return True + + + def login_step_1(self, service, url): + ''' + Called when user attempts to login with a service + + Function redirects to service to allow user to login, then redirects + to the specified url + ''' + if 'google' == service: + self.request.session['auth']['service'] = 'google' + auth_uri = self.flow['google'].step1_get_authorize_url() + return redirect(auth_uri) + + raise FIRSTAuthError('Authentication service is not supported') + + + def login_step_2(self, auth_code, url, login=True): + ''' + Called when a service returns after a user logs in + ''' + if (('auth' not in self.request.session) + or ('service' not in self.request.session['auth'])): + raise FIRSTAuthError('Authentication service is not supported') + + service = self.request.session['auth']['service'] + if 'google' == service: + credentials = self.flow['google'].step2_exchange(auth_code).to_json() + self.request.session['creds'] = credentials + + oauth = client.OAuth2Credentials.from_json(credentials) + credentials = json.loads(credentials) + + if not oauth.access_token_expired: + http_auth = oauth.authorize(httplib2.Http()) + service = discovery.build('plus', 'v1', http_auth) + info = service.people().get(userId='me', fields='displayName,emails') + info = info.execute() + email = info['emails'][0]['value'] + self.request.session['info'] = {'name' : info['displayName'], + 'email' : email} + + expires = credentials['id_token']['exp'] + #expires = datetime.datetime.fromtimestamp(expires) + self.request.session['auth']['expires'] = expires + + if login: + try: + user = User.objects.get(email=email) + user.auth_data = json.dumps(credentials) + user.name = info['displayName'] + user.save() + + self.request.session['auth']['api_key'] = str(user.api_key) + + return redirect(url) + + except DoesNotExist: + self.request.session.flush() + raise FIRSTAuthError('User is not registered.') + + return redirect(url) + + return redirect('www:login') + + def register_user(self): + request = self.request + required = ['handle', 'auth', 'info', 'creds'] + if False in [x in request.session for x in required]: + return None + + if False in [x in request.session['info'] for x in ['email', 'name']]: + return None + + if 'service' not in request.session['auth']: + return None + + user = None + handle = request.session['handle'] + service = request.session['auth']['service'] + name = request.session['info']['name'] + email = request.session['info']['email'] + credentials = request.session['creds'] + + while not user: + api_key = uuid.uuid4() + + # Test if UUID exists + try: + user = User.objects.get(api_key=api_key) + user = None + continue + + except DoesNotExist: + pass + + # Create random 4 digit value for the handle + # This prevents handle collisions + number = random.randint(0, 9999) + for i in xrange(10000): + try: + num = (number + i) % 10000 + user = User.objects.get(handle=handle, number=num) + user = None + + except DoesNotExist: + user = User(name=name, + email=email, + api_key=api_key, + handle=handle, + number=num, + service=service, + auth_data=credentials) + + user.save() + return user + + raise FIRSTAuthError('Unable to register user') + + + @staticmethod + def get_user_data(email): + try: + user = User.objects.get(email=email) + return user + + except DoesNotExist: + return None diff --git a/server/first/dbs/__init__.py b/server/first/dbs/__init__.py new file mode 100644 index 0000000..3b28548 --- /dev/null +++ b/server/first/dbs/__init__.py @@ -0,0 +1,115 @@ +#------------------------------------------------------------------------------- +# +# FIRST's DB Abstract class definition +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +#------------------------------------------------------------------------------- + +# Python Modules +import ConfigParser +from hashlib import md5 + +# FIRST Modules +from first.error import FIRSTError + +# Class for FirstDB related exceptions +class FIRSTDBError(FIRSTError): + type_name = 'DBError' + +class AbstractDB(object): + _name = 'AbstractDB' + _is_installed = False + # + # Functions called by FIRST Framework (No Implementation Required) + #-------------------------------------------------------------------------- + @property + def name(self): + ''' + Returns a unqiue String value for this class that doesn't match other + AbstractDB inheried classes. The string value is a human readable/usable + + @returns String + ''' + return self._name + + @property + def is_installed(self): + return self._is_installed + + + # Functions called by FIRST Framework (Implement Required) + #-------------------------------------------------------------------------- + + def __init__(self, conf): + ''' + Constructor. + + @param conf: ConfigParser.RawConfigParser + ''' + raise FIRSTDBError('TODO: implement') + + + + +class FIRSTDBManager(object): + _dbs = {} + + # TODO: decide whether config is needed + def __init__(self, config=None): + + for db in possible_dbs: + try: + d = db(config) + + if d.is_installed: + self._dbs[d.name] = d + + except FIRSTDBError as e: + print e + + if not self._dbs: + print '[DBM] Error: No dbs could be loaded' + + def db_list(self): + ''' + Returns + { + : , + ... + } + ''' + return self._dbs + + @property + def first_db(self): + if 'first_db' in self._dbs: + return self._dbs['first_db'] + + return None + + def get(self, db_name): + if db_name in self._dbs: + return self._dbs[db_name] + + return None + + + +# FIRST DB Classes +from first.dbs.builtin_db import FIRSTDB + +possible_dbs = [FIRSTDB] diff --git a/server/first/dbs/builtin_db.py b/server/first/dbs/builtin_db.py new file mode 100644 index 0000000..5f4437d --- /dev/null +++ b/server/first/dbs/builtin_db.py @@ -0,0 +1,466 @@ +#------------------------------------------------------------------------------- +# +# FIRST DB Module for completing operations with the MongoDB backend +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Requirements +# ------------ +# - flask +# - mongoengine +# - werkzeug +# +#------------------------------------------------------------------------------- + +# Python Modules +import re +import math +import json +import hashlib +import datetime +import ConfigParser +from hashlib import md5 + +# Third Party Modules +import bson +from mongoengine import Q +from mongoengine.queryset import DoesNotExist, MultipleObjectsReturned + +# FIRST Modules +from first.dbs import AbstractDB +from first.models import User, Metadata, Function, Sample, Engine + + +class FIRSTDB(AbstractDB): + _name = 'first_db' + standards = { 'intel16', 'intel32', 'intel64', 'arm32', 'arm64', 'mips', + 'ppc', 'sparc', 'sysz'} + + # + # Functions called by FIRST Framework + #-------------------------------------------------------------------------- + def __init__(self, config): + ''' + Constructor. + + @param conf: ConfigParser.RawConfigParser + ''' + self._is_installed = True + ''' + section = 'mongodb_settings' + + if (not config.has_section(section) + or not config.has_option(section, 'db')): + raise FirstDBError('DB settings not available', skip=True) + + if section.upper() not in app.config: + app.config[section.upper()] = {} + + app.config[section.upper()]['db'] = conf.get(section, 'db') + self.db.init_app(app) + ''' + + def get_architectures(self): + standards = FIRSTDB.standards.copy() + standards.update(Function.objects().distinct(field='architecture')) + return list(standards) + + def get_sample(self, md5_hash, crc32, create=False): + try: + # Get Sample from DB + return Sample.objects.get(md5=md5_hash, crc32=crc32) + + except DoesNotExist: + if not create: + return None + + # Create Sample for DB + sample = Sample(md5=md5_hash, crc32=crc32) + sample.last_seen = datetime.datetime.now() + sample.save() + return sample + + def sample_seen_by_user(self, sample, user): + if (not isinstance(sample, Sample)) or (not isinstance(user, User)): + return None + + if user not in sample.seen_by: + sample.seen_by.append(user) + sample.save() + + def checkin(self, user, md5_hash, crc32, sha1_hash=None, sha256_hash=None): + ''' + TODO: + + @returns String error message on Failure + None + ''' + if not isinstance(user, User): + return False + + # Validate data + if ((not re.match('^[a-f\d]{32}$', md5_hash)) + or (sha1_hash and not re.match('^[a-f\d]{40}$', sha1_hash)) + or (sha256_hash and not re.match('^[a-f\d]{64}$', sha256_hash))): + return False + + sample = self.get_sample(md5_hash, crc32, True) + if not sample: + return False + + sample.last_seen = datetime.datetime.now() + if user not in sample.seen_by: + sample.seen_by.append(user) + + if None != sha1_hash: + sample.sha1 = sha1_hash + + if None != sha256_hash: + sample.sha256 = sha256_hash + + sample.save() + return True + + def get_function(self, opcodes, architecture, apis, create=False, **kwargs): + function = None + + try: + function = Function.objects.get(sha256=hashlib.sha256(opcodes).hexdigest(), + opcodes=bson.Binary(opcodes), + architecture=architecture, + apis=apis) + except DoesNotExist: + # Create function and add it to sample + function = Function(sha256=hashlib.sha256(opcodes).hexdigest(), + opcodes=bson.Binary(opcodes), + architecture=architecture, + apis=apis) + function.save() + + return function + + def get_all_functions(self): + try: + return Function.objects.all() + + except: + return [] + + def find_function(self, _id=None, opcodes=None, apis=None, architecture=None, h_sha256=None): + try: + # User function ID + if None != _id: + return Function.objects(id=bson.objectid.ObjectId(_id)).get() + + # User opcodes and apis + elif None not in [opcodes, apis]: + return Function.objects(opcodes=opcodes, apis=apis).get() + + # Use hash, architecture + elif None not in [architecture, h_sha256]: + return Function.objects(sha256=h_sha256, architecture=architecture).get() + + else: + return None + + except DoesNotExist: + return None + + def add_function_to_sample(self, sample, function): + if (not isinstance(sample, Sample)) or (not isinstance(function, Function)): + return False + + if function not in sample.functions: + sample.functions.append(function) + sample.save() + + return True + + def add_metadata_to_function(self, user, function, name, prototype, comment, **kwargs): + if (not isinstance(function, Function)) or (not isinstance(user, User)): + return None + + # Check to see if user already has metadata associated with the sample + metadata = None + for m in function.metadata: + if user == m.user: + if m.has_changed(name, prototype, comment): + m.name = [name] + m.name + m.prototype = [prototype] + m.prototype + m.comment = [comment] + m.comment + m.committed = [datetime.datetime.now()] + m.committed + + metadata = m + break + + if not metadata: + metadata = Metadata(user=user, name=[name], + prototype=[prototype], + comment=[comment], + committed=[datetime.datetime.now()]) + function.metadata.append(metadata) + + function.save() + return str(metadata.id) + + def get_metadata_list(self, metadata): + results = [] + user_metadata, engine_metadata = self.separate_metadata(metadata) + + metadata_ids = map(bson.objectid.ObjectId, user_metadata) + mongo_filter = Q(metadata__id=metadata_ids[0]) + for mid in metadata_ids[1:]: + mongo_filter |= Q(metadata__id=mid) + + matches = Function.objects.filter(mongo_filter).only('metadata') + for function in matches: + for metadata in function.metadata: + if metadata.id in metadata_ids: + data = metadata.dump() + data['id'] = str(metadata.id) + results.append(data) + + # Remove id from list to shorten list + del metadata_ids[metadata_ids.index(metadata.id)] + + for _id in engine_metadata: + engines = Engine.object(id=_id) + if (not engines) or (len(engines) > 1): + continue + + data = {'id' : _id, 'engine' : engine.name, + 'description' : engine.description} + results.append(data) + + return results + + def delete_metadata(self, user, metadata_id): + if not isinstance(user, User): + return False + + user_metadata, engine_metadata = self.separate_metadata([metadata_id]) + if not user_metadata: + return False + + # User must be the creator of the metadata to delete it + metadata_id = bson.objectid.ObjectId(user_metadata[0]) + try: + Function.objects(metadata__user=user, metadata__id=metadata_id).update_one(pull__metadata__id=metadata_id) + return True + except DoesNotExist: + return False + + def created(self, user, page, max_metadata=20): + offset = (page - 1) * max_metadata + results = [] + pages = 0 + + if (offset < 0) or (not isinstance(user, User)): + return (results, pages) + + try: + matches = Function.objects(metadata__user=user).only('metadata') + total = Function.objects(metadata__user=user).count() + 0.0 + pages = int(math.ceil(total / max_metadata)) + if page > pages: + return (results, pages) + + matches = matches.skip(offset).limit(max_metadata) + + except ValueError: + return (results, pages) + + for function in matches: + for metadata in function.metadata: + if user == metadata.user: + temp = metadata.dump() + temp['id'] = FIRSTDB.make_id(metadata.id, 0) + results.append(temp) + + # Bail out of inner loop early since a user can only + # create one metadata entry per function + break + + return (results, pages) + + @staticmethod + def make_id(_id, flags): + return '{:1x}{}'.format(flags & 0xF, _id) + + def separate_metadata(self, metadata): + # Get metadata created by users only, MSB should not be set + user_metadata = [] + engine_metadata = [] + for x in metadata: + if len(x) == 24: + user_metadata.append(x) + elif (len(x) == 25) and (((int(x[0], 16) >> 3) & 1) == 0): + user_metadata.append(x[1:]) + elif (len(x) == 25) and (((int(x[0], 16) >> 3) & 1) == 1): + engine_metadata.append(x[1:]) + + return (user_metadata, engine_metadata) + + def metadata_history(self, metadata): + results = {} + user_metadata, engine_metadata = self.separate_metadata(metadata) + e_comment = ('Generated by Engine: {0.name}\n{0.description}\n\n' + 'Developer: {0.developer.user_handle}') + + if len(user_metadata) > 0: + metadata_ids = map(bson.objectid.ObjectId, user_metadata) + mongo_filter = Q(metadata__id=metadata_ids[0]) + for mid in metadata_ids[1:]: + mongo_filter |= Q(metadata__id=mid) + + matches = Function.objects.filter(mongo_filter).only('metadata') + for function in matches: + for metadata in function.metadata: + if metadata.id in metadata_ids: + data = metadata.dump(True) + _id = FIRSTDB.make_id(metadata.id, 0) + results[_id] = {'creator' : data['creator'], + 'history' : data['history']} + # Remove id from list to shorten list + del metadata_ids[metadata_ids.index(metadata.id)] + + # Provide information for engine created metadata... + for engine_id in engine_metadata: + engine = self.get_engine(engine_id) + if not engine: + continue + data = {'creator' : engine.name, + 'history' : [{'committed' : '', + 'name' : 'N/A', + 'prototype' : 'N/A', + 'comment' : e_comment.format(engine)}]} + results[FIRSTDB.make_id(engine_id, 8)] = data + + return results + + def applied(self, sample, user, _id, is_engine=False): + ''' + @returns Boolean. True if added to the applied list + False if not added to the applied list + ''' + if (not isinstance(user, User)) or (not isinstance(sample, Sample)): + return False + + key = [str(sample.id), str(user.id)] + if is_engine: + engine_id = bson.objectid.ObjectId(_id) + engine = Engine.objects(id=engine_id, + applied__contains=key) + + # Check if user has already applied the signature + if len(engine): + return True + + try: + engine = Engine.objects(id=engine_id).get() + except DoesNotExist: + # Engine does not exist + return False + + engine.applied.append(key) + engine.save() + + else: + metadata_id = bson.objectid.ObjectId(_id) + functions = Function.objects(metadata__id=metadata_id, + metadata__applied__contains=key) + + # Check if user has already applied the signature + if len(functions): + return True + + try: + function = Function.objects(metadata__id=metadata_id).get() + except DoesNotExist: + # Metadata does not exist + return False + + # Get metadata + for metadata in function.metadata: + if metadata.id == metadata_id: + metadata.applied.append(key) + break + + function.save() + + return True + + def unapplied(self, sample, user, _id, is_engine=False): + ''' + @returns Boolean. True if not in metadata's applied list + False if still in the applied list + ''' + if (not isinstance(sample, Sample)) or (not isinstance(user, User)): + return False + + key = [str(sample.id), str(user.id)] + if is_engine: + engine_id = bson.objectid.ObjectId(_id) + engine = Engine.objects(id=engine_id, + applied__contains=key) + + # Check if user has already applied the signature + if not len(engine): + return True + + try: + engine = Engine.objects(id=engine_id).get() + except DoesNotExist: + # Engine does not exist + return False + + engine.applied.remove(key) + engine.save() + + else: + metadata_id = bson.objectid.ObjectId(_id) + functions = Function.objects(metadata__id=metadata_id, + metadata__applied__contains=key) + + # Check if user does not have it applied already + if not len(functions): + return True + + try: + function = functions.get() + except DoesNotExist: + # Metadata does not exist + return True + + # Get metadata + for metadata in function.metadata: + if metadata.id == metadata_id: + metadata.applied.remove(key) + break + + function.save() + + return True + + def engines(self, active=True): + return Engine.objects(active=bool(active)) + + def get_engine(self, engine_id): + engines = Engine.objects(id = engine_id) + if not engines: + return None + + return engines[0] diff --git a/server/first/engines/__init__.py b/server/first/engines/__init__.py new file mode 100644 index 0000000..4fce345 --- /dev/null +++ b/server/first/engines/__init__.py @@ -0,0 +1,319 @@ +#------------------------------------------------------------------------------- +# +# FIRST Engine Abstract Class and Exception Class +# Author: Angel M. Villegas (anvilleg@cisco.com) +# Last Modified: May 2016 +# +# Requirements +# ------------ +# - BSON +# +#------------------------------------------------------------------------------- + +# Python Modules +import re +import sys + +# First Modules +from first.error import FIRSTError +from first.dbs import FIRSTDBManager +from first.engines.results import Result + +# Third Party Modules +from bson.objectid import ObjectId + + +# Class for FirstEngine related exceptions +class FIRSTEngineError(FIRSTError): + _type_name = 'EngineError' + __skip = False + + def __init__(self, message, skip=False): + super(FIRSTEngineError, self).__init__(message) + self.__skip = skip + + @property + def skip(self): + return self.__skip + +class AbstractEngine(object): + # Required Class varaibles + # Minimally classes extending this one should fill set these variables + # to prevent overloading property functions name, decription and the + # constructor + # _name: Max length 16 characters + # _description: Max length 128 characters + #-------------------------------------------------------------------------- + _name = 'AbstractEngine' + _description = ('This is the abstract class for all FIRST Engine ' + 'implementations') + _required_db_names = [] + + _is_operational = False + _dbs = {} + + # Require Properties + # Should be overloaded if implementation uses different class variables + #-------------------------------------------------------------------------- + @property + def is_operational(self): + return self._is_operational + + @property + def name(self): + return self._name + + @property + def description(self): + return self._description + + # Required Methods + # At the very least the _add and _scan functions have to be implemented + # If additional steps are needed to install or uninstall engine then + # _install and _uninstall should be implemented + #-------------------------------------------------------------------------- + def __init__(self, dbs, engine_id, rank): + self.id = engine_id + self.rank = rank + + for db_name in self._required_db_names: + db = dbs.get(db_name) + + # If a required db is not installed then exit + if not db: + return + + self._dbs[db.name] = db + + self._is_operational = True + + def add(self, function): + required_keys = {'id', 'apis', 'opcodes', 'architecture', 'sha256'} + if ((dict != type(function)) + or not required_keys.issubset(function.keys())): + print 'Data provided is not the correct type or required keys not provided' + return + + self._add(function) + + def scan(self, opcodes, architecture, apis): + '''Returns a list of Result objects''' + results = self._scan(opcodes, architecture, apis) + + if isinstance(results, Result): + return [results] + + if ((not results) or (type(results) != list) + or (False in [isinstance(x, Result) for x in results])): + return [] + + return results + + def install(self): + try: + self._install() + except FIRSTEngineError as e: + if e.message == 'Not Implemented': + return + + raise e + + def uninstall(self): + try: + self._uninstall() + except FIRSTEngineError as e: + if e.message == 'Not Implemented': + return + + raise e + + def _add(self, function): + '''Returns nothing''' + raise FIRSTEngineError('Not Implemented') + + def _scan(self, opcodes, architecture, apis): + '''Returns List of function IDs''' + raise FIRSTEngineError('Not Implemented') + + def _install(self): + '''Additional functionality required for installing the Engine [Optional]''' + raise FIRSTEngineError('Not Implemented') + + def _uninstall(self): + '''Additional functionality for uninstalling the Engine [Optional]''' + raise FIRSTEngineError('Not Implemented') + + + +class FIRSTEngineManager(object): + __db_manager = None + + def __init__(self, db_manager): + ''' + Constructor. Should locally save db associated with the DB used by + this class. + + @param dbs: Dictionary of DBs associated with FIRST + {db_id : } + ''' + if not isinstance(db_manager, FIRSTDBManager): + db_manager = None + + self.__db_manager = db_manager + + @property + def _engines(self): + # Force reload to get any changes + db = self.__db_manager.first_db + active_engines = db.engines() + + # Dynamically (re)load engines + engines = [] + for e in active_engines: + if e.path in sys.modules: + reload(sys.modules[e.path]) + else: + __import__(e.path) + + module = sys.modules[e.path] + + # Skip module if the class name not located or is not a class + if not hasattr(module, e.obj_name): + continue + obj = getattr(module, e.obj_name) + if type(obj) != type: + continue + + try: + e = obj(self.__db_manager, str(e.id), e.rank) + if not isinstance(e, AbstractEngine): + print '[EM] {} is not an AbstractEngine'.format(e) + continue + + if e.is_operational: + engines.append(e) + + except FIRSTEngineError as e: + print e + + if not engines: + print '[EM] Error: No engines could be loaded' + + return engines + + def get_engines(self): + ''' + @returns Dictionary. + { : engine_obj } + ''' + return {e.name : e for e in self._engines} + + def add(self, function): + ''' + Generates way to identify the function received. If a way can be + generated then a unique identifier for the metadata and the db is + returned as a tuple. + + @param function: Dictionary. Data from the Function model + (keys: id, apis, opcodes, architecture, sha256) + + ''' + required_keys = {'id', 'apis', 'opcodes', 'architecture', 'sha256'} + if (dict != type(function)) or not required_keys.issubset(function.keys()): + print 'Data provided is not the correct type or required keys not provided' + return None + + # Send function details to each registered engine + errors = {} + for engine in self._engines: + try: + engine.add(function) + + except Exception as e: + errors[engine.name] = e + + return errors + + def scan(self, user, opcodes, architecture, apis): + ''' + Uses opcodes and/or info to find matches in db. + + @param opcodes: String (binary data). All opcodes associated with the function + @param architecture: String + @param apis: List of Strings + + @returns Tuple of (, + + ( {'' : '', ...}, + [{ 'id' : , + 'similarity' : }, + 'engine' : [, ...] + 'name' : String, + 'prototype' : String, + 'comment' : String, + 'rank' : Integer, + 'creator' : , + ... + ] + ) + + Empty list if no signature can be made (Engine decided to skip) or nothing found + String error message on Failure + ''' + db = self.__db_manager.first_db + if not db: + return None + + engine_results = {} + engines = self._engines + + for i in xrange(len(engines)): + engine = engines[i] + try: + results = engine.scan(opcodes, architecture, apis) + if results: + engine_results[i] = results + + except Exception as e: + print e + + results = {} + for i, hits in engine_results.iteritems(): + engine = engines[i] + + for result in hits: + if not isinstance(result, Result): + continue + + if result.id not in results: + results[result.id] = result + + results[result.id].add_engine(engine) + if results[result.id].similarity < result.similarity: + results[result.id].similarity = result.similarity + + # Order functions + cmp_func = lambda x,y: cmp(y.similarity, x.similarity) + ordered_functions = sorted(results.values(), cmp_func) + + # Create Metadata list + # TODO: Narrow results to top 20 hits, use similarity and metadata rank + # to get more likely matches. + # - Factor in Engine's ranking + # Reduce results down + + # Get Metadata associated with each result + metadata_hits = [] + engine_info = {} + for result in ordered_functions: + engine_info.update(result.engine_info) + + function_hits = [x for x in result.get_metadata(db)] + function_hits.sort(key=lambda x: (-x['similarity'], -x['rank'])) + + # Add top 10 results per function to metadata_hits + metadata_hits += function_hits[:10] + + + metadata_hits.sort(key=lambda x: (-x['similarity'], -x['rank'])) + return (engine_info, metadata_hits[:30]) diff --git a/server/first/engines/basic_masking.py b/server/first/engines/basic_masking.py new file mode 100644 index 0000000..44353d0 --- /dev/null +++ b/server/first/engines/basic_masking.py @@ -0,0 +1,222 @@ +#------------------------------------------------------------------------------- +# +# FIRST Engine: Basic Masking +# Author: Angel M. Villegas (anvilleg@cisco.com) +# Last Modified: March 2016 +# +# Uses Distorm3 to obtain instructions and then removes certain instruction +# details to normalize it into a standard form to be compared to other +# functions. +# +# Maskes out: +# - ESP/EBP Offsets +# - Absolute Calls?? +# - Global Offsets?? +# +# Requirements +# ------------ +# - Distorm3 +# +# Installation +# ------------ +# None +# +#------------------------------------------------------------------------------- + +# Python Modules +import re +from hashlib import sha256 + +# FIRST Modules +from first.error import FIRSTError +from first.engines import AbstractEngine +from first.engines.results import FunctionResult + +# Third Party Modules +from bson.objectid import ObjectId +from distorm3 import DecomposeGenerator, Decode32Bits, Decode64Bits, Decode16Bits +from mongoengine.queryset import DoesNotExist, MultipleObjectsReturned +from mongoengine import Document, StringField, ListField, IntField, \ + ObjectIdField + +class BasicMasking(Document): + sha256 = StringField(max_length=64, required=True) + architecture = StringField(max_length=64, required=True) + instructions = ListField(StringField(max_length=124), required=True) + total_bytes = IntField(required=True, default=0) + functions = ListField(ObjectIdField(), default=list) + + meta = { + 'indexes' : [('sha256', 'architecture', 'instructions')] + } + + def dump(self): + return {'sha256' : self.sha256, + 'architecture' : self.architecture, + 'instructions' : self.instructions, + 'total_bytes' : self.total_bytes, + 'functions' : self.function_list()} + + def function_list(self): + return [str(x) for x in self.functions] + + +class BasicMaskingEngine(AbstractEngine): + _name = 'BasicMasking' + _description = ('Maskes ESP/EBP offsets, calls/jmps offsets, and global ' + 'offsets (Intel Only). Requires at least 8 instructions.') + _required_db_names = ['first_db'] + + def normalize(self, opcodes, architecture): + changed_bits = 0 + dt = None + mapping = {'intel32' : Decode32Bits, + 'intel64' : Decode64Bits, + 'intel16' : Decode16Bits} + if architecture in mapping: + dt = mapping[architecture] + else: + return (None, changed_bits, None) + + try: + normalized = [] + original = [] + for i in DecomposeGenerator(0, opcodes, dt): + # If disassembly is not valid then junk data has been sent + if not i.valid: + return (None, 0, None) + + original.append(i._toText()) + instr = i.mnemonic + ' ' + + # Special mnemonic masking (Call, Jmp, JCC) + if (i.mnemonic == 'CALL') or i.mnemonic.startswith('J'): + operand = i.operands[0]._toText() + + if 'Immediate' == i.operands[0].type: + instr += '0x' + changed_bits += i.operands[0].size + + else: + regex = '^\[R(S|I)P(\+|\-)0x[\da-f]+\]$' + if re.match(regex, operand): + instr += re.sub(regex, r'[R\1P\2', operand) + '0x]' + changed_bits += i.operands[0].dispSize + else: + # Nothing will be masked out + instr = i._toText() + + normalized.append(instr) + continue + + operand_instrs = [] + for operand_obj in i.operands: + operand = operand_obj._toText() + if ((re.match('^\[E(S|B)P', operand) or re.match('^\[R(I|S)P', operand)) + and operand_obj.dispSize): + # Offset from EBP/ESP and RIP/RSP + masked = operand.replace(hex(operand_obj.disp), '0x') + operand_instrs.append(masked) + changed_bits += operand_obj.dispSize + + elif 'Immediate' == operand_obj.type: + value = operand_obj.value + # Masking off immediates within the standard VA of the sample + if ((0x400000 <= value <= 0x500000) + or (0x10000000 <= value <= 0x20000000) + or (0x1C0000000 <= value <= 0x1D0000000) + or (0x140000000 <= value <= 0x150000000)): + operand_instrs.append('0x') + changed_bits += operand_obj.size + + else: + operand_instrs.append(operand) + + elif 'AbsoluterMemoryAddress' == operand_obj.type: + operand_instrs.append('0x') + changed_bits += operand_obj.dispSize + + elif 'AbsoluteMemory' == operand_obj.type: + masked = operand.replace(hex(operand_obj.disp), '0x') + operand_instrs.append(masked) + changed_bits += operand_obj.dispSize + + else: + operand_instrs.append(operand) + + normalized.append(instr + ', '.join(operand_instrs)) + + h_sha256 = sha256(''.join(normalized)).hexdigest() + return (normalized, changed_bits, h_sha256) + # For debugging + #return (original, normalized, changed_bits, h_sha256) + + except Exception as e: + return (None, changed_bits, None) + + def _add(self, function): + ''' + + ''' + opcodes = function['opcodes'] + architecture = function['architecture'] + normalized, changed, h_sha256 = self.normalize(opcodes, architecture) + + if (not h_sha256) or (not normalized) or (8 > len(normalized)): + return + + try: + db_obj = BasicMasking.objects( sha256=h_sha256, + architecture=architecture, + instructions=normalized).get() + except DoesNotExist: + db_obj = BasicMasking( sha256=h_sha256, + architecture=architecture, + instructions=normalized, + total_bytes=len(opcodes)) + + function_id = ObjectId(function['id']) + if function_id not in db_obj.functions: + db_obj.functions.append(function_id) + db_obj.save() + + def _scan(self, opcodes, architecture, apis): + '''Returns List of tuples (function ID, similarity percentage)''' + db = self._dbs['first_db'] + normalized, changed, h_sha256 = self.normalize(opcodes, architecture) + + if (not h_sha256) or (not normalized) or (8 > len(normalized)): + return + + try: + db_obj = BasicMasking.objects( sha256=h_sha256, + architecture=architecture, + instructions=normalized).get() + except DoesNotExist: + return None + + results = [] + for function_id in db_obj.function_list(): + function = db.find_function(_id=ObjectId(function_id)) + + if not function or not function.metadata: + continue + + # Similarity = 90% (opcodes and the masking changes) + # + 10% (api overlap) + similarity = 100 - ((changed / (len(opcodes) * 8.0)) * 100) + if similarity > 90.0: + similarity = 90.0 + + # The APIs will count up to 10% of the similarity score + total_apis = len(function.apis) + overlap = float(len(set(function.apis).intersection(apis))) + if 0 != total_apis: + similarity += (overlap / total_apis) * 10 + + results.append(FunctionResult(function_id, similarity)) + + return results + + def _uninstall(self): + BasicMasking.drop_collection() diff --git a/server/first/engines/exact_match.py b/server/first/engines/exact_match.py new file mode 100644 index 0000000..3a78eb3 --- /dev/null +++ b/server/first/engines/exact_match.py @@ -0,0 +1,56 @@ +#------------------------------------------------------------------------------- +# +# FIRST Engine: Exact Match +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +#------------------------------------------------------------------------------- + +# Python Modules +from hashlib import sha256 + +# FIRST Modules +from first.error import FIRSTError +from first.engines import AbstractEngine +from first.engines.results import FunctionResult + +class ExactMatchEngine(AbstractEngine): + _name = 'ExactMatch' + _description = 'Hashes the function\'s opcodes and finds direct matches' + _required_db_names = ['first_db'] + + def _add(self, function): + ''' + Nothing needs to be implemented since the Function Model has the + sha256 of the opcodes + ''' + pass + + def _scan(self, opcodes, architecture, apis): + '''Returns List of FunctionResults''' + + db = self._dbs['first_db'] + function = db.find_function(h_sha256=sha256(opcodes).hexdigest(), + architecture=architecture) + + if not function: + return None + + similarity = 90.0 + if set(function.apis) == set(apis): + similarity += 10.0 + + return [FunctionResult(str(function.id), similarity)] diff --git a/server/first/engines/mnemonic_hash.py b/server/first/engines/mnemonic_hash.py new file mode 100644 index 0000000..19b23ae --- /dev/null +++ b/server/first/engines/mnemonic_hash.py @@ -0,0 +1,145 @@ +#------------------------------------------------------------------------------- +# +# FIRST Engine: Mnemonic Hash +# Uses Distorm3 to obtain mnemonics from the opcodes, reduces the opcodes to +# a single string and hashes it for future lookup +# +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Requirements +# ------------ +# - distorm3 +# - mongoengine +# +#------------------------------------------------------------------------------- + +# Python Modules +from hashlib import sha256 + +# FIRST Modules +from first.error import FIRSTError +from first.engines import AbstractEngine +from first.engines.results import FunctionResult + +# Third Party Modules +from bson.objectid import ObjectId +from distorm3 import DecomposeGenerator, Decode32Bits, Decode64Bits, Decode16Bits +from mongoengine.queryset import DoesNotExist, MultipleObjectsReturned +from mongoengine import Document, StringField, ListField, ObjectIdField + +class MnemonicHash(Document): + sha256 = StringField(max_length=64, required=True) + architecture = StringField(max_length=64, required=True) + functions = ListField(ObjectIdField(), default=list) + + meta = { + 'indexes' : [('sha256', 'architecture')] + } + + def dump(self): + return {'sha256' : self.sha256, + 'architecture' : self.architecture, + 'functions' : self.function_list()} + + def function_list(self): + return [str(x) for x in self.functions] + + +class MnemonicHashEngine(AbstractEngine): + _name = 'MnemonicHash' + _description = ('Uses mnemonics from the opcodes to generate a hash ' + '(Intel Only). Requires at least 8 mnemonics.') + _required_db_names = ['first_db'] + + def mnemonic_hash(self, opcodes, architecture): + dt = None + mapping = {'intel32' : Decode32Bits, + 'intel64' : Decode64Bits, + 'intel16' : Decode16Bits} + if architecture in mapping: + dt = mapping[architecture] + else: + return (None, None) + + try: + iterable = DecomposeGenerator(0, opcodes, dt) + + # Uses valid to ensure we are not creating hashes with 'db 0xYY' + mnemonics = [d.mnemonic for d in iterable if d.valid] + return (mnemonics, sha256(''.join(mnemonics)).hexdigest()) + + except Exception as e: + return (None, None) + + def _add(self, function): + ''' + Nothing needs to be implemented since the Function Model has the + sha256 of the opcodes + ''' + opcodes = function['opcodes'] + architecture = function['architecture'] + mnemonics, mnemonic_sha256 = self.mnemonic_hash(opcodes, architecture) + + if (not mnemonic_sha256) or (not mnemonics) or (8 > len(mnemonics)): + return + + try: + db_obj = MnemonicHash.objects( sha256=mnemonic_sha256, + architecture=architecture).get() + except DoesNotExist: + db_obj = MnemonicHash( sha256=mnemonic_sha256, + architecture=architecture) + + function_id = ObjectId(function['id']) + if function_id not in db_obj.functions: + db_obj.functions.append(function_id) + db_obj.save() + + def _scan(self, opcodes, architecture, apis): + '''Returns List of tuples (function ID, similarity percentage)''' + db = self._dbs['first_db'] + mnemonics, mnemonic_sha256 = self.mnemonic_hash(opcodes, architecture) + + if (not mnemonic_sha256) or (not mnemonics) or (8 > len(mnemonics)): + return + + try: + db_obj = MnemonicHash.objects( sha256=mnemonic_sha256, + architecture=architecture).get() + except DoesNotExist: + return None + + results = [] + for function_id in db_obj.function_list(): + similarity = 75.0 + function = db.find_function(_id=ObjectId(function_id)) + + if not function or not function.metadata: + continue + + # The APIs will count up to 10% of the similarity score + total_apis = len(function.apis) + overlap = float(len(set(function.apis).intersection(apis))) + if 0 != total_apis: + similarity += (overlap / total_apis) * 10 + + results.append(FunctionResult(function_id, similarity)) + + return results + + def _uninstall(self): + MnemonicHash.drop_collection() diff --git a/server/first/engines/results.py b/server/first/engines/results.py new file mode 100644 index 0000000..afbe89c --- /dev/null +++ b/server/first/engines/results.py @@ -0,0 +1,131 @@ +#------------------------------------------------------------------------------- +# +# FIRST Result Abstract Class +# Author: Angel M. Villegas (anvilleg@cisco.com) +# Last Modified: August 2016 +# +#------------------------------------------------------------------------------- + +class Result(object): + '''Abstract class to encapsulate results returned from Engines''' + required = {'id', 'creator', 'name', 'prototype', 'comment', 'rank'} + + def __init__(self, obj_id, similarity, **kwargs): + ''' + Main constructor, all inheriting classes should implement a class method + _init. Method _init will be passed **kwargs and the method will have + access to values set in this constructor. + ''' + self._id = obj_id + self._similarity = similarity + self._init(**kwargs) + self._engines = set() + + def get_metadata(self, db): + '''Returns a generator containing metadata to be used''' + while True: + data = self._get_metadata(db) + + if ((type(data) != dict) or (None in data.values()) + or (not Result.required.issubset(data.keys()))): + return + + data['similarity'] = self.similarity + data['engines'] = self.engines + yield data + + def _init(self, **kwargs): + ''' + All extending classes should implement this function unless + no constructor is needed + ''' + pass + + def _get_metadata(self, db): + ''' + All extending classes should implement this function. + This function should return one result at a time since it + feeds into a generator. + ''' + raise Exception('Implement') + + @property + def similarity(self): + return self._similarity + + @similarity.setter + def similarity(self, similarity): + self._similarity = similarity + + @property + def engines(self): + return [e.name for e in self._engines] + + @property + def engine_info(self): + return {e.name : e.description for e in self._engines} + + def add_engine(self, engine): + self._engines.add(engine) + + @property + def id(self): + return self._id + + def __eq__(self, other): + if not isinstance(other, Result): + return False + + return self.id == other.id + + +# +# Inheriting Class Implementations +#------------------------------------- +class FunctionResult(Result): + ''' + This Result class is crafted for general engines that want to return + a list of functions to the EngineManager + + ID values are 25 hex character string. For metadata created by users, + not engines, the most significant bit is not set. + ''' + def _get_metadata(self, db): + if not hasattr(self, '_metadata'): + func = db.find_function(_id=self.id) + if not func: + return None + + self._metadata = func.metadata + self._metadata.sort(key=lambda x: x.rank) + + data = None + if len(self._metadata) > 0: + metadata = self._metadata.pop() + data = metadata.dump() + data['id'] = '0{}'.format(metadata.id) + + return data + + +class EngineResult(Result): + ''' + This Result class is crafted for engines that want to return fixed data. + Make sure the data variable passed to the constructor is a dictionary + with all the required key values that are expected by EngineManager. + + ID values are 25 hex character string. For metadata created by engines, + not users, the most significant bit is set. + ''' + def _init(self, **kwargs): + self._data = None + if 'data' in kwargs: + self._data = kwargs['data'] + self._data['id'] = '8{}'.format(self.id) + + def _get_metadata(self, db): + data = self._data + if data: + self._data = None + + return data diff --git a/server/first/engines/skeleton.py_ b/server/first/engines/skeleton.py_ new file mode 100644 index 0000000..e005e82 --- /dev/null +++ b/server/first/engines/skeleton.py_ @@ -0,0 +1,73 @@ +#------------------------------------------------------------------------------- +# +# FIRST Engine: +# Author: () +# Last Modified: +# +# +# +# Requirements +# ------------ +# - +# +# Installation +# ------------ +# +# +#------------------------------------------------------------------------------- + +# Python Modules + + +# FIRST Modules +from first.error import FIRSTError +from first.engines import AbstractEngine + +# Third Party Modules + + +class (AbstractEngine): + # Required Properties + #-------------------------------------------------------------------------- + _name = 'UniqueName' # unqiue engine name, users will see + _description = 'Engine description' # engine description, users will see + _required_db_names = [''] # list of required DB modules + + + # Required Methods + #-------------------------------------------------------------------------- + def _add(self, function): + ''' + Perform steps to add this function to some representation that will be + matched on later by _scan. The function's id should be stored and + assocaited with whatever mechanism used to find similar functions. + + @param function: Dictionary. + { + 'id' : String. Function ID in string form + 'opcodes' : String. Binary data in string form + 'architecture' : String. IDA Pro's get_file_type_name() + 'apis' : List of Strings. Direct IAT API calls + 'sha256' : String. Hex digest + } + ''' + raise FIRSTError('TODO: implement') + + + def _scan(self, opcodes, architecture, apis): + ''' + Uses the provided opcodes, architecture and/or apis to find similary + functions already stored from the self._add function. This function + should return a list of tuples. The tuple is a pairing of a + function's ID that is similar to the provided data and a floating + value (0.0 - 100.0) that represents how similar the returned + function is to the provided one. + + @param opcodes : String. Binary data in string form + @param architecture : String. IDA Pro's get_file_type_name() + @param apis : List of Strings. Direct IAT API calls + + @return List of tuples. [(function ID, similarity percentage)] + @return None. For this engine to be skipped + ''' + raise FIRSTError('TODO: implement') diff --git a/server/first/error.py b/server/first/error.py new file mode 100644 index 0000000..a9c8404 --- /dev/null +++ b/server/first/error.py @@ -0,0 +1,35 @@ +#------------------------------------------------------------------------------- +# +# FIRST Engine Abstract Class and Exception Class +#------------------------------------------------------------------------------- +# +# Initializes FIRST Web Server Components +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +#------------------------------------------------------------------------------- + +# Class for FirstEngine related exceptions +class FIRSTError(Exception): + _type_name = 'FIRSTError' + + def __init__(self, message): + super(FIRSTError, self).__init__(message) + + @property + def name(self): + return self._type_name + \ No newline at end of file diff --git a/server/first/models.py b/server/first/models.py new file mode 100644 index 0000000..1846882 --- /dev/null +++ b/server/first/models.py @@ -0,0 +1,197 @@ +#------------------------------------------------------------------------------- +# +# FIRST MongoDB Models +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Requirements +# ------------ +# mongoengine (https://pypi.python.org/pypi/mongoengine/) +# +#------------------------------------------------------------------------------- + + +# Python Modules +from __future__ import unicode_literals +import datetime + +# Third Party Modules +from bson.objectid import ObjectId +from mongoengine import Document, StringField, UUIDField, \ + DateTimeField, LongField, ReferenceField, \ + BinaryField, ListField, BooleanField, ObjectIdField, \ + IntField, EmbeddedDocument, EmbeddedDocumentListField + +class User(Document): + name = StringField(max_length=128, required=True) + email = StringField(max_length=254, unique=True) + handle = StringField(max_length=32, required=True) + number = IntField(required=True) + api_key = UUIDField(required=True, unique=True) + created = DateTimeField(default=datetime.datetime.utcnow, required=True) + rank = LongField(default=0) + active = BooleanField(default=True) + + service = StringField(max_length=16, required=True) + auth_data = StringField(max_length=4096, required=True) + + meta = { + 'indexes' : [('handle', 'number'), 'api_key', 'email'] + } + + @property + def user_handle(self): + return '{0.handle}#{0.number:04d}'.format(self) + + def dump(self, full=False): + data = {'handle' : self.user_handle} + + if full: + data.update({ 'id' : str(self.id), + 'name' : self.name, + 'email' : self.email, + 'api_key' : self.api_key, + 'rank' : self.rank, + 'created' : self.created, + 'active' : self.active}) + + return data + + +class Engine(Document): + name = StringField(max_length=16, required=True, unique=True) + description = StringField(max_length=128, required=True) + path = StringField(max_length=256, required=True) + obj_name = StringField(max_length=32, required=True) + applied = ListField(default=list) + developer = ReferenceField(User) + active = BooleanField(default=False) + + meta = { + 'indexes' : ['name'] + } + + def dump(self, full=False): + data = {'name' : self.name, + 'description' : self.description, + 'rank' : self.rank, + 'developer' : self.developer.user_handle} + + if full: + data.update({'id' : str(self.id), 'path' : self.path}) + + return data + + @property + def rank(self): + return len(self.applied) + + +class Metadata(EmbeddedDocument): + id = ObjectIdField(required=True, default=lambda: ObjectId()) + user = ReferenceField(User) + name = ListField(StringField(max_length=128), default=list) + prototype = ListField(StringField(max_length=256), default=list) + comment = ListField(StringField(max_length=512), default=list) + committed = ListField(DateTimeField(), default=list) + applied = ListField(default=list) + + meta = { + 'indexes' : ['user'] + } + + def dump(self, full=False): + data = {'creator' : self.user.user_handle, + 'name' : self.name[0], + 'prototype' : self.prototype[0], + 'comment' : self.comment[0], + 'rank' : len(self.applied)} + + if full: + data['history'] = [] + for i in xrange(len(self.name) - 1, -1, -1): + # Convert back with: + # datetime.datetime.strptime(
, '%Y-%m-%dT%H:%M:%S.%f') + committed = self.committed[i].isoformat() + data['history'].append({'name' : self.name[i], + 'prototype' : self.prototype[i], + 'comment' : self.comment[i], + 'committed' : committed}) + + return data + + def has_changed(self, name, prototype, comment): + if (not self.name) or (not self.prototype) or (not comment): + return True + + if ((self.name[0] != name) + or (self.prototype[0] != prototype) + or (self.comment[0] != comment)): + return True + + return False + + @property + def rank(self): + return len(self.applied) + +# Use bson.Binary to insert binary data +class Function(Document): + sha256 = StringField(max_length=64) + opcodes = BinaryField() + apis = ListField(StringField(max_length=128), default=list) + metadata = EmbeddedDocumentListField(Metadata, default=list) + # Return value from idaapi.get_file_type_name() + architecture = StringField(max_length=64, required=True) + + meta = { + 'indexes' : [] + } + + def dump(self): + return {'id' : self.id, + 'opcodes' : self.opcodes, + 'apis' : self.apis, + 'metadata' : [str(x.id) for x in self.metadata], + 'architecture' : self.architecture, + 'sha256' : self.sha256} + + +class Sample(Document): + md5 = StringField(max_length=32, required=True) + crc32 = IntField(required=True) + sha1 = StringField(max_length=40) + sha256 = StringField(max_length=64) + seen_by = ListField(ReferenceField(User), default=list) + functions = ListField(ReferenceField(Function), default=list) + last_seen = DateTimeField(default=datetime.datetime.utcnow) + + meta = { + 'indexes' : [('md5', 'crc32')] + } + + def dump(self): + data = {'md5' : self.md5, 'crc32' : self.crc32, + 'seen_by' : [str(x.id) for x in self.seen_by], + 'functions' : [str(x.id) for x in self.functions]} + + if 'sha1' in self: + data['sha1'] = self.sha1 + + if 'sha256' in self: + data['sha256'] = self.sha256 + + return data diff --git a/server/first/settings.py b/server/first/settings.py new file mode 100644 index 0000000..d2e318c --- /dev/null +++ b/server/first/settings.py @@ -0,0 +1,145 @@ +""" +Django settings for first project. + +Generated by 'django-admin startproject' using Django 1.10. + +For more information on this file, see +https://docs.djangoproject.com/en/1.10/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.10/ref/settings/ +""" + +import os + +# Third Party Modules +import mongoengine + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'd2nev@620*3vi@qvynch)seb4^pghp=-)aenfs(4%)-k@xqpo9' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'www.apps.WwwConfig', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'first.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + os.path.join(BASE_DIR, 'www', 'templates'), + os.path.join(BASE_DIR, 'rest', 'templates'), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'first.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/1.10/ref/settings/#databases + +# MySQL Settings +_MYSQL_USER = os.environ.get('MYSQL_USER', 'root') +_MYSQL_PASSWORD = os.environ.get('MYSQL_PASSWORD', '') +_MYSQL_DATABASE = os.environ.get('MYSQL_DATABASE', 'first_db') +_MYSQL_HOST = os.environ.get('MYSQL_HOST', 'localhost') +_MYSQL_PORT = os.environ.get('MYSQL_PORT', 3306) + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': _MYSQL_DATABASE, + 'USER': _MYSQL_USER, + 'PASSWORD': _MYSQL_PASSWORD, + 'HOST': _MYSQL_HOST, + 'PORT': _MYSQL_PORT + } +} + +# MongoDB settings +_MONGODB_HOST = os.environ.get('MONGO_HOST', 'localhost') +_MONGODB_PORT = int(os.environ.get('MONGO_PORT', 27017)) +_MONGODB_NAME = os.environ.get('MONGO_NAME', 'first_db') + +mongoengine.connect(_MONGODB_NAME, host=_MONGODB_HOST, port=_MONGODB_PORT) + +# Password validation +# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/1.10/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'EST' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.10/howto/static-files/ +STATIC_ROOT = os.path.join(BASE_DIR, 'static') + +STATIC_URL = '/static/' diff --git a/server/first/urls.py b/server/first/urls.py new file mode 100644 index 0000000..769cc60 --- /dev/null +++ b/server/first/urls.py @@ -0,0 +1,26 @@ +"""first URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/1.10/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.conf.urls import url, include + 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.conf.urls import handler404 +from django.conf.urls import include, url + +handler404 = 'www.views.handler404' + +urlpatterns = [ + url(r'^admin/', admin.site.urls), + url(r'^api/', include('rest.urls')), + url(r'^', include('www.urls')), +] diff --git a/server/first/wsgi.py b/server/first/wsgi.py new file mode 100644 index 0000000..f66d3ef --- /dev/null +++ b/server/first/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for first project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "first.settings") + +application = get_wsgi_application() diff --git a/server/manage.py b/server/manage.py new file mode 100644 index 0000000..aab7fc6 --- /dev/null +++ b/server/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "first.settings") + try: + from django.core.management import execute_from_command_line + except ImportError: + # The above import may fail for some other reason. Ensure that the + # issue is really that Django is missing to avoid masking other + # exceptions on Python 2. + try: + import django + except ImportError: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) + raise + execute_from_command_line(sys.argv) diff --git a/server/rest/__init__.py b/server/rest/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/rest/admin.py b/server/rest/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/server/rest/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/server/rest/apps.py b/server/rest/apps.py new file mode 100644 index 0000000..17ed8f7 --- /dev/null +++ b/server/rest/apps.py @@ -0,0 +1,7 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class RestConfig(AppConfig): + name = 'rest' diff --git a/server/rest/migrations/__init__.py b/server/rest/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/rest/models.py b/server/rest/models.py new file mode 100644 index 0000000..bd4b2ab --- /dev/null +++ b/server/rest/models.py @@ -0,0 +1,5 @@ +from __future__ import unicode_literals + +from django.db import models + +# Create your models here. diff --git a/server/rest/templates/rest/error_json.html b/server/rest/templates/rest/error_json.html new file mode 100644 index 0000000..553ed7b --- /dev/null +++ b/server/rest/templates/rest/error_json.html @@ -0,0 +1 @@ +{"failed":true,"msg":"{{ msg }}"} diff --git a/server/rest/tests.py b/server/rest/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/server/rest/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/server/rest/urls.py b/server/rest/urls.py new file mode 100644 index 0000000..d75b467 --- /dev/null +++ b/server/rest/urls.py @@ -0,0 +1,36 @@ +from django.conf.urls import url + +from . import views + +app_name = 'rest' +urlpatterns = [ + url(r'^test_connection/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.test_connection, name='test_connection'), + url(r'^sample/architectures/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.architectures, name='architectures'), + url(r'^sample/checkin/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.checkin, name='checkin'), + + # Metadata related REST URIs + url(r'^metadata/history/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_history, name='metadata_history'), + url(r'^metadata/applied/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_applied, name='metadata_applied'), + url(r'^metadata/unapplied/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_unapplied, name='metadata_unapplied'), + url(r'^metadata/get/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_get, name='metadata_get'), + # TODO: migrate to ids with 25 characters + url(r'^metadata/delete/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})/(?i)(?P<_id>[A-F\d]{24,25})$', + views.metadata_delete, name='metadata_delete'), + url(r'^metadata/created/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_created, name='metadata_created'), + url(r'^metadata/created/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})/(?P\d+)$', + views.metadata_created, name='metadata_created'), + url(r'^metadata/add/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_add, name='metadata_add'), + url(r'^metadata/scan/(?i)(?P[A-F\d]{8}\-(?:[A-F\d]{4}\-){3}[A-F\d]{12})$', + views.metadata_scan, name='metadata_scan'), + + url(r'^status$', views.status, name='status'), +] diff --git a/server/rest/views.py b/server/rest/views.py new file mode 100644 index 0000000..e83a76f --- /dev/null +++ b/server/rest/views.py @@ -0,0 +1,578 @@ + +# Python Modules +import re +import json +import binascii +from functools import wraps + +# Django Modules +from django.shortcuts import render +from django.http import HttpResponse +from django.views.decorators.csrf import csrf_exempt +from django.views.decorators.http import require_GET, require_POST + +# FIRST Modules +from first import DBManager, EngineManager +from first.auth import verify_api_key, Authentication, FIRSTAuthError, \ + require_login, require_apikey + + +MAX_FUNCTIONS = 20 +MAX_METADATA = 20 +VALIDATE_IDS = lambda x: re.match('^[a-f\d]{24,25}$', x) + +#----------------------------------------------------------------------------- +# +# Decorator functions +# +#----------------------------------------------------------------------------- +def require_md5_crc32(view_function): + @wraps(view_function) + def decorated_function(*args, **kwargs): + request = args[0] + md5_hash, crc32 = request.POST.get('md5'), request.POST.get('crc32') + if None in [md5_hash, crc32]: + return render(request, 'rest/error_json.html', + {'msg' : 'Sample info not provided'}) + + kwargs['md5_hash'] = md5_hash.lower() + if not re.match('^[a-f\d]{32}$', kwargs['md5_hash']): + return render(request, 'rest/error_json.html', + {'msg' : 'MD5 is not valid'}) + + try: + kwargs['crc32'] = int(crc32) + except ValueError: + return render(request, 'rest/error_json.html', + {'msg' : 'CRC32 value is not an integer'}) + + return view_function(*args, **kwargs) + + return decorated_function + + +# Create your views here. +@require_GET +@require_apikey +def test_connection(request, user): + return HttpResponse('{"status" : "connected"}') + +@require_GET +@require_apikey +def architectures(request, user): + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + return HttpResponse(json.dumps({'failed' : False, + 'architectures' : db.get_architectures()})) + +@csrf_exempt +@require_POST +@require_apikey +@require_md5_crc32 +def checkin(request, md5_hash, crc32, user): + ''' + Checks a binary in when a new binary is loaded. + Registers the binary if it has not been seen before + Do we want to keep this or just require all this info for other operations? + - Con: would cause more data to be transmitted and handled + + POST request, expects: + { + # Required + 'md5' : /^[a-fA-F\d]{32}$/ + 'crc32' : <32 bit int> + + # Optional + 'sha1': /^[a-fA-F\d]{40}$/ + 'sha256': /^[a-fA-F\d]{64}$/ + } + ''' + sha1_hash = request.POST.get('sha1') + if sha1_hash != None: + sha1_hash = sha1_hash.lower() + if not re.match('^[a-f\d]{40}$', sha1_hash): + sha1_hash = None + + sha256_hash = request.POST.get('sha256') + if sha256_hash != None: + sha256_hash = sha256_hash.lower() + if not re.match('^[a-f\d]{64}$', sha256_hash): + sha256_hash = None + + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + checked_in = db.checkin(user, md5_hash, crc32, sha1_hash, sha256_hash) + return HttpResponse(json.dumps({'failed' : False, 'checkin' : checked_in})) + +@csrf_exempt +@require_POST +@require_apikey +@require_md5_crc32 +def metadata_add(request, md5_hash, crc32, user): + ''' + Adds/Updates metadata for a given function to the db. + + POST request, expects: + { + # Required - Sample + 'md5' : /^[a-fA-F\d]{32}$/ + 'crc32' : <32 bit int> + + 'functions' : Dictionary of json-ed Dictionaries (max_length = 20) + { + 'client_id' : + { + 'opcodes' : String (base64 encoded) + 'architecture' : String (max_length = 64) + 'name' : String (max_length = 128) + 'prototype' : String (max_length = 256) + 'comment' : String (max_length = 512) + + 'apis' : List of Strings (max_string_length = 64) + + # Optional + 'id' : String + } + } + } + ''' + # Check if required keys are provided + if not request.POST.get('functions'): + return render(request, 'rest/error_json.html', + {'msg' : 'All required data was not provided'}) + + try: + functions = json.loads(request.POST.get('functions')) + except ValueError: + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid json object'}) + + if (dict != type(functions)) or (MAX_FUNCTIONS < len(functions)): + return render(request, 'rest/error_json.html', {'msg' : 'Invalid function list'}) + + # Iterate through functions to validate input, fail if something is wrong + required_keys = { 'opcodes', 'architecture', 'name', + 'prototype', 'comment', 'apis'} + for client_key in functions: + f = functions[client_key] + + if not required_keys.issubset(f.keys()): + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid function list'}) + + try: + f['opcodes'] = f['opcodes'].decode('base64') + except binascii.Error as e: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to decode opcodes'}) + + # TODO: Normailize architecture + + # Ensure string lengths are enforced + string_restrictions = { 'architecture' : 64, 'name' : 128, + 'prototype' : 256, 'comment' : 512} + for key, max_length in string_restrictions.iteritems(): + if max_length < len(f[key]): + return render(request, 'rest/error_json.html', + {'msg' : ('Data for "{}" exceeds the maximum ' + 'length ({})').format(key, max_length)}) + + # Ensure list of API strings are within the enforced length + for api in f['apis']: + if 128 < len(api): + return render(request, 'rest/error_json.html', + {'msg' : ('API {} is longer than 128 bytes. ' + 'Report issue is this is a valid ' + 'API').format(api)}) + + if not re.match('^[a-zA-Z\d_:@\?\$]+$', api): + return render(request, 'rest/error_json.html', + {'msg' : ('Invalid characters in API, supported' + 'characters match the regex /^[a-zA-Z' + '\\d_:@\\?\\$]+$/. Report issue if' + 'the submitted API valid is valid.')}) + + # All input has been validated + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + # Get sample + sample = db.get_sample(md5_hash, crc32) + if not sample: + return render(request, 'rest/error_json.html', + {'msg' : 'Sample does not exist in FIRST'}) + + db.sample_seen_by_user(sample, user) + + results = {} + for client_key in functions: + f = functions[client_key] + + # Check if the id sent back is from an engine, if so skip it + if (('id' in f) and (f['id']) and (len(f['id']) == 25) + and ((int(f['id'][0]) >> 3) & 1)): + continue; + + function = db.get_function(create=True, **f) + if not function: + return render(request, 'rest/error_json.html', + {'msg' : 'Function does not exist in FIRST'}) + + if not db.add_function_to_sample(sample, function): + return render(request, 'rest/error_json.html', + {'msg' : ('Unable to associate function with ' + 'sample in FIRST')}) + + metadata_id = db.add_metadata_to_function(user, function, **f) + if not metadata_id: + return render(request, 'rest/error_json.html', + {'msg' : ('Unable to associate metadata with ' + 'function in FIRST')}) + + # The '0' indicated the metadata_id is from a user. + results[client_key] = '0{}'.format(metadata_id) + + # Set the user as applying the metadata + db.applied(sample, user, metadata_id) + + # Send opcode to EngineManager + EngineManager.add(function.dump()) + + return HttpResponse(json.dumps({'failed' : False, 'results' : results})) + +@csrf_exempt +@require_POST +@require_apikey +def metadata_history(request, user): + ''' + Returns the history of the given metadata + + POST request, expects: + { + # Required + 'metadata' : List of Metadata IDs (max_length = 20) + [, ... ] + } + + Successful returns: + { + 'failed': False, + 'results' : Dictionary of dictionaries + { + 'metadata_id' : Dictionary + { + 'creator' : String (max_length = 37) (/^[\s\d_]{1,32}#\d{4}$/) + 'history : List of dictionaries + [{ + 'name' : String (max_length = 128) + 'prototype' : String (max_length = 256) + 'comment' : String (max_length = 512) + 'committed' : Datetime + }, ...] + } + } + } + ''' + if not request.POST.get('metadata'): + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid metadata information'}) + + try: + metadata = json.loads(request.POST.get('metadata')) + except ValueError: + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid json object'}) + + if MAX_METADATA < len(metadata): + return render(request, 'rest/error_json.html', + {'msg' : 'Exceeded max bulk request'}) + + if None in map(VALIDATE_IDS, metadata): + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid metadata id'}) + + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + results = db.metadata_history(metadata) + return HttpResponse(json.dumps({'failed' : False, 'results' : results})) + +@csrf_exempt +@require_POST +@require_apikey +@require_md5_crc32 +def metadata_applied(request, md5_hash, crc32, user): + ''' + Marks metadata as applied to a binary + + POST request, expects: + { + # Required - Sample + 'md5' : /^[a-fA-F\d]{32}$/ + 'crc32' : <32 bit int> + + 'id' : /^[\da-f]{24}$/ + } + ''' + _id = request.POST.get('id') + return metadata_status_change(_id, user, md5_hash, crc32, True) + +@csrf_exempt +@require_POST +@require_apikey +@require_md5_crc32 +def metadata_unapplied(request, md5_hash, crc32, user): + ''' + Unapplies metadata to binary + + POST request, expects: + { + # Required - Sample + 'md5' : /^[a-fA-F\d]{32}$/ + 'crc32' : <32 bit int> + + 'id' : /^[\da-f]{24}$/ + } + ''' + _id = request.POST.get('id') + return metadata_status_change(_id, user, md5_hash, crc32, False) + +@csrf_exempt +@require_POST +@require_apikey +def metadata_get(request, user): + ''' + Returns metadata identified by id + + POST request, expects: + { + 'metadata' : List of Metadata IDs (max_length = 20) + [, ... ] + } + ''' + if not request.POST.get('metadata'): + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid metadata information'}) + + try: + metadata = json.loads(request.POST.get('metadata')) + except ValueError: + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid json object'}) + + if ((MAX_METADATA < len(metadata)) + or (None in [VALIDATE_IDS(x) for x in metadata])): + return render(request, 'rest/error_json.html', {'msg' : 'Invalid id value'}) + + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + results = {x['id'] : x for x in db.get_metadata_list(metadata)} + + return HttpResponse(json.dumps({'failed' : False, 'results' : results})) + +@require_GET +@require_apikey +def metadata_delete(request, user, _id): + ''' + Deletes metadata identified by id owned by person submitting request + /api/metadata/delete// + + ''' + if not VALIDATE_IDS(_id): + return render(request, 'rest/error_json.html', {'msg' : 'Invalid id value'}) + + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + deleted = db.delete_metadata(user, _id) + return HttpResponse(json.dumps({'failed' : False, 'deleted' : deleted})) + +@require_GET +@require_apikey +def metadata_created(request, user, page=1): + ''' + Returns chunks of 20 metadatas added to FIRST by user + + GET request, expects: + /api/metadata/created/ + /api/metadata/created// + + Successful returns: + { + 'failed': False, + 'page' : Integer (current page requested, + 'pages' : Integer (total number of pages) + 'results' : Dictionary of dictionaries + { + 'metadata_id' : Dictionary + { + 'name' : String (max_length = 128) + 'prototype' : String (max_length = 256) + 'comment' : String (max_length = 512) + 'rank' : Integer + 'id' : String (length = 24) + } + } + } + ''' + page = int(page) + result = {'failed' : False, 'page' : page, 'results' : []} + + db = DBManager.first_db + if not db: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + result['results'], result['pages'] = db.created(user, page, MAX_METADATA) + + return HttpResponse(json.dumps(result)) + +@csrf_exempt +@require_POST +@require_apikey +def metadata_scan(request, user): + ''' + Returns all metadata added to FIRST by user + + POST request, expects: + { + # Required + 'functions' : Dictionary of json-ed Dictionaries (max_length = 20) + { + 'client_id' : + { + 'opcodes' : String (base64 encoded) + 'architecture' : String (max_length = 64) + 'apis' : List Strings + } + } + } + ''' + if not request.POST.get('functions'): + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid function information'}) + + try: + functions = json.loads(request.POST.get('functions')) + except ValueError: + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid json object'}) + + if ((dict != type(functions)) or MAX_FUNCTIONS < len(functions)): + return render(request, 'rest/error_json.html', {'msg' : 'Invalid function json'}) + + # Validate input + validated_input = {} + required_keys = {'opcodes', 'apis', 'architecture'} + for client_id, details in functions.iteritems(): + if ((dict != type(details)) + or (not required_keys.issubset(details.keys()))): + return render(request, 'rest/error_json.html', + {'msg' : 'Function details not provided'}) + + architecture = details['architecture'] + if 64 < len(architecture): + return render(request, 'rest/error_json.html', + {'msg' : 'Invalid architecture'}) + + # Ensure list of API strings are within the enforced length + for api in details['apis']: + if 128 < len(api): + return render(request, 'rest/error_json.html', + {'msg' : ('API {} is longer than 128 bytes. ' + 'Report issue is this is a valid ' + 'API').format(api)}) + + if not re.match('^[a-zA-Z\d_:@\?\$]+$', api): + return render(request, 'rest/error_json.html', + {'msg' : ('Invalid characters in API, supported' + 'characters match the regex /^[a-zA-Z' + '\\d_:@\\?\\$]+$/. Report issue if' + 'the submitted API valid is valid.')}) + + try: + opcodes = details['opcodes'].decode('base64') + except binascii.Error as e: + return render(request, 'rest/error_json.html', + {'msg' : 'Unable to decode opcodes'}) + + validated_input[client_id] = { 'opcodes' : opcodes, + 'apis' : details['apis'], + 'architecture' : architecture} + + data = {'engines' : {}, 'matches' : {}} + for client_id, details in validated_input.iteritems(): + results = EngineManager.scan(user, **details) + if (not results) or (results == ({}, [])): + continue + + engine_details, results = results + data['engines'].update(engine_details) + data['matches'][client_id] = results + + return HttpResponse(json.dumps({'failed' : False, 'results' : data})) + + + +@require_apikey +def status(request, user): + pass + + +#----------------------------------------------------------------------------- +# +# Helper functions +# +#----------------------------------------------------------------------------- +def metadata_status_change(_id, user, md5_hash, crc32, applied): + if not _id: + return render(None, 'rest/error_json.html', + {'msg' : 'Invalid metadata information'}) + + # Currently 24-25, early beta used a 24 byte string, moved to 25 byte one + # TODO: Change to 25 only once it is closed beta time + if not VALIDATE_IDS(_id): + return render(None, 'rest/error_json.html', + {'msg' : 'Invalid id value'}) + + metadata_id = _id + if len(_id) == 25: + metadata_id = _id[1:] + + db = DBManager.first_db + if not db: + return render(None, 'rest/error_json.html', + {'msg' : 'Unable to connect to FIRST DB'}) + + is_engine = False + if ((len(_id) == 25) and (int(_id[0], 16) & 0x8)): + # Metadata came from an engine + is_engine = True + + # Get sample + sample = db.get_sample(md5_hash, crc32) + if not sample: + return render(None, 'rest/error_json.html', + {'msg' : 'Sample does not exist in FIRST'}) + + if applied: + results = db.applied(sample, user, metadata_id, is_engine) + else: + results = db.unapplied(sample, user, metadata_id, is_engine) + + return HttpResponse(json.dumps({'failed' : False, 'results' : results})) diff --git a/server/utilities/engine_shell.py b/server/utilities/engine_shell.py new file mode 100644 index 0000000..bb68cf6 --- /dev/null +++ b/server/utilities/engine_shell.py @@ -0,0 +1,348 @@ +#! /usr/bin/python +#------------------------------------------------------------------------------- +# +# Utility Shell to manage Engine related operations +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +#------------------------------------------------------------------------------- +# Python Modules +import os +import sys +from cmd import Cmd +from pprint import pprint +from argparse import ArgumentParser + +# Add app package to sys path +sys.path.append(os.path.abspath('..')) + +# FIRST Modules +import first.settings +from first.models import Engine, User +from first.engines import AbstractEngine +from first import DBManager, EngineManager + +class EngineCmd(Cmd): + + def __init__(self): + Cmd.__init__(self) + self.prompt = 'FIRST>> ' + + def emptyline(self): + '''Prevent the resubmission of the last command''' + return + + def default(self, line): + print '"{}" is unknown command'.format(line) + + def preloop(self): + print ( '\n\n' + '+========================================================+\n' + '| FIRST Engine Shell Menu |\n' + '+========================================================+\n' + '| list | List all engines currently installed |\n' + '| info | Get info on an engine |\n' + '| install | Installs engine |\n' + '| delete | Removes engine record but not other DB data |\n' + '| enable | Enable engine (Engine will be enabled) |\n' + '| populate | Sending all functions to engine |\n' + '| disable | Disable engine (Engine will be disabled) |\n' + '+--------------------------------------------------------+\n') + + def postcmd(self, stop, line): + if not stop: + self.preloop() + return stop + + def do_back(self, line): + '''Step out of current shell''' + return 1 + + def do_exit(self, line): + '''Exit shell''' + sys.exit(0) + + def do_quit(self, line): + '''Exit shell''' + sys.exit(0) + + def do_shell(self, line): + '''Run line in python''' + exec line + +class RootCmd(EngineCmd): + def do_list(self, line): + print 'list - List all engines installed' + if line in ['help', '?']: + print 'Usage: list \n' + return + + print 'Engines currently installed\n' + if Engine.objects.count() == 0: + print 'No engines are currently installed' + return + + for engine in Engine.objects: + name = engine.name + description = engine.description + print '+{}+{}+'.format('-' * 18, '-' * 50) + for i in xrange(0, len(description), 48): + print '| {0:16} | {1:48} |'.format(name, description[i:i+48]) + name = '' + + print '+{}+{}+'.format('-' * 18, '-' * 50) + + def do_info(self, line): + print 'info - Displays details about an installed Engine' + if line in ['', 'help', '?']: + print 'Usage: info ' + return + + engine = self._get_db_engine_obj(line) + if not engine: + return + + d = engine.description + d = [d[i:i+53] for i in xrange(0, len(d), 53)] + d = ' |\n| | '.join(['{:53}'.format(x) for x in d]) + print ('+' + '-'*69 + '+\n' + '| Name | {0.name:53} |\n' + '+' + '-'*13 + '+' + '-'*55 + '\n' + '| Description | {1:53} |\n' + '+' + '-'*13 + '+' + '-'*55 + '\n' + '| Developer | {0.developer.email:53} |\n' + '+' + '-'*13 + '+' + '-'*55 + '\n' + '| Path | {0.path:53} |\n' + '+' + '-'*13 + '+' + '-'*55 + '\n' + '| Class Name | {0.obj_name:53} |\n' + '+' + '-'*13 + '+' + '-'*55 + '\n' + '| Rank | {0.rank:<53} |\n' + '+' + '-'*13 + '+' + '-'*55 + '\n' + '| Active | {0.active:<53} |\n' + '+' + '-'*69 + '+\n').format(engine, d) + + def do_install(self, line): + print 'install - Installs engine\n' + + try: + path, obj_name, email = line.split(' ') + developer = User.objects(email=email).get() + + __import__(path) + module = sys.modules[path] + + # Skip module if the class name not located or is not a class + if not hasattr(module, obj_name): + print '[Error] Unable to get {} from {}, exiting...'.format(obj_name, path) + return + + obj = getattr(module, obj_name) + if type(obj) != type: + print '[Error] {} is not the right type, exiting...'.format(obj_name) + return + + e = obj(DBManager, -1, -1) + if not isinstance(e, AbstractEngine): + print '[Error] {} is not an AbstractEngine, exiting...'.format(obj_name) + return + + e.install() + engine = Engine(name=e.name, description=e.description, path=path, + obj_name=obj_name, developer=developer, active=True) + engine.save() + print 'Engine added to FIRST' + return + + except ValueError as e: + print e + + except ImportError as e: + print e + + print ( 'Usage: \n' + 'install \n' + '\n' + 'Example of pythonic path: app.first.engines.exact_match\n') + + def do_delete(self, line): + print 'delete - Delete engine\n' + if line in ['', 'help', '?']: + print 'Usage: delete ' + return + + engine, e = self._get_engine_by_name(line) + if (not engine) or (not e): + return + + e.uninstall() + engine.delete() + + def do_enable(self, line): + print 'enable - Enable engine \n' + if line in ['', 'help', '?']: + print 'Usage: enable ' + return + + engine = self._get_db_engine_obj(line) + if not engine: + return + + engine.active = True + engine.save() + print 'Engine "{}" enabled'.format(line) + + def do_disable(self, line): + print 'disable - Disable engine \n' + if line in ['', 'help', '?']: + print 'Usage: disable ' + return + + engine = self._get_db_engine_obj(line) + if not engine: + return + + engine.active = False + engine.save() + print 'Engine "{}" disabled'.format(line) + + def do_populate(self, line): + print 'populate - Populate engine by sending all functions to engine\n' + if line in ['', 'help', '?']: + print ( 'Usage: populate ...\n\n' + 'More than one engine name can be provided, separate with ' + 'a space\n') + return + + global total, completed, operation_complete + populate_engines = line.split(' ') + + db = DBManager.first_db + if not db: + print '[Error] Unable to connect to FIRST DB, exiting...' + return + + # Get all engines the user entered + all_engines = EngineManager.get_engines() + engines = [] + for engine_name in populate_engines: + if engine_name not in all_engines: + print '[Error] Engine "{}" is not installed' + continue + + engines.append(all_engines[engine_name]) + + if not engines: + print 'No engines to populate, exiting...' + return + + print 'Starting to populate engines:\n-\t{}'.format('\n-\t'.join([e.name for e in engines])) + functions = db.get_all_functions() + total = functions.count() + + msg = ' [Status] {0:.2f}% Completed ({1} out of {2})\r' + errors = [] + i = 0.0 + + offset = 0 + limit = 500 + for j in xrange(0, total, limit): + functions = db.get_all_functions().skip(j).limit(limit) + + for function in functions: + details = function.dump() + del details['metadata'] + + for engine in engines: + try: + engine.add(details) + + except Exception as e: + msg = '[Error] Engine "{}": {}'.format(engine.name, e) + errors.append(msg) + print msg + + i += 1 + if 0 == (i % 50): + sys.stdout.write(msg.format((i / total) * 100, int(i), total)), + sys.stdout.flush() + + sys.stdout.write('\n') + sys.stdout.flush() + print 'Populating engines complete, exiting...' + if errors: + print 'The below errors occured:\n{}'.format('\n '.join(errors)) + + def _get_db_engine_obj(self, name): + engine = Engine.objects(name=name) + if not engine: + print 'Unable to locate Engine "{}"'.format(name) + return + + if len(engine) > 1: + print 'More than one engine "{}" exists'.format(name) + for e in engine: + print ' - {}'.format(e.name) + + return + + return engine.get() + + def _get_engine_by_name(self, name): + empty_result = (None, None) + + try: + engine = self._get_db_engine_obj(name) + if not engine: + return empty_result + + __import__(engine.path) + module = sys.modules[engine.path] + + # Skip module if the class name not located or is not a class + if not hasattr(module, engine.obj_name): + print '[Error] Unable to get {0.obj_name} from {0.path}, exiting...'.format(engine) + return empty_result + + obj = getattr(module, engine.obj_name) + if type(obj) != type: + print '[Error] {} is not the right type, exiting...'.format(engine.obj_name) + return empty_result + + e = obj(DBManager, -1, -1) + if not isinstance(e, AbstractEngine): + print '[Error] {} is not an AbstractEngine, exiting...'.format(engine.obj_name) + return empty_result + + except ValueError as e: + print e + + except ImportError as e: + print e + + return (engine, e) + + +if __name__ == '__main__': + shell = RootCmd() + if len(sys.argv) > 1: + shell.onecmd(' '.join(sys.argv[1:])) + sys.exit(0) + + while 1: + try: + shell.cmdloop() + except Exception as err: + pprint(err) diff --git a/server/utilities/populate_engine.py b/server/utilities/populate_engine.py new file mode 100644 index 0000000..b26cc2b --- /dev/null +++ b/server/utilities/populate_engine.py @@ -0,0 +1,90 @@ +#------------------------------------------------------------------------------- +# +# Sends all function data to engine for it to be processed by engine +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Requirements +# ------------ +# Flask's mongoengine (https://pypi.python.org/pypi/flask-mongoengine/) +# +#------------------------------------------------------------------------------- + +# Python Modules +from argparse import ArgumentParser + +# FIRST Modules +from ..app.first import EngineManager, DBManager + +def main(): + global total, completed, operation_complete + + parser = ArgumentParser(description='Populate engine\'s metadata.') + parser.add_argument('engines', metavar='E', type=str, nargs='+', + help='an engine name to populate') + + args = parser.parse_args() + + db = DBManager.first_db + if not db: + print '[Error] Unable to connect to FIRST DB, exiting...' + return + + # Get all engines the user entered + all_engines = EngineManager.get_engines() + engines = [] + for engine_name in args.engines: + if engine_name not in all_engines: + print '[Error] Engine "{}" is not installed' + continue + + engines.append(all_engines[engine_name]) + + if not engines: + print 'No engines to populate, exiting...' + return + + print 'Starting to populate engines:\n-\t{}'.format('\n-\t'.join([e.name for e in engines])) + functions = db.get_all_functions() + total = len(functions) + + msg = ' [Status] {0:.2f}% Completed ({1} out of {2})' + errors = [] + i = 0.0 + for function in functions: + details = function.dump() + del details['metadata'] + + for engine in engines: + try: + engine.add(details) + + except Exception as e: + msg = '[Error] Engine "{}": {}'.format(engine.name, e) + errors.append(msg) + print msg + + i += 1 + if 0 == (i % 25): + print msg.format((i / total) * 100, int(i), total) + + # Wait for thread to end + print 'Populating engines complete, exiting...' + if errors: + print 'The below errors occured:\n{}'.format('\n'.join(errors)) + +if __name__ == '__main__': + main() diff --git a/server/utilities/test_engine.py b/server/utilities/test_engine.py new file mode 100644 index 0000000..e69de29 diff --git a/server/www/__init__.py b/server/www/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/www/admin.py b/server/www/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/server/www/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/server/www/apps.py b/server/www/apps.py new file mode 100644 index 0000000..9fa3225 --- /dev/null +++ b/server/www/apps.py @@ -0,0 +1,7 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class WwwConfig(AppConfig): + name = 'www' diff --git a/server/www/migrations/__init__.py b/server/www/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/www/models.py b/server/www/models.py new file mode 100644 index 0000000..999885a --- /dev/null +++ b/server/www/models.py @@ -0,0 +1,197 @@ +#------------------------------------------------------------------------------- +# +# FIRST MongoDB Models +# Copyright (C) 2016 Angel M. Villegas +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Requirements +# ------------ +# mongoengine (https://pypi.python.org/pypi/mongoengine/) +# +#------------------------------------------------------------------------------- + + +# Python Modules +from __future__ import unicode_literals +import datetime + +# Third Party Modules +from bson.objectid import ObjectId +from mongoengine import Document, StringField, UUIDField, \ + DateTimeField, LongField, ReferenceField, \ + BinaryField, ListField, BooleanField, ObjectIdField, \ + IntField, EmbeddedDocument, EmbeddedDocumentListField + +class User(Document): + name = StringField(max_length=128, required=True) + email = StringField(max_length=254, unique=True) + handle = StringField(max_length=32, required=True) + number = IntField(required=True) + api_key = UUIDField(required=True, unique=True) + created = DateTimeField(default=datetime.datetime.utcnow, required=True) + rank = LongField(default=0) + active = BooleanField(default=True) + + service = StringField(max_length=16, required=True) + auth_data = StringField(max_length=4096, required=True) + + meta = { + 'indexes' : [('handle', 'number'), 'api_key', 'email'] + } + + @property + def user_handle(self): + return '{0.handle}#{0.number:04d}'.format(self) + + def dump(self, full=False): + data = {'handle' : self.user_handle} + + if full: + data.update({ 'id' : str(self.id), + 'name' : self.name, + 'email' : self.email, + 'api_key' : self.api_key, + 'rank' : self.rank, + 'created' : self.created, + 'active' : self.active}) + + return data + + +class Engine(Document): + name = StringField(max_length=16, required=True, unique=True) + description = StringField(max_length=128, required=True) + path = StringField(max_length=256, required=True) + obj_name = StringField(max_length=32, required=True) + applied = ListField(default=list) + developer = ReferenceField(User) + active = BooleanField(default=False) + + meta = { + 'indexes' : ['name'] + } + + def dump(self, full=False): + data = {'name' : self.name, + 'description' : self.description, + 'rank' : self.rank, + 'developer' : self.developer.user_handle} + + if full: + data.update({'id' : str(self.id), 'path' : self.path}) + + return data + + @property + def rank(self): + return len(self.applied) + + +class Metadata(EmbeddedDocument): + id = ObjectIdField(required=True, default=lambda: ObjectId()) + user = ReferenceField(User) + name = ListField(StringField(max_length=128), default=list) + prototype = ListField(StringField(max_length=256), default=list) + comment = ListField(StringField(max_length=512), default=list) + committed = ListField(DateTimeField(), default=list) + applied = ListField(default=list) + + meta = { + 'indexes' : ['user'] + } + + def dump(self, full=False): + data = {'creator' : self.user.user_handle, + 'name' : self.name[0], + 'prototype' : self.prototype[0], + 'comment' : self.comment[0], + 'rank' : len(self.applied)} + + if full: + data['history'] = [] + for i in xrange(len(self.name) - 1, -1, -1): + # Convert back with: + # datetime.datetime.strptime(
, '%Y-%m-%dT%H:%M:%S.%f') + committed = self.committed[i].isoformat() + data['history'].append({'name' : self.name[i], + 'prototype' : self.prototype[i], + 'comment' : self.comment[i], + 'committed' : committed}) + + return data + + def has_changed(self, name, prototype, comment): + if (not self.name) or (not self.prototype) or (not comment): + return True + + if ((self.name[0] != name) + or (self.prototype[0] != prototype) + or (self.comment[0] != comment)): + return True + + return False + + @property + def rank(self): + return len(self.applied) + +# Use bson.Binary to insert binary data +class Function(Document): + sha256 = StringField(max_length=64) + opcodes = BinaryField() + apis = ListField(StringField(max_length=64), default=list) + metadata = EmbeddedDocumentListField(Metadata, default=list) + # Return value from idaapi.get_file_type_name() + architecture = StringField(max_length=64, required=True) + + meta = { + 'indexes' : [] + } + + def dump(self): + return {'id' : self.id, + 'opcodes' : self.opcodes, + 'apis' : self.apis, + 'metadata' : [str(x.id) for x in self.metadata], + 'architecture' : self.architecture, + 'sha256' : self.sha256} + + +class Sample(Document): + md5 = StringField(max_length=32, required=True) + crc32 = IntField(required=True) + sha1 = StringField(max_length=40) + sha256 = StringField(max_length=64) + seen_by = ListField(ReferenceField(User), default=list) + functions = ListField(ReferenceField(Function), default=list) + last_seen = DateTimeField(default=datetime.datetime.utcnow) + + meta = { + 'indexes' : [('md5', 'crc32')] + } + + def dump(self): + data = {'md5' : self.md5, 'crc32' : self.crc32, + 'seen_by' : [str(x.id) for x in self.seen_by], + 'functions' : [str(x.id) for x in self.functions]} + + if 'sha1' in self: + data['sha1'] = self.sha1 + + if 'sha256' in self: + data['sha256'] = self.sha256 + + return data diff --git a/server/www/static/www/Thumbs.db b/server/www/static/www/Thumbs.db new file mode 100644 index 0000000..4a252a2 Binary files /dev/null and b/server/www/static/www/Thumbs.db differ diff --git a/server/www/static/www/YTPlayer.css b/server/www/static/www/YTPlayer.css new file mode 100644 index 0000000..99af3d2 --- /dev/null +++ b/server/www/static/www/YTPlayer.css @@ -0,0 +1,12 @@ +@charset"UTF-8";.mb_YTPBar,.mb_YTPBar span.mb_YTPUrl a{color:#fff}@font-face{font-family:ytpregular;src:url(font/ytp-regular.eot)}@font-face{font-family:ytpregular;src:url(data:application/x-font-woff;charset=utf-8;base64,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)format('woff'),url(font/ytp-regular.ttf)format('truetype');font-weight:400;font-style:normal}.mb_YTPlayer:focus{outline:0}.mbYTP_wrapper{display:block;transform:translateZ(0)translate3d(0,0,0);transform-style:preserve-3d;perspective:1000;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box}.mb_YTPlayer .loading{position:absolute;top:10px;right:10px;font-size:12px;color:#fff;background:rgba(0,0,0,.51);text-align:center;padding:2px 4px;border-radius:5px;font-family:"Droid Sans",sans-serif;-webkit-animation:fade .1s infinite alternate;animation:fade .1s infinite alternate}@-webkit-keyframes fade{0%{opacity:.5}100%{opacity:1}}@keyframes fade{0%{opacity:.5}100%{opacity:1}}.fullscreen{display:block!important;position:fixed!important;width:100%!important;height:100%!important;top:0!important;left:0!important;margin:0!important;border:none!important;opacity:1!important}.mbYTP_wrapper iframe{max-width:4000px!important}.inline_YTPlayer{margin-bottom:20px;vertical-align:top;position:relative;left:0;overflow:hidden;border-radius:4px;box-shadow:0 0 5px rgba(0,0,0,.7);background:rgba(0,0,0,.5)}.inline_YTPlayer img{border:none!important;margin:0!important;padding:0!important;transform:none!important}.mb_YTPBar,.mb_YTPBar .buttonBar{box-sizing:border-box;left:0;padding:5px;width:100%}.mb_YTPBar .ytpicon{font-size:20px;font-family:ytpregular}.mb_YTPBar .mb_YTPUrl.ytpicon{font-size:30px}.mb_YTPBar{transition:opacity .5s;display:block;height:10px;background:#333;position:fixed;bottom:0;text-align:left;z-index:1000;font:14px/16px sans-serif;opacity:.1}.mb_YTPBar.visible,.mb_YTPBar:hover{opacity:1}.mb_YTPBar .buttonBar{transition:all .5s;background:0 0;font:12px/14px Calibri;position:absolute;top:-30px}.mb_YTPBar:hover .buttonBar{background:rgba(0,0,0,.4)}.mb_YTPBar span{display:inline-block;font:16px/20px Calibri,sans-serif;position:relative;width:30px;height:25px;vertical-align:middle}.mb_YTPBar span.mb_YTPTime{width:130px}.mb_YTPBar span.mb_OnlyYT,.mb_YTPBar span.mb_YTPUrl{position:absolute;width:auto;display:block;top:6px;right:10px;cursor:pointer}.mb_YTPBar span.mb_YTPUrl img{width:60px}.mb_YTPBar span.mb_OnlyYT{left:300px;right:auto}.mb_YTPBar span.mb_OnlyYT img{width:25px}.mb_YTPBar .mb_YTPMuteUnmute,.mb_YTPBar .mb_YTPPlaypause,.mb_YTPlayer .mb_YTPBar .mb_YTPPlaypause img{cursor:pointer}.mb_YTPBar .mb_YTPProgress{height:10px;width:100%;background:#222;bottom:0;left:0}.mb_YTPBar .mb_YTPLoaded{height:10px;width:0;background:#444;left:0}.mb_YTPBar .mb_YTPseekbar{height:10px;width:0;background:#000;bottom:0;left:0;box-shadow:rgba(82,82,82,.47)1px 1px 3px}.mb_YTPBar .YTPOverlay{backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform-style:"flat";box-sizing:border-box}.YTPOverlay.raster{background:url(images/raster.png)}.YTPOverlay.raster.retina{background:url(images/raster@2x.png)}.YTPOverlay.raster-dot{background:url(images/raster_dot.png)}.YTPOverlay.raster-dot.retina{background:url(images/raster_dot@2x.png)}.mb_YTPBar .simpleSlider{position:relative;width:100px;height:10px;border:1px solid #fff;overflow:hidden;box-sizing:border-box;margin-right:10px;cursor:pointer!important;border-radius:3px}.mb_YTPBar.compact .simpleSlider{width:40px}.mb_YTPBar .simpleSlider.muted{opacity:.3}.mb_YTPBar .level{position:absolute;left:0;bottom:0;background-color:#fff;box-sizing:border-box}.mb_YTPBar .level.horizontal{height:100%;width:0}.mb_YTPBar .level.vertical{height:auto;width:100%} + +#ytb-wrap:before, +.YTPOverlay:before { + position: absolute; + width: 100%; + height: 100%; + content: ""; + top: 0; + left: 0; + background: rgba(0,0,0,.5); +} \ No newline at end of file diff --git a/server/www/static/www/animate.css b/server/www/static/www/animate.css new file mode 100644 index 0000000..60025f3 --- /dev/null +++ b/server/www/static/www/animate.css @@ -0,0 +1,3181 @@ +@charset "UTF-8"; + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.bounceIn, +.animated.bounceOut { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +.animated.flipOutX, +.animated.flipOutY { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +@keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes slideOutDown { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes slideOutLeft { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes slideOutRight { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes slideOutUp { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} \ No newline at end of file diff --git a/server/www/static/www/bootstrap.min.css b/server/www/static/www/bootstrap.min.css new file mode 100644 index 0000000..7caaa89 --- /dev/null +++ b/server/www/static/www/bootstrap.min.css @@ -0,0 +1,8 @@ +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=55794a2fadb21c76c8f7) + * Config saved to config.json and https://gist.github.com/55794a2fadb21c76c8f7 + *//*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:992px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:992px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:992px){.navbar{border-radius:4px}}@media (min-width:992px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:992px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:992px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:992px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:992px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:992px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:992px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:991px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:992px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:991px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:992px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:992px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:992px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:991px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:991px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}} \ No newline at end of file diff --git a/server/www/static/www/css/Thumbs.db b/server/www/static/www/css/Thumbs.db new file mode 100644 index 0000000..4a252a2 Binary files /dev/null and b/server/www/static/www/css/Thumbs.db differ diff --git a/server/www/static/www/css/YTPlayer.css b/server/www/static/www/css/YTPlayer.css new file mode 100644 index 0000000..99af3d2 --- /dev/null +++ b/server/www/static/www/css/YTPlayer.css @@ -0,0 +1,12 @@ +@charset"UTF-8";.mb_YTPBar,.mb_YTPBar span.mb_YTPUrl a{color:#fff}@font-face{font-family:ytpregular;src:url(font/ytp-regular.eot)}@font-face{font-family:ytpregular;src:url(data:application/x-font-woff;charset=utf-8;base64,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)format('woff'),url(font/ytp-regular.ttf)format('truetype');font-weight:400;font-style:normal}.mb_YTPlayer:focus{outline:0}.mbYTP_wrapper{display:block;transform:translateZ(0)translate3d(0,0,0);transform-style:preserve-3d;perspective:1000;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box}.mb_YTPlayer .loading{position:absolute;top:10px;right:10px;font-size:12px;color:#fff;background:rgba(0,0,0,.51);text-align:center;padding:2px 4px;border-radius:5px;font-family:"Droid Sans",sans-serif;-webkit-animation:fade .1s infinite alternate;animation:fade .1s infinite alternate}@-webkit-keyframes fade{0%{opacity:.5}100%{opacity:1}}@keyframes fade{0%{opacity:.5}100%{opacity:1}}.fullscreen{display:block!important;position:fixed!important;width:100%!important;height:100%!important;top:0!important;left:0!important;margin:0!important;border:none!important;opacity:1!important}.mbYTP_wrapper iframe{max-width:4000px!important}.inline_YTPlayer{margin-bottom:20px;vertical-align:top;position:relative;left:0;overflow:hidden;border-radius:4px;box-shadow:0 0 5px rgba(0,0,0,.7);background:rgba(0,0,0,.5)}.inline_YTPlayer img{border:none!important;margin:0!important;padding:0!important;transform:none!important}.mb_YTPBar,.mb_YTPBar .buttonBar{box-sizing:border-box;left:0;padding:5px;width:100%}.mb_YTPBar .ytpicon{font-size:20px;font-family:ytpregular}.mb_YTPBar .mb_YTPUrl.ytpicon{font-size:30px}.mb_YTPBar{transition:opacity .5s;display:block;height:10px;background:#333;position:fixed;bottom:0;text-align:left;z-index:1000;font:14px/16px sans-serif;opacity:.1}.mb_YTPBar.visible,.mb_YTPBar:hover{opacity:1}.mb_YTPBar .buttonBar{transition:all .5s;background:0 0;font:12px/14px Calibri;position:absolute;top:-30px}.mb_YTPBar:hover .buttonBar{background:rgba(0,0,0,.4)}.mb_YTPBar span{display:inline-block;font:16px/20px Calibri,sans-serif;position:relative;width:30px;height:25px;vertical-align:middle}.mb_YTPBar span.mb_YTPTime{width:130px}.mb_YTPBar span.mb_OnlyYT,.mb_YTPBar span.mb_YTPUrl{position:absolute;width:auto;display:block;top:6px;right:10px;cursor:pointer}.mb_YTPBar span.mb_YTPUrl img{width:60px}.mb_YTPBar span.mb_OnlyYT{left:300px;right:auto}.mb_YTPBar span.mb_OnlyYT img{width:25px}.mb_YTPBar .mb_YTPMuteUnmute,.mb_YTPBar .mb_YTPPlaypause,.mb_YTPlayer .mb_YTPBar .mb_YTPPlaypause img{cursor:pointer}.mb_YTPBar .mb_YTPProgress{height:10px;width:100%;background:#222;bottom:0;left:0}.mb_YTPBar .mb_YTPLoaded{height:10px;width:0;background:#444;left:0}.mb_YTPBar .mb_YTPseekbar{height:10px;width:0;background:#000;bottom:0;left:0;box-shadow:rgba(82,82,82,.47)1px 1px 3px}.mb_YTPBar .YTPOverlay{backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform-style:"flat";box-sizing:border-box}.YTPOverlay.raster{background:url(images/raster.png)}.YTPOverlay.raster.retina{background:url(images/raster@2x.png)}.YTPOverlay.raster-dot{background:url(images/raster_dot.png)}.YTPOverlay.raster-dot.retina{background:url(images/raster_dot@2x.png)}.mb_YTPBar .simpleSlider{position:relative;width:100px;height:10px;border:1px solid #fff;overflow:hidden;box-sizing:border-box;margin-right:10px;cursor:pointer!important;border-radius:3px}.mb_YTPBar.compact .simpleSlider{width:40px}.mb_YTPBar .simpleSlider.muted{opacity:.3}.mb_YTPBar .level{position:absolute;left:0;bottom:0;background-color:#fff;box-sizing:border-box}.mb_YTPBar .level.horizontal{height:100%;width:0}.mb_YTPBar .level.vertical{height:auto;width:100%} + +#ytb-wrap:before, +.YTPOverlay:before { + position: absolute; + width: 100%; + height: 100%; + content: ""; + top: 0; + left: 0; + background: rgba(0,0,0,.5); +} \ No newline at end of file diff --git a/server/www/static/www/css/animate.css b/server/www/static/www/css/animate.css new file mode 100644 index 0000000..60025f3 --- /dev/null +++ b/server/www/static/www/css/animate.css @@ -0,0 +1,3181 @@ +@charset "UTF-8"; + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.bounceIn, +.animated.bounceOut { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +.animated.flipOutX, +.animated.flipOutY { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +@keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes slideOutDown { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes slideOutLeft { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes slideOutRight { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes slideOutUp { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 100% { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} \ No newline at end of file diff --git a/server/www/static/www/css/bootstrap.min.css b/server/www/static/www/css/bootstrap.min.css new file mode 100644 index 0000000..7caaa89 --- /dev/null +++ b/server/www/static/www/css/bootstrap.min.css @@ -0,0 +1,8 @@ +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=55794a2fadb21c76c8f7) + * Config saved to config.json and https://gist.github.com/55794a2fadb21c76c8f7 + *//*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:992px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:992px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:992px){.navbar{border-radius:4px}}@media (min-width:992px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:992px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:992px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:992px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:992px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:992px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:992px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:991px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:992px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:991px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:992px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:992px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:992px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:991px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:991px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}} \ No newline at end of file diff --git a/server/www/static/www/css/font-icons.css b/server/www/static/www/css/font-icons.css new file mode 100644 index 0000000..713200b --- /dev/null +++ b/server/www/static/www/css/font-icons.css @@ -0,0 +1,10 @@ +/*! + * Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.6.1');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.1') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.6.1') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.6.1') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.6.1') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} + +/* Stroke Gap Icons */ +@font-face{font-family:Stroke-Gap-Icons;src:url(fonts/Stroke-Gap-Icons.eot)}@font-face{font-family:Stroke-Gap-Icons;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggi/X0AAAC8AAAAYGNtYXAaVc0eAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5ZgTOI9oAAAFwAACpuGhlYWQAUlk+AACrKAAAADZoaGVhA+QCqQAAq2AAAAAkaG10eJEHFCcAAKuEAAADMGxvY2GAlFTgAACutAAAAZptYXhwAOEBAAAAsFAAAAAgbmFtZZxmbAoAALBwAAABinBvc3QAAwAAAACx/AAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmxwHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIObH//3//wAAAAAAIOYA//3//wAB/+MaBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAABAAA/+ACAAHgABQAKQA7AEEAAAUiLgI1ND4CMzIeAhUUDgIjESIOAhUUHgIzMj4CNTQuAiMTNyc3JwcnNxc3FwcXBz8BFwcHJzcnNxcBADVdRigoRl01NV1GKChGXTUuUj0jIz1SLi5SPSMjPVIuGRZoPhZUNBMoT0lBWQw5IR8j9CALQQNkIChGXTU1XUYoKEZdNTVdRigB4CM9Ui4uUj0jIz1SLi5SPSP+V5A0TQgUKBkeEhpRLVAyeQiDPAY3BiAKAAYAIP/gAaAB4AAbADAARQBKAFwAYgAANyIuAic3HgEyNjc+AiYnNx4CBgcOAyM3Ii4CJz4DMzIeAgcWDgIjAyIOAhcGHgIzMj4CNy4DIwMzFyM3PwEnNycHJzcXNxcHFwc/ARcHByc3JzcX4BkwLyoUGB9UVVQgISABIh8VJyQBJiUUKTAvGgEpRTUdAQEdNUUpJ0czHwEBHzNHJwEgOysaAQEaKzsgIjktGAEBGC05Ik+fAaEBVhFGKQc3JRYWMzYqNwUXFR8Wnh8FIwNHIAkTHBMXISEhISBTVlMgFyZeYl8lExwTCUAeNEYoKEY0Hh40RigoRjQeAWAZLDohITosGRksOiEhOiwZ/kAgIJVxJjUDDh4YEwwVOh8sF1QHXSkFIgQgCAAAAwAAACACAAGgAAQACQAtAAABITUhFSUhNSEVASM1NC4CKwE1MxUzMh4CFTEzND4COwE1MxUjIg4CHQECAP4AAgD+IAHA/kABEGAXJzQeQCAgJEAwHCAcMEAkICBAHjQnFwFAYGAgICD+wCAeNCcXUDAcMEAkJEAwHDBQFyc0HiAAAAAAAv///+ACAQHgAAcALAAABSERMxEhETMFJzczFRQeAjMyPgI9ATMXByc3JyMOAyMiLgInIwcXBwGg/sAgAQAg/nARbGUHDRIKChENCGVsER8OVD0DDhUaDg8aFQ4DPFQPICABQP7gASAyqkgQChENCAgNEQoQSKoEljgOFxEKChEXDjiWBAAAAAUADv/wAfIB0AAEAAkADwAdACMAAAEhNSEVJSE1IRUXJzcXNxcBIycHIxMXAzM3FzMDNwcnNxc3FwHQ/mABoP6AAWD+oCtFAS0dHgFTvjQ0viIgHoJMTIIeIEskHh0tAQFwYGAgICDAASABVQr+tZ2dAVIE/tLi4gEuBHJrClUBIAAAAAYAfv/eAYQB4AAEAAkAEwAYAB0AIgAAASMnMwcnMzcjFxMnNxcHFzcnNxcnFwcnNwcXByc3NxcHJzcBXKkn9yeReRenFzWDMx8tXWAgISBTBV8HYQEHYQVfAQVfB2EBQKCgIGBg/n5K+wblNjflBPt5IBAgEEAgECAQgCAQIBAABAAA/+ACAAHgABQAKQA2AEMAAAUiLgI1ND4CMzIeAhUUDgIjESIOAhUUHgIzMj4CNTQuAiMTIzQuAiM1Mh4CFTciLgI1MxQeAjMVAQA1XUYoKEZdNTVdRigoRl01LlI9IyM9Ui4uUj0jIz1SLhAgHDBAJCtMOCGwK0w4ISAcMEAkIChGXTU1XUYoKEZdNTVdRigB4CM9Ui4uUj0jIz1SLi5SPSP+YCRAMBwgIThMK7AhOEwrJEAwHCAAAAAGAAP//QH8AbwABAAJAA4AEwA+AF8AADcXByc3NxcHJzcHJyUXBScXJScFJSc+Azc+ATQmJy4DJyImBiIHJz4BHgEXHgMXHgEUBgcOAwcFLgMnJj4CNxcOAxUiBhwBMx4CMjMXBiIGIgfgICAgIFAwIDAg1SwBXSz+owMWASEW/t8BfgsDBQUEAQECAQEBAwUFAgMGBwYDCwYNDAwGBgoIBwICAgMDAwcJCwb+WgcODAkDAwEHDgoLAgMCAgEBAQEEBgYECgIEBAQC0gXPA9Eg7wfxBTZ3fnl8ZDxnPWgkHQICBQUDAgcGBwIEBAYDAgMBAh8BAwECBAIICAwFBwwNCwcFCwcIAYkBBAkLCAgUEA4CHQEBAwEDBAMEBAQDHQIBAQAABAAA/+ACAAHgABQAKQAvADUAAAUiLgI1ND4CMzIeAhUUDgIjESIOAhUUHgIzMj4CNTQuAiMTIzUzFTM1IzUjNTMBADVdRigoRl01NV1GKChGXTUuUj0jIz1SLi5SPSMjPVIuYMAgoCCgwCAoRl01NV1GKChGXTU1XUYoAeAjPVIuLlI9IyM9Ui4uUj0j/sCAYCBgIAAAAAAEAAD/4AIAAeAACQARABcAHAAAJSc3JyMHJzczBwMnNxcHFzcXBTcXBzcXNxcHJzcBeBd/AVp/FoeJAd3wpQp0pysd/qRRHjBrDE4WVxhZ0Bd+W34WiIj+u+87HiqodQvXtw1qLx3JFlwXWwAFADD/4AHQAdoABwAPABcAHAAiAAAFIxEzETMRMxMjNTM1JzcXBSM1NxcHFTM3MxUjNTcnByc3FwFQoCBgIIBgQE0bUv7AYFIbTUBgICBENDQYTEwgAWD+wAFA/uAgO30QhGRkhBB9O8Dg4GZAQBRgYAAAAAcAKP/gAdgB4AAEAAkAHgAzAEgAXQBqAAAFIREhESUhESERNyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIzUiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMHIzQ+AjMVIg4CFQHY/lABsP5wAXD+kLAaLyMUFCMvGhovIxQUIy8aFCMaDw8aIxQUIxoPDxojFAoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDICAKERgNBwsJBSACAP4AIAHA/kAgFCMvGhovIxQUIy8aGi8jFOAPGiMUFCMaDw8aIxQUIxoPQAgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEA+ANGBEKIAUJCwcAAAAJAAD/4AIAAeAABAAJAB4AMwBAAEUASgBPAFQAAAUhESERJSERIRE3Ii4CNTQ+AjMyHgIVFA4CIxEiDgIVFB4CMzI+AjU0LgIjByM0PgIzFSIOAhU3MxUjNSEzFSM1ATMVIzUhMxUjNQIA/gACAP4gAcD+QOAkQDAcHDBAJCRAMBwcMEAkHjQnFxcnNB4eNCcXFyc0HjAgDRUdEQoRDQjQICD+oCAgAWAgIP6gICAgAgD+ACABwP5AMBwwQCQkQDAcHDBAJCRAMBwBQBcnNB4eNCcXFyc0Hh40JxeQER0VDSAIDREKwCAgICD+oCAgICAAAAAACQAA/+ACAAHgAAUACwARABcAHQAjACkAPgBTAAAlIyc3FwcnMzcnBxc3JzcXNxcXJzcXBxcHJz8BFwclJzcnNxcXLwIfARciLgInPgMzMh4CBxYOAiMDIg4CFwYeAjMyPgI3LgMjATNnH1JUIU43Ei4sEB1KEzY4EXFQDh4IOn8fHlkBRP7kEDwKIAwjF0IBWxwxNlxHJwEBJ0dcNjReRSkBASlFXjQBLVM8JAEBJDxTLS9RPiIBASI+US+QZD4/YyA3IyI4nTQaJyYapSlZBEMf3AtUASABgRwfQwRZ6T8BIAFURihGXTU1XUYoKEZdNTVdRigB4CM9Ui4uUj0jIz1SLi5SPSMABAAAAEACAAGAAA0AEgAXABwAACUhNTcXBxUhNSMHJzczBRcHJzc3FwcnNwchFSE1AgD+AGgOVgHAlA0eE8z+iUAWQBZQQBZAFtkCAP4AgEo2HC4WwCUKO0dAFkAWEEAWQBbpICAAAAAIADD/4AHQAdkAFAApAD4AUwBYAF0AcgCHAAAXIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjFyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwMXByc3HwEHJzcDIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjkBQjGg8PGiMUFCMaDw8aIxQNGBEKChEYDQ0YEQoKERgN4BQjGg8PGiMUFCMaDw8aIxQNGBEKChEYDQ0YEQoKERgN43AacBrlHG4cbnIKEQ0ICA0RCgoRDQgIDREKAwYEAwMEBgMDBgQDAwQGAyAPGiMUFCMaDw8aIxQUIxoPoAoRGA0NGBEKChEYDQ0YEQqgDxojFBQjGg8PGiMUFCMaD6AKERgNDRgRCgoRGA0NGBEKAVmwEa8SARCwEa/+yAgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEAwAABP/9/90B5AHgAAUADwBJAHkAACUnNyc3FwcnNxcHJwcXNxc3KgImIzcWPgI3PgM3LgMnLgEiBgcOAhQVByY+Ajc+AzMyHgIXHgIGBw4DIwciLgInLgE+ATc+ATIWFx4DByc2LgInLgEiBgcOAR4BFx4DNxciBioBIwGJFzlFGFri+uRZFUW0yjoWWwMCBQIDBgYQDQ4EBgYGAQEBAQYGBggZFxkIBwYGHwMEBgwHCA8SEQsJExARBg8NAQ8NCA8SEgqSChISDwgNDwENDw0kJCUNCQoIAgEhAgIECQQKFxkXCgkKAQgLBA4NEAYFAgMEAgNwFzlEFlrj+eNbF0S1yzgW8wEgAQEFBwYECwsNBgYNCwsECQkJCQUNDg8HBQwWFRMIBwoHBAQHCgcOJCQkDgcKBwTXBAcKBw4kJCQODg4ODggTFRYMBQcPDg0FCgkJCgkYGBgJBgcFAQEgAQAAAAcAAP/gAgAB4AALABMAGAAdACUAKgAvAAAlIzUzESERMxUjESEDITUzFTM1MyUzFSM1OwEVIzUlIzUjFSM1IQMzFSM1NTMVIzUCAGBA/kBAYAIAgP8AIMAg/sAgIEAgIAEAIMAgAQDAkJCQkEAgAQD/ACABQP5gwKCgoCAgICBgICBA/mAgIEAgIAAACAAA/+ACAAHgABQAKQA+AFMAaAB9AJIApwAABSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIxEiLgI1ND4CMzIeAhUUDgIjESIOAhUUHgIzMj4CNTQuAiMVIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjFSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwEANV1GKChGXTU1XUYoKEZdNS5SPSMjPVIuLlI9IyM9Ui4hOiwZGSw6ISE6LBkZLDohGi8jFBQjLxoaLyMUFCMvGgwUDwkJDxQMDBQPCQkPFAwFCQYEBAYJBQUJBgQEBgkFDBQPCQkPFAwMFA8JCQ8UDAUJBgQEBgkFBQkGBAQGCQUgKEZdNTVdRigoRl01NV1GKAHgIz1SLi5SPSMjPVIuLlI9I/6AGSw6ISE6LBkZLDohITosGQEgFCMvGhovIxQUIy8aGi8jFJAJDxQMDBQPCQkPFAwMFA8JUAQGCQUFCQYEBAYJBQUJBgSgCQ8UDAwUDwkJDxQMDBQPCVAEBgkFBQkGBAQGCQUFCQYEAAAAAAgAAP/wAgAB0AAHABMAGAAdACIAJwAsADEAACUjNSMVIxEzEyERMxUjFSE1IzUzATMVIzUHMxUjNTsBFSM1BTMVIzU7ARUjNTsBFSM1AWAggCDAoP4AgGABwGCA/vAgINAgIEAgIAEgICAwICAwICBg8PABEP6AASAg4KAgAQBAQGBAQEBAQEBAQEBAQAAAAAMAAP/gAgAB4AAUACkAMQAABSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIwM1MxU3JzcXAQA1XUYoKEZdNTVdRigoRl01LlI9IyM9Ui4uUj0jIz1SLkAgUXkQpyAoRl01NV1GKChGXTU1XUYoAeAjPVIuLlI9IyM9Ui4uUj0j/rONUzJDHF0AAAMACP/yAfgB6QAUACkAWQAAJSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIwMqAS4BJy4BPgE3Fw4DFT4DNz4DNyIOAgcnPgIWFxYOAgcOAyMBACRAMBwcMEAkJEAwHBwwQCQeNCcXFyc0Hh40JxcXJzQe5QMFBQQCBQUJGxwZEBUMBQouQlIuL0cyGwIEDRcgFRQkMR4RBRIuTE8PDkdVUxpBHC9AJSRAMBwcMEAkJUAvHAFAFyc0Hh40JxcXJzQeHjQnF/5xAgMCBRAfLyQUFR8WDQQCGzJHLy5SQi4KBgwVERobHAoFBRJWX1MQDkNHNQAAAAQAAP/gAgAB4AAUACkALgAzAAAFIi4CNTQ+AjMyHgIVFA4CIxEiDgIVFB4CMzI+AjU0LgIjBzMVIzU7ARUjNQEANV1GKChGXTU1XUYoKEZdNS5SPSMjPVIuLlI9IyM9Ui4wICBAICAgKEZdNTVdRigoRl01NV1GKAHgIz1SLi5SPSMjPVIuLlI9I5CgoKCgAAQAAP/gAgAB4AAUACkAMQA2AAAFIi4CNTQ+AjMyHgIVFA4CIxEiDgIVFB4CMzI+AjU0LgIjAzUzFTcnNxcnMxUjNQEANV1GKChGXTU1XUYoKEZdNS5SPSMjPVIuLlI9IyM9Ui4gIFF5EKfvICAgKEZdNTVdRigoRl01NV1GKAHgIz1SLi5SPSMjPVIuLlI9I/6zjVMyQxxdT8DAAAMAQP/wAcAB2AAUACkAMwAAFyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIxcjETcVByc3NQegFCMaDw8aIxQUIxoPDxojFA0YEQoKERgNDRgRCgoRGA1gIOCSC32gEA8aIxQUIxoPDxojFBQjGg+gChEYDQ0YEQoKERgNDRgRCkABK13DNB4sfUMAAAAGACD/4AHgAd8AFAApAD4AUwBZAF4AACUiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMFIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjFyMRJRcHNzMRIxEBgBQjGg8PGiMUFCMaDw8aIxQNGBEKChEYDQ0YEQoKERgN/wAUIxoPDxojFBQjGg8PGiMUDRgRCgoRGA0NGBEKChEYDWAgAQoM9uAgIAAPGiMUFCMaDw8aIxQUIxoPoAoRGA0NGBEKChEYDQ0YEQrADxojFBQjGg8PGiMUFCMaD6AKERgNDRgRCgoRGA0NGBEKQAErdB5rOv7QATAAAAwAIP/gAeAB4AAEAAkAHgAzADgAPQBSAGcAbABxAIYAmwAAEzMVIzURMxUjNTciLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiM3MxEjEREzFSM1NyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIxMzFSM1ETMRIxE3Ii4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjUCAgICAQDRgRCgoRGA0NGBEKChEYDQcLCQUFCQsHBwsJBQUJCweQICAgIBANGBEKChEYDQ0YEQoKERgNBwsJBQUJCwcHCwkFBQkLB5AgICAgEA0YEQoKERgNDRgRCgoRGA0HCwkFBQkLBwcLCQUFCQsHAeCAgP7AwMAgChEYDQ0YEQoKERgNDRgRCmAFCQsHBwsJBQUJCwcHCwkFwP8AAQD+QEBAIAoRGA0NGBEKChEYDQ0YEQpgBQkLBwcLCQUFCQsHBwsJBQFAQED/AP8AAQAgChEYDQ0YEQoKERgNDRgRCmAFCQsHBwsJBQUJCwcHCwkFAAAGABD/4AIAAeAAJgA7AFAAYgBqAHIAABciLgInLgI2NxcOAhYXHgMzIzI+AjcXDgMjIjIiMiMlIi4CJz4DMzIeAgcWDgIjAyIOAhcGHgIzMj4CNy4DIxcuASIGByc+AzMyHgIXBwcnNxcHFzcXByc3FwcXNxc2BQsJCgIJBwEJBxcEAgEEAgMCBQMEAQMDBQIDFQIKCQsEAQEBAQEBOx8zKBYBARYoMx8dNSYYAQEYJjUdARYqHRMBARMdKhYYKB8RAQERHygYIwgRExEIFgUODhAHCQ4QDAcYdH4OHgllMQXZZ4gYdDyTEyACBAYEBxQVEwgWAwgJCAMBAwEBAQEDARYEBgQC4BcnNB4eNCcXFyc0Hh40JxcBABIeKRcXKR4SEh4pFxcpHhJOBwcHBxcFCQYDAwYJBRf2fUEGMGUJH45lqBSSPXUZAAAAAAYATv/gAbIB4AAUACkANgBGAEsAUAAABSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwcjND4CMxUiDgIVNyc3JzUhFQcXByc3NSEVFyczFSM1OwEVIzUBABovIxQUIy8aGi8jFBQjLxoUIxoPDxojFBQjGg8PGiMUICAKERgNBwsJBTUKgw7/AA6DCp0SAUAS8iAgYCAgIBQjLxoaLyMUFCMvGhovIxTgDxojFBQjGg8PGiMUFCMaD2ANGBEKIAUJCwehHixFMDNCLB40XU5OXWtAQEBAAAAABQCA/+ABgAHgABQAKQAvADUAQQAAASIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwMnPwEXBxcvATcfAQcjJzUzFRczNzUzFQEADRgRCgoRGA0NGBEKChEYDQcLCQUFCQsHBwsJBQUJCwdgIAg+FDK4CDIUPghSXBIgDiQOIAFgChEYDQ0YEQoKERgNDRgRCmAFCQsHBwsJBQUJCwcHCwkF/s8ClzQYLImJLBg0l7GuYmCQkl5gAAAABgBQ/+ABsAHgABoANQA6AD8ARABJAAAFIi4CPQEzFRQeAjMyPgI9ATMVFA4CIzUiLgI9ATMVFB4CMzI+Aj0BMxUUDgIjAyM1MxUnMzUjFQUjNTMVJzM1IxUBACRAMBwgFyc0Hh40JxcgHDBAJBEdFQ0gCA0RCgoRDQggDRUdETCAgGBAQAFAgIBgQEAgHDBAJLCwHjQnFxcnNB6wsCRAMBxgDRUdEbCwChENCAgNEQqwsBAeFQ0BIICAIEBAIICAIEBAAAQAAP/gAgQB4AAcACoALwA0AAATIzUzNzU0PgIzMh4CFSM0LgIjIg4CHQEHAS8BIzUfATM3JzUzFRcFIxEzESczNSMVqCgYOAoRGA0NGBEKIAUJCwcHCwkFSAEVsW4eJG6SOKwgtP5cYGBAICABACBGOg0YEQoKERgNBwsJBQUJCwdGWv7gAR8gAR/jH56DIfwBIP7gIODgAAAAAAH//QBAAgMBoAAsAAAlISc3FwcXITcnNTMyPgI1NC4CIyIOAhUjND4CMzIeAhUUDgIHFwcB7P4pGO0M0woBpgrtEAcLCQUFCQsHBwsJBSAKERgNDRgRCgYLDwnsF0BVaB5cIyWSKQUJCwcHCwkFBQkLBw0YEQoKERgNChMPDASRUwAAAAUASP/gAbwB4AAUACkASgBrAHcAAAEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMDIi4CNTQ+AjMVIg4CFRQeAjMyPgI1MxQOAiM1Ii4CNTQ+AjMVIg4CFRQeAjMyPgI1MxQOAiMXJzcjNw8BJz8BBzMBWA0YEQoKERgNDRgRCgoRGA0HCwkFBQkLBwcLCQUFCQsHgB40JxcXJzQeFykeEhIeKRcXKR4SIBcnNB4RHRUNDRUdEQoRDQgIDREKChENCCANFR0RwCActEBTXRFkjUCsAWAKERgNDRgRCgoRGA0NGBEKYAUJCwcHCwkFBQkLBwcLCQX+IBcnNB4eNCcXIBIeKRcXKR4SEh4pFx40JxdADRUdEREdFQ0gCA0RCgoRDQgIDREKER0VDSMGjaACOxpBAqAAAAAABAAA/+ACAAHgABQAKQAxADgAAAUiLgI1ND4CMzIeAhUUDgIjESIOAhUUHgIzMj4CNTQuAiMDNTMVNyc3Fwc1MzcnNxcBADVdRigoRl01NV1GKChGXTUuUj0jIz1SLi5SPSMjPVIugCBReRCnPwtmeRCnIChGXTU1XUYoKEZdNTVdRigB4CM9Ui4uUj0jIz1SLi5SPSP+s41TMkMcXW4tP0McXQAHAC3/4AHTAeAAHgA9AEIARwBMAFEAVgAAFyIuAicuAT4BNz4DMzIeAhceAQ4BBw4DIxMiDgIHDgIWFx4DMzI+Ajc+AiYnLgMjHwEHJzcHMxUjNTczFSM1NzMVIzU3MxUjNaMSIR4aCx4TEjYsGjo9Ph4SIR4aCx4TEjYsGjo9Ph66Gzc4NRgnMRIOGggVGRsOGzc4NRgnMRIOGggVGRsOCRbiFuLWgIAwICAwgIAwICAgBgsRCx5WYGQrGykdDwYLEQseVmBkKxspHQ8B4A4aJhgnWFRKGQkNCQUOGiYYJ1hUShkJDQkFZBbiFuKcICAwgIAwICAwgIAAAAACAED/4AHAAeAABAA4AAATMxEjERMiLgInNx4BPgE3PgIWFzUuAQ4BBw4CJic3HgE+ATc+AhYfAREnLgEOAQcOAyNAICCTCBISEwoMFCMhHg8OHiEkFBIgHh0OECMmKhgMFCMhHg8QIyYqGAoWFCMhHg8KExQWCwHg/gACAP6hAgQGBB4JBgMIBAUIAwIG3gcDAggEBQkDBwoeCQYDCAQFCQMHCgX+3gkJBQIIBAMGBAMAAAAGAID/4AGAAeAAFAApAC8ANQA9AEUAAAEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMDJz8BFwcXLwE3HwEHIzcXBzMnNwMjJzcXMzcXAQANGBEKChEYDQ0YEQoKERgNBwsJBQUJCwcHCwkFBQkLB2AgCD4UMrgIMhQ+CBzIJCAceBwgEV4HIAUiBSABYAoRGA0NGBEKChEYDQ0YEQpgBQkLBwcLCQUFCQsHBwsJBf7PApc0GCyJiSwYNJdBowZ9fQb+7U4DMTMDAAAAAAQAAP/gAgQB4AAcACsAMAA1AAAFIi4CPQEnIzUzFxUUHgIzMj4CNTMUDgIjNyM1PwEnIwcjNTM3MxMHByMRMxEnMzUjFQEQDRgRCjgYKEgFCQsHBwsJBSAKERgNQCANnziSciAecq1HtPBgYEAgICAKERgNOkYgWkYHCwkFBQkLBw0YEQpAnQMd4yAgIP7kIQMBIP7gIODgAAAAAAQAbf/gAZQB4AAlAC8ANAA5AAAFIi4CJy4BNDY3Fw4BFBYXHgEyNjc+ATQmJzceARQGBw4DIxEnNxcHFzcnNxclMxUjNRczFSM1AQAUKCUjDx4fHx4XGhoaGhlBREEZGhoaGhceHx8eDyMlKBSTFRwKbGwKHBb+/ODgQGBgIAgPFw8eTVBNHhcZQURBGRoaGhoZQURBGRceTVBNHg8XDwgBG4ErDhVfXxUOK2QgIEAgIAAAAAgAAP/gAgAB4AANABsAKgAvADQARQBWAG0AACUiLgI9ASEVFA4CIwMVFB4CMzI+Aj0BIxciLgI9ATMVFB4CMxUHMxUjNQchFSE1ATUyPgI9ASM1MxUUDgIjISIuAj0BMxUjFRQeAjMVFyIuAjUzFB4CMzI+AjUzFA4CIwEAHjQnFwEgFyc0HnASHikXFykeEuBwER0VDSAIDREKECAggAEg/uABQAoRDQgwUA0VHRH+oBEdFQ1QMAgNEQqwDRgRCiAFCQsHBwsJBSAKERgNsBcnNB6goB40JxcBEIAXKR4SEh4pF4DQDRUdEVBQChENCCCIeHhoICABQCAIDREKECAwER0VDQ0VHREwIBAKEQ0IIPAKERgNBwsJBQUJCwcNGBEKAAADAAAAEAIAAb8ABAAKABYAADchFSE1JScHJxsBFyERFwcnFSE1Byc3AAIA/gABgoKAG5ueYv4AiBNVAcBVE4gwICB42dgQAQb++mkBP2IaPuHhPhpiAAAACAAA//ACAAHQAEAARQBKAE8AVABZAGYAcwAAJSIuAjUzFB4CMzI+AjU0LgIjISIOAhUUHgIzMj4CNTMUDgIjIi4CNTQ+AjMhMh4CFRQOAiMnMxUjNQczFSM1OwEVIzU7ARUjNTsBFSM1JSM0PgIzFSIOAhUhIzQ+AjMVIg4CFQGQFykeEiANFR0RER0VDQ0VHRH+4BEdFQ0NFR0RER0VDSASHikXFykeEhIeKRcBIBcpHhISHikXsEBAgCAgYCAgYCAgYCAg/uEgCA0RCgMGBAMBICAIDREKAwYEA/ASHikXER0VDQ0VHRERHRUNDRUdEREdFQ0NFR0RFykeEhIeKRcXKR4SEh4pFxcpHhIgICBA4ODg4ODg4OCQChENCCADBAYDChENCCADBAYDAAAAAAQAAABQAgABcAAWAB4AIwAoAAAlNTI+AjU0LgIjNTIeAhUUDgIjByE1ITUhNSEBIxEzESczNSMVAcAHCwkFBQkLBw0YEQoKERgNIP7gAQD/AAEg/sBgYEAgIKAgBQkLBwcLCQUgChEYDQ0YEQpQIOAg/uABIP7gIODgAAAHAAAAMAIAAZAABwATABgAOgBRAFYAWwAAJSMRIREjESERIycjByM1MzczFzMhMxUjNTcjJzgBIjAxIi4CNTQ+AjM3OAMxMh4CFRQOAiM1ByIOAhUUHgIzFzI+AjU0LgIjBzMVIzU7ARUjNQIAIP5AIAIAaDDQMGhYMPAwWP6gwMCwAbABDBcRCgoRGA2vER0WDQ0VHRGvBwwJBQUJCwexCRINBwgNEQqwICCgICBwAQD/AAEg/qBAQCBAQCAgYBAKERgNDRgRChANFR0RER0VDYAQBQkLBwcLCQUQCA0RCgoRDQggICAgIAAAAAYAYP/gAaAB4AAUACkANgA+AEMAUAAABSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIwcjND4CMxUiDgIVNyM1IxUjNTMnMxUjNTMjND4CMxUiDgIVAQAhOiwZGSw6ISE6LBkZLDohGi8jFBQjLxoaLyMUFCMvGkAgDxojFA0YEQpwICAgYEAgICAgCA0RCgMGBAMgGSw6ISE6LBkZLDohITosGQEgFCMvGhovIxQUIy8aGi8jFIAUIxoPIAoRGA3AICBAMEBAChENCCADBAYDAAQAQP/gAcIB4AAEAAkAIAAuAAATMxEjETMVIzUzMSM0LgIjIg4CFSM0PgIzMh4CFRMhJzU3FwcVFzM3JzcXkCAggCAgIAUJCwcHCwkFIAoRGA0NGBEKjv7qSCUWGzjrG6QMvAGg/tABMNDQBwsJBQUJCwcNGBEKChEYDf5AYHckFhxeS8ZDHk0AAAAABwAAAFACAAFwABYAHgAjACgALQAyADcAACU1Mj4CNTQuAiM1Mh4CFRQOAiMHITUhNSE1IQcXByc3IxcHJzczFwcnNwcjETMRJzM1IxUBwAcLCQUFCQsHDRgRCgoRGA0g/uABAP8AASCwHx8gIFAfHyAgoB8fICDgYGBAICCgIAUJCwcHCwkFIAoRGA0NGBEKUCDgID0GoQahBqEGoQahBqHjASD+4CDg4AAAAAYAAP/gAgAB4AAUACkANgBDAEgATQAABSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIxMjNC4CIzUyHgIVNyIuAjUzFB4CMxUlFwcnNzMXByc3AQA1XUYoKEZdNTVdRigoRl01LlI9IyM9Ui4uUj0jIz1SLhAgHDBAJCtMOCGwK0w4ISAcMEAk/tPwFvAW2hbwFvAgKEZdNTVdRigoRl01NV1GKAHgIz1SLi5SPSMjPVIuLlI9I/5gJEAwHCAhOEwrsCE4TCskQDAcIJPwFvAWFvAW8AAJAAD/4AIAAeAABwAXACUANQA6AD8AVgBbAHIAAAEjJzcXMzcXEyEnNz4DMzIeAh8BByUzNy4DIyIOAgcXNyc3PgEyFhcHLgIGBxcHFzMVIzUnMxUjNQEiLgInNx4DMzI+AjcXDgMjEzMVIzUnLgMjIg4CByc+AzMyHgIXBwE9aSQQHFcdED3+1zcNEiovMRoaMS8qEgwl/u/3GxEkKCsWFiooJBAoFBURGDU1NBgIEywtLRULHxCgoLAgIAEAJEM7MBAcDiszOx8fOzMrDhwQMDtDJOAgIBoOKzM7Hx87MysOHBAwO0MkJEM7MBAcAWAUHBASHP7yuQYIDAkEBAkMCAa5IIYGCgcDAwcJBocrRwQFBQYFIAUFAQMDJQprICDooKD+sBMjMyAOGywfEREfLBsOIDMjEwFQoKAZGywfEREfLBsOIDMjExMjMyAOAAAFAED/4AHAAeAADQAbACAAJQA0AAAlIi4CPQEhFRQOAiMDFRQeAjMyPgI9ASETMxUjNQchFSE1EyIuAj0BMxUUHgIzFQEAKEY0HgGAHjRGKKAZLDohITosGf7AkCAggAEg/uCQGi8jFCAPGiMUwB40RihgYChGNB4BAEAhOiwZGSw6IUD+4MDAoCAgAQAUIy8aEBAUIxoPIAAAAAAFAID/4AGAAeAADAARAGcAdACDAAAlNTI+AjUzFA4CIwMzFSM1EyMiLgI9ATQ+AjcuAz0BND4COwEyHgIdASM1NC4CKwEiDgIdARQeAjMVIg4CHQEUHgI7ATI+Aj0BNC4CIzUyHgIdARQOAiMDIzQ+AjMVIg4CFRMiLgI9ATMVFB4CMxUBMAoRDQggDRUdEWBgYGBgER0VDQUIDAcHDAgFDRUdEWARHRUNIAgNEQpgChENCAgNEQoKEQ0ICA0RCmAKEQ0ICA0RChEdFQ0NFR0RUCAIDREKAwYEAxAKEQ0IIAMEBgPgIAgNEQoRHRUNAQAgIP4ADRUdEYAKEhEOBQUOERIKIBEdFQ0NFR0RICAKEQ0ICA0RCiAKEQ0IIAgNEQqAChENCAgNEQqAChENCCANFR0RgBEdFQ0BUAoRDQggAwQGA/7wBw4RCmBgAwYFAiAAAAAAAwAA//ACAAHQAAcADwAqAAAFIREzESERMyU1IRUhFSEVByMiLgI1ND4COwEVIyIOAhUUHgI7ARUCAP4AIAHAIP4AAgD+IAHgQEANGBEKChEYDUBABwsJBQUJCwdAEAFA/uABICCAIEAg8AoRGA0NGBEKIAUJCwcHCwkFIAAAAAAGACD/4AHgAeAADAARABYALQA7AEcAADcnPgMXFQ4DBzcXFQc1ETcVJzUHBi4CNTcUHgIXPgM1FxQOAictATU0PgI3HgMdAS0BLgMHJg4CB4ceCR4nMBkUJiAYB2kgICAgEAoRDQggAwQGAwMGBAMgCA0RCgEA/kAjPVIuLlI9I/5hAX4DIDNDJiZDMyAD6wsXKRsQAR8BCxgeFPYBHwEh/q8BgQF/rwEJDBIJAQQFBQIBAQIFBQQBCRIMCQHPAQ8vUT4iAQEiPlEvDx8BJEEvHAEBHC9BJAAHAAD/4AIAAd4ABAAJAA4AEwAYAB0AIwAABSERIRElIREhESUhESERJSE1IRUlMxUjNRUzFSM1Ayc3FzcXAgD+AAIA/iABwP5AAWD+wAFA/uABAP8AAUAgICAgoIkSd3cSIAGA/oAgAUD+wCABAP8AIMDAQCAgQCAgAS1VHExMHAAAAAAFAAAAIAIAAaAADQAbACoARwBMAAA3Ii4CPQEhFRQOAiMDFRQeAjMyPgI9ASEXIi4CPQEzFRQeAjMVJSM1MzI+Aj0BNC4CKwE1MzIeAh0BFA4CIwUhFSE10CtMOCEBoCE4TCuwHC9BJCRAMBz+oLAeNCcXIBIeKRcBABERAwYFAgIFBgMREQoSDQcIDREK/oABAP8AYCE6Ti1qai1OOiEBIEomQjIcHDJCJkrgFyk3HxoaGSsgEiBgIAIEBgQgAwYEAyAIDREKIQoRDQfAICAABQAAACACAAGgAAcADAARABYAGwAAJSE1IREhNSEhMxEjEQUzFSM1ByERIRElITUhFQIA/kABoP5gAcD+ACAgAaAgICD+wAFA/uABAP8AICABQCD+gAGAsCAgkAEA/wAgwMAAAAQAgP/gAYAB4AAYADAAPwBEAAAXMSIuAj0BND4CMzIeAh0BFA4CKwETIg4CHQEUHgI7ATI+Aj0BNC4CIwMjNTQ+AjMVIg4CHQEDMxUjNdARHRUNFCMvGhovIxQNFR0RYDAUIxoPCA0RCmAKEQ0IDxojFCAgChEYDQcLCQUQYGAgDRUdEfAaLyMUFCMvGvARHRUNAaAPGiMU8AoRDQgIDREK8BQjGg/+sPANGBEKIAUJCwfwAbAgIAAHAG3/4AGTAdgABAAJAA4AGwAyAD8ARAAABSMDIQMnMzcjFzcXByc3NyM0LgInNx4DFSEjND4CMzIeAhcHLgMjIg4CFTMjND4CMxUiDgIVNxcHJzcBXbs1ASY2oIUr2ioiFh8XILEgAQMDAh0DBAMC/wAgFic1HgcODg0HDAULCwsFFykfEUAgDBYdEQoSDQejG2EbYSABMP7QIPDwwpAEkARuBgsLCgYMBw0ODwceNCcXAQMEAx4DAwIBEh4pFxEdFQ0gCA0RCqgQoBCgAAAABwBA/+ABwAHgAAQACQAOABMAGAAdACkAACUhESERJzM1IxU1MxUjNRUzFSM1NzMVIzUVMxUjNRMhESERIxEhETM3FwGA/wABAODAwEBAQECAQEBAQDf+6QGAIP7A6TwWoAEA/wAgwMCgICBQICBQICBQICD+0AIA/nABcP5AOxYAAAAABQAF/+AB+wF4ABQAKQA2AEMAUAAABSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIy8BPgEyFhcHLgEiBgclLgEiBgcnPgEyFhcHNy4BIgYHJz4BMhYXBwEADRgRCgoRGA0NGBEKChEYDQcLCQUFCQsHBwsJBQUJCwdtFhlBQ0AZFhU0NzUVARIiVlpWIhYmYmZiJhZAMHd8dzAWNIOIgzQWIAoRGA0NGBEKChEYDQ0YEQpgBQkLBwcLCQUFCQsHBwsJBVYXGRoaGRcVFRUVZyIiIiIXJyYmJxdkMC8vMBc0NDQ0FwAFAHD/4AGRAeAABgANABIAGgAfAAAFIwM3MxcDJzMTJyMHEzcXByc3NyM1IxUjNTMHMxUjNQFr1iU6rDsmuZwiLYYsISEVIBUggyBsIKymoKAgATNtbf7NIAEMVFP+8+e2A7YDuSAgQMAgIAAJAAD/4AIAAd8ABAAJAB4AMwBAAEUASgBPAFQAAAUhESERJSERIRE3Ii4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjByM0PgIzFSIOAhU3MxUjNRUzFSM1FTMVIzUTFwcnNwIA/gACAP4gAcD+QJAXKR4SEh4pFxcpHhISHikXER0VDQ0VHRERHRUNDRUdERAgCA0RCgMGBAOggICAgICAOgzQDNAgAYD+gCABQP7AMBIeKRcXKR4SEh4pFxcpHhLADRUdEREdFQ0NFR0RER0VDVAKEQ0IIAMEBgNQICBAICBAICABbx5QHVEAAAAACAAA/+AB/gHeAAUAEgAnADwAUQBmAHsAkAAAJScTBSclAyIuAjczHgMzByciLgInPgMzMh4CBxYOAiMnIg4CFwYeAjMyPgI3LgMjFyIuAic+AzMyHgIHFg4CIyciDgIXBh4CMzI+AjcuAyMHIi4CJz4DMzIeAgcWDgIjJyIOAhcGHgIzMj4CNy4DIwE/HaD+hQ0Bxc8+cFExAR8BKktiOQGPDhcSCQEBCRIXDgwZEAsBAQsQGQwBBgwIBgEBBggMBggKCgQBAQQKCgiRCxAOBwEBBw4QCwkSDAkBAQkMEgkBAgcDBAEBBAMHAgQFBQIBAQIFBQQ/CxAOBwEBBw4QCwkSDAkBAQkMEgkBAgcDBAEBBAMHAgQFBQIBAQIFBQQaDAF8oR6//gIwUm8/OGNKKyCwChEYDQ0YEQoKERgNDRgRCmAFCQsHBwsJBQUJCwcHCwkFIAgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEA+AIDREKChENCAgNEQoKEQ0IQAMEBgMDBgQDAwQGAwMGBAMABgBg/+ABoAHgAAQACQARABYAGwAgAAABITUhFSUhNSEVASERMxEhETMDMxUjNQMzFSM1AyEVITUBoP7AAUD+4AEA/wABIP7AIAEAILAgIBBAQHABIP7gAWCAgCBAQP5gAWH+vwFB/v8gIAFwICD+0CAgAAAEAAAAIAIAAaAABAAJABEAGQAAJSE1IRUlITUhFSUjNSEVIxEhAyM1IRUjNSECAP4AAgD+IAHA/kABwCD+gCABwEAg/wAgAUAgYGAgICBg4OABAP8AoKDAAAAAAAQAAP/gAgAB4AAOAB4AOwBKAAAFIyIuAjURIREUDgIjJzMyPgI1ESERFB4COwElIzUzMj4CPQE0LgIrATUzMh4CHQEUDgIjBSIuAjURMxEUHgIzFQEw4BAeFQ0BgAwWHRFwcAoSDQf+wAgNEQpwARAwMAMGBAMDBAYDMDAKEQ0ICA0RCv6gChENCCADBAYDIA0VHREBsP5QER0VDSAIDREKAZD+cAoRDQjAIAMEBgOgAwYEAyAIDREKoAoSDQegCA0RCgFQ/rADBgQDIAAAAAAGAAAAIAIAAaAAHwBAAI4AkwCYAJ0AACUxIi4CJy4DNTQ+AjMyHgIXHgMVFA4CIzUiDgIVFB4CFx4DMxU1Mj4CNTQuAicuAyMXOAMxIi4CJzceAzM4AzEyPgI3PgM1NC4CJy4DIyIOAgcnPgMzOAMxMh4CFx4DFRQOAgcOAyMXIREhESUhESEREyEVITUBEAcMDAoFBAcFAgoSFw0HDAwKBQQHBQIKEhcNBgwJBQEDAwICBgUHAwcLCQUBAwMCAgYFBwNwBwwMCgUXAwUFBwMDBgYFAgMDAwEBAwMCAgYFBwMDBgYFAhcFCgsNBgcMDAoFBAcFAgMEBwUFCgsNBoD+AAIA/iABwP5AIAGA/oBgAwQHBQUKDAwGDhcRCgMEBwUFCgwMBg4XEQpgBQkLBwMGBgUCAwMDARAQBQkLBwMGBgUCAwMDAWADBAcFFwMDAwEBAwMCAgYFBwMDBgYFAgMDAwEBAgQCFwQHBQIDBAcFBQoMDAYHDAwKBQQHBQJAAYD+gCABQP7AAQAgIAAFAHD/4AGQAeAABwAMABEAJgA7AAABIzUjFSM1IREhESERJTM1IxU3Ii4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjAZAg4CABIP7gASD/AODgcBEdFQ0NFR0RER0VDQ0VHREKEQ0ICA0RCgoRDQgIDREKASCgoMD+AAEg/uAg4OAgDRUdEREdFQ0NFR0RER0VDYAIDREKChENCAgNEQoKEQ0IAAAABAAA/+ECAAHfACoAPwBUAFkAAAUiLgI1ND4CNxcOAxUUHgIzMj4CNTQuAic3HgMVFA4CIxEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMHMxUjNQEANV1GKCI7UTAEKUc0HiM9Ui4uUj0jHjRHKQQwUTsiKEZdNQoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDECAgHyhGXTUwV0QsByAFKDtMKi5SPSMjPVIuKkw7KAUgByxEVzA1XUYoATAIDREKChINBwcNEgoKEQ0IQAIFBgMDBgQDAwQGAwMGBQJgoKAABAAA/+ACAAHgABcALwBDAG0AACUnNz4DFzYeAhceAxUUDgIPAScXNz4DNTQuAicuAwcmDgIPARcnNz4DFzYeAhcHLgIGDwEDBi4CJy4DNTQ+Aj8BFwcOAxUUHgIzHgI2PwEXBw4DBwEN4sQLGh0fEBAfHBsLCxIMBgYMEQzEtLWtCQ4JBQUKDgkJFRcZDA0ZFhUJrU8XiwcQERIKCRMREAcXCRgYGAmLeAUJCAgEAwYDAgIDBgNYFlcBAgEBAQECAQIGBgYCWBdYBAgICQUL4sQLEgsHAQEHCxMKDBodHhEPIBwbCsXkt68IFhUaDA4XGBQKCA8JBgEBBggPCK4LFowGCwYFAQEFBgsGGAoIAQoIjP7/AQMCBwIEBwoIBgQKCAkCWRhXAgEEAgMBBAIDBAEBAwJYF1cEBQQBAQAAAAAHAFD/4AGwAeAABwAcADEAOQBBAGwAgwAABSMnNxczNxcnIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjFSM0PgIzFQcjND4CMxUVIi4CNTQ+AjMyHgIXBy4DIyIOAhUUHgIzMj4CNxcOAyM3Jz4DMzIeAhcHLgMjIg4CBwEcN0QePAk9Hg8UIxoPDxojFBQjGg8PGiMUDRgRCgoRGA0NGBEKChEYDSAFCQsHoCAFCQsHFCMaDw8aIxQFCQkJBQ0DBQcGAw0YEQoKERgNBw4NCwUZBxETFQsBHwMRGSARCxUTEQcZBQsNDgcMFRAMAiC7CqXFCiUPGiMUFCMaDw8aIxQUIxoPoAoRGA0NGBEKChEYDQ0YEQpABwsJBSAwBwsJBSBgDxojFBQjGg8BAgICHgECAQEKERgNDRgRCgMGCQYUCQ0JBdwGERwVDAUJDQgVBgkGAwgOEwsACABQ/+ABsAHgABYAGwAgADcARABRAFYAWwAAJSIuAjUzFB4CMzI+AjUzFA4CIzchNSEVJSE1IRUBIzQuAiMiDgIVIzQ+AjMyHgIVKwE0PgIzFSIOAhU3Ii4CNTMUHgIzFRMhNSEVJSE1IRUBAB40JxcgEh4pFxcpHhIgFyc0HrD+oAFg/sABIP7gASAgEh4pFxcpHhIgFyc0Hh40JxfAIA0VHREKEQ0IMBEdFQ0gCA0RCrD+oAFg/sABIP7g0BcnNB4XKR4SEh4pFx40JxewYGAgICD+wBcpHhISHikXHjQnFxcnNB4RHRUNIAgNEQqwDRUdEQoRDQgg/tBgYCAgIAAAAAAEAAD/4QIAAd8AKgBOAGMAeAAABSc+AzU0LgIjIg4CFRQeAhcHLgM1ND4CMzIeAhUUDgIHJyM1MzI+AjU0LgIjIg4CFSM0PgIzMh4CFRQOAgcVByIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwEiBClHNB4jPVIuLlI9Ix40RykEMFE7IihGXTU1XUYoIjtRMBIgEA0YEQoKERgNDRgRCiAPGiMUFCMaDwwWHREQChENCAgNEQoKEQ0ICA0RCgMGBAMDBAYDAwYEAwMEBgMfIAUoO0wqLlI9IyM9Ui4qTDsoBSAHLERXMDVdRigoRl01MFdELAfRPwoSFw0NGBEKChEYDRQjGg8PGiMUEiAZEQMggQgNEQoKEg0HBw0SCgoRDQhAAgUGAwMGBAMDBAYDAwYFAgAAAwAAAFAB/QGOAAQAFQAjAAA3MxUjNQcjNTQ+AjsBFSMiDgIdATc1IzUzFTcnFSM1MzUXcJCQUCAIJU5FQEA6QB8H8BAwk5MwEO3QICCAQAEyPDEgJy8pAj8CXiBCYmJCIF6eAAkAAAAAAgABwAAUACkANgBDAFgAbQByAIIAkQAANyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwcjND4CMxUiDgIVISM0PgIzFSIOAhUXIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjBzMVIzUvATc0PgIzFSIOAh0BByEnNC4CIzUyHgIVFwdwFykeEhIeKRcXKR4SEh4pFxEdFQ0NFR0RER0VDQ0VHREQIAgNEQoDBgQDASAgCA0RCgMGBAMQFykeEhIeKRcXKR4SEh4pFxEdFQ0NFR0RER0VDQ0VHRHAYGCwICALERcNBwsJBSABwCAFCQsHDRcRCyAgABIeKRcXKR4SEh4pFxcpHhLADRUdEREdFQ0NFR0RER0VDVAKEQ0IIAMEBgMKEQ0IIAMEBgNwEh4pFxcpHhISHikXFykeEsANFR0RER0VDQ0VHRERHRUNQCAgXQafDRYRCiAFCQsHA6CjBwsJBSAKERYNnwYAAAgAUP/gAbAB4AAEAAkADgATABsAIwAoAC0AADczFSM1NzMVIzUfAQcnNwcXByc3NyM1IRUjNSEHIzUjFSM1MxMhESERJSE1IRWQYGAgICC5DiAOIDAOIA4gdyD+4CABYEAgoCDgQP6gAWD+wAEg/uCAICAgYGACHBAcEDAcEBwQsqCgwMBgYID+QAEg/uAg4OAAAAADAED/4AHAAeAAMABTAFgAABciLgI9ATMVFB4CMzI+AjURNC4CIyIOAh0BIzU0PgIzMh4CFREUDgIjMyIuAj0BJzUzFRcRFB4CMzI+AjURNzUzFQcVFA4CIxMVIzUzsAoRDQggAwQGAwMGBAMIDREKChENCCANFR0RER0VDQgNEQqwChENCDAgMAMEBgMDBgQDMCAwCA0RChAgICAIDREKsLADBgQDAwQGAwGAChENCAgNEQrQ0BEdFQ0NFR0R/oAKEQ0ICA0RCvkwp5kw/vkDBgQDAwQGAwEHMJmnMPkKEQ0IAgCgoAAABAAA//ACAgHOAAQAFQAfACkAABMzFSM1ByM1MD4COwEVIyIOAgcVFzUzFTcnFSM1FwMhETMVIxEhNTPQcHBAIAoiQDctLSszGwkBsCBoaCDCMv4wcFABkCABMCAgYDQnLyYgGyIeBDEFZSlFRjJugv6kAZAg/rDRAAAAAAIAIP/gAeAB4AALABkAAAUhNTMVIREhFSM1IQE1IzUzFTcnFSM1MzUXAeD+kCABMP7QIAFw/tCQsJOTsJDtIFAwAcAwUP5iXiBCYmJCIF6eAAAAAAYAQv/gAbAB4AAHAAwAEgAYAC8ATAAABSE3FwczJzcHFwcnNzcjNSchFSczNSMXFTcjNC4CIyIOAhUjND4CMzIeAhUXIzUzMj4CPQE0LgIrATUzMh4CHQEUDgIjAXP+2iMgHdodIKQgDyAPpOAuAQ7AoLISkCAFCQsHBwsJBSAKERgNDRgRCmAREQMGBAMDBAYDEREKEQ0ICA0RCiDDBp2dBgwFZARlKXtFwCCAG2XABwsJBQUJCwcNGBEKChEYDeAgAwQGA0ADBgQDIAgNEQpAChINBwAAAAMAhP/tAbAB4QA0AEsAUQAABSIuAicuATQ2NxcOARQWFx4DMzI+Ajc+AzU0LgInNx4DFRQOAgcOAyMnLgM1ND4CNxcOAxUUHgIXBzcnByc3FwEAEiIfHQwaGhoaFhUVFRUKGBocDg4cGhgKChAKBgYKEAoWDRMNBwcNEw0MHR8iEk8IDAkEBAkMCBYFCQYDAwYJBRaRQkIcXl4TBw0TDBpBREEZFhU1ODUVChALBQULEAoKGBobDw4cGhgKFgwdICESEiIfHQ0MEw0HYQgSFBYLCxYUEggXBQ0PDwgIEA4NBhbtamoRlZUAAAAAAgAg/+AB4AHgAAcAFQAABSE1MxUhNTMHJzM1MxUjFzcjNTMVMwHg/kAgAYAg4J5eIEJiYkIgXiCAYGAN7aDAk5PAoAAJAAAAIAIAAYAABAAJABMAKAA9AEIARwBMAFEAACUhESERJSE1IRUFITUzFSE1IzUzBSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIyczFSM1FTMVIzUlMxUjNRUzFSM1AaD+YAGg/oABYP6gAeD+YCABYCBA/tANGBEKChEYDQ0YEQoKERgNBwsJBQUJCwcHCwkFBQkLB5AgICAgAQAgICAggAEA/wAgwMCAQCDAIGAKERgNDRgRCgoRGA0NGBEKYAUJCwcHCwkFBQkLBwcLCQUgICBgICBgICBgICAAAAAACAAAAEACAAGAAAQACQAeADMAOAA9AEIARwAAJSERIRElIREhETciLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMnMxUjNSEzFSM1FTMVIzUhMxUjNQIA/gACAP4gAcD+QOAUIxoPDxojFBQjGg8PGiMUDRgRCgoRGA0NGBEKChEYDcBAQAFAQEBAQP7AQEBAAUD+wCABAP8AIA8aIxQUIxoPDxojFBQjGg+gChEYDQ0YEQoKERgNDRgRCiAgICAgoCAgICAABQAAABACAAGwAAsAEAAVABoAHwAAJSM1MxEhETMVIxEhAyE1IRUlITUhFRczFSM1BzMVIzUCANCw/kCx0QIAQP6AAYD+oAFA/sCQICBRwsJQIAEg/uAgAWD+4ODgIKCgPyEhQSAgAAADACD/4AHgAeAAFgAtADsAAAEhIi4CNTQ+AjMhMh4CFRQOAiMlIg4CFRQeAjMhMj4CNTQuAiMhEyM1JzcnNzUzFQcXBxcBoP7ADRgRCgoRGA0BQA0YEQoKERgN/sAHCwkFBQkLBwFABwsJBQUJCwf+wLAgJ0FAJiAZQUEZAWAKERgNDRgRCgoRGA0NGBEKYAUJCwcHCwkFBQkLBwcLCQX+IEknQD8oSVcZQEAZAAAAAAgAQP/gAcAB4AAHAAwAEQAWACsAQABFAEoAAAUhAzcTMxMXJSEXITcFITczFyczJyMHEyIuAjcmPgIzMh4CFw4DIzciDgIHHgMzMj4CJzYuAiMnMwcjJxczFyM3AY/+4RAfEOEQH/6hAX8B/n8BAUP++RbbFt+3CKcIWwwZEAsBAQsQGQwOFxIJAQEJEhcOAQgKCgQBAQQKCggGDAgGAQEGCAwGYcEBvwEBvwHBASABbwL+rwFRAkEgICBwcCAwMP7QChEYDQ0YEQoKERgNDRgRCmAFCQsHBwsJBQUJCwcHCwkFYCAg4CAgAAAAFAAA/+ACAAHgAAQACQAOABMAGAAdACIAJwAsADEANgA7AEAARQBKAE8AVABZAF4AYwAANyEVITURMxEjERMzFSM1OwEVIzU7ARUjNTsBFSM1OwEVIzU7ARUjNSUzFSM1NTMVIzU1MxUjNTUzFSM1NTMVIzU1MxUjNRMjNTMVJzM1IxUXIxEzESczESMRFyMRMxEnMzUjFQACAP4AICBwICBAICBAICBAICBAICBAICD+cCAgICAgICAgICAgILBgYEAgIMBgYEAgIMBgYEAgIAAgIAHg/gACAP5AICAgICAgICAgICAgQCAgQCAgQCAgQCAgQCAgQCAg/qDg4CCgoCABYP6gIAEg/uAgASD+4CDg4AAAEAAA/+ACAAHgAAQACQAOABMAGAAdACIAJwAsADEANgA7AEAARQBNAFMAADchFSE1ETMRIxETMxUjNTsBFSM1OwEVIzU7ARUjNTsBFSM1OwEVIzUlMxUjNTUzFSM1NTMVIzU1MxUjNTUzFSM1NTMVIzUTJzcXNxcHJxcjNSM1MwACAP4AICBwICBAICBAICBAICBAICBAICD+cCAgICAgICAgICAgIG0aalKGFppO7SBwkAAgIAHg/gACAP5AICAgICAgICAgICAgQCAgQCAgQCAgQCAgQCAgQCAg/tYUjUKGFpo+GXAgABAAAP/gAgAB4AAEAAkADgATABgAHQAiACcALAAxADYAOwBAAEUATQBTAAA3IRUhNREzESMREzMVIzU7ARUjNTsBFSM1OwEVIzU7ARUjNTsBFSM1JTMVIzU1MxUjNTUzFSM1NTMVIzU1MxUjNTUzFSM1AScHJzcXNxcXIzUzNTMAAgD+ACAgcCAgQCAgQCAgQCAgQCAgQCAg/nAgICAgICAgICAgICABlIZQahhWUJoEkHAgACAgAeD+AAIA/kAgICAgICAgICAgICBAICBAICBAICBAICBAICBAICD+5ZVAfBRkQKsbIHAAAAAACgAA/+ACAAHgAAQACQAOABMAGAAdACIAJwAsADEAAAUhESERJSERIRETMxUjNQczFSM1OwEVIzUVMxUjNRczFSM1JxcHJzczFwcnNyEXByc3AgD+AAIA/iABwP5AcCAgMICAwICAICBQICCrFmAWYMAWYBZg/vZgFmAWIAIA/gAgAcD+QAGAgIAwICAgIKAgIEAgIEsWYBZgFmAWYGAWYBYAAAAEAAD/4AIAAeAAHgAmADcAPQAAJSM1MzU0LgIjIg4CHQEzFSM1ND4CMzIeAh0BAyE1MxUhNTM3IzUzNTQuAiM1Mh4CHQEDIzUzNTMBgEAgGSw6ISE6LBkgQB40RigoRjQeIP7AIAEAIKBAIBksOiEoRjQeIGBAIPAgECE6LBkZLDohECAwKEY0Hh40Rigw/vDw0NAgIBAhOiwZIB40Rigw/vAg0AAAAAAFAHD/4AGQAeAABwAMABQAKwA6AAABIzUzFTM1MyczFSM1EyE1MxUzNTMxIzQuAiMiDgIVIzQ+AjMyHgIVByM1ND4CMxUiDgIdAQEwYCAgIICgoOD+4CDgICASHikXFykeEiAXJzQeHjQnF8AgDRUdEQoRDQgBQGBAQEAgIP4A8NDQFykeEhIeKRceNCcXFyc0HrCwEB0WDCAHDREKsAAABQCg/+ABYAHgAAcADAAaACgAMQAAASM1MxUzNTMnMxUjNRMjETQ+AjMyHgIVESczETQuAiMiDgIVETcjNTQ+AjMVATBgICAgYGBgkMAPGiMUFCMaD6CAChEYDQ0YEQpAIAUIDAcBQGBAQEAgIP4AASAUIxoPDxojFP7gIAEADRgRCgoRGA3/ADDQBgwIBO4ACABQ/+ABsAHgAAQAFgAvADQARACDAIgAjQAANzMVIzUzIzQ+AjcnMxUjFwcOAxUXIyIuAjUzFB4COwEyPgI1MxQOAiM3MxUjNTMjNC4CLwE3FwceAxUHIi4CNTMUHgIzMj4CNTQuAiMiLgI1ND4CMzIeAhUjNC4CIyIOAhUUHgIzMh4CFRQOAiMnMxUjNRUzFSM1UCAgICARICsbRI1TPRcZKh8R4KAUIxoPIAoRGA2gDRgRCiAPGiMUQCAgICARHyoZF00aNBosIBGwChENCCADBAYDAwYEAwMEBgMKEQ0ICA0RCgoRDQggAwQGAwMGBAMDBAYDChENCAgNEQoQICAgINCQkBw1KyEJaiBeBQUaJi8Z8A8aIxQNGBEKChEYDRQjGg/wkJAZLyYaBQV3ElEJISs1HHAIDREKAwYEAwMEBgMEBQUCCA0RCgoSDQcHDRIKBAUFAgIFBQQDBgQDBw0SCgoRDQjQICDgICAAAAADAAD/7gH5AdIABAAMABYAAAEXByc3ByM1MxUjFTMHNTMVNycVIzUFASpQFFAUOvDw0NAgINfXIAEpASxAGEAYnKAgYMKCPq6uPoLyAAAAAAkAS//mAbUB1QAUACkANgBDAFAAXQB4AH0AggAAJSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwcuATQ2NxcOARQWFwcHLgE0NjcXDgEUFhcHJSc+ATQmJzceARQGBxcnPgE0Jic3HgEUBgcnIzU0LgIjIg4CHQEjNTQ+AjMyHgIdARUjNTMVJzM1IxUBAA0YEQoKERgNDRgRCgoRGA0HCwkFBQkLBwcLCQUFCQsHbBoaGhoWFRUVFRZJJiUlJhYgISEgFgEhFhUVFRUWGhoaGkkWICEhIBYmJSUmdSAFCQsHBwsJBSAKERgNDRgRCoCAYEBA4goRGA0NGBEKChEYDQ0YEQpgBQkLBwcLCQUFCQsHBwsJBaUZQURBGRYVNTg1FRYxJl5iXiUWIVJWUiEXOBcVNTg1FRYZQURBGj8WIVJWUiEWJV5iXiUBIAcLCQUFCQsHICANGBEKChEYDSCAYGAgICAAAAAABgA0/+ACAAHgABIAJQAyAFMAYABtAAAXIi4CJy4BNDY/ARcHDgMjAwcOARQWFx4DMzI+Aj8BJwcuATQ2NxcOARQWFwc3Jz4DNTQuAicuASIGByc+ATIWFx4DFRQOAgc3NC4CIzUyHgIVIzc0LgIjNTIeAhUjsBIiHx0MGhoaGjj5OQwdHyISRCIVFRUVChgaHA4OHBoYCiLMCxEQEBEWCwwMCxa8FgIDAwEBAwMCBQwMDAUWCRgYGAkFBwUCAgUHBWIWJzUeJUAwGyBhIz1RLjVcRiggIAcNEw0ZQURBGTn5OA0TDQcBOCIVNTg1FQoQCgYGChAKIszXECkrKhAWDB4eHgwWchYDBQYGAwMGBgUDBAUFBBYJCQkJBAsLDQYGDQsLBCceNScWIBswQCUHLlE9IyAoRlw1AAAAAAUAIP/gAeAB4AAcADEARgBLAGIAACUiLgI9ATMVIx4DMzI+AjcjNTMVFA4CIxEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMHMxUjNRMiLgI1MxQeAjMyPgI1MxQOAiMBAC5SPSNAHwQgM0MlJUMzIAQfQCM9Ui4RHRUNDRUdEREdFQ0NFR0RChENCAgNEQoKEQ0ICA0RChAgIBAKEQ0IIAMEBgMDBgQDIAgNEQowHjRGKBAgHjUnFhYnNR4gEChGNB4BEA0VHRERHRUNDRUdEREdFQ2ACA0RCgoRDQgIDREKChENCHDg4P6QCA0RCgMGBAMDBAYDChENCAAABAALAEAB9QGAAC8ANAA8AEEAADciLgInLgI2Nz4CFhcHLgEOAQcOAR4BFx4CNjc+AzcXDgMHDgIiIyUXBSclBSchFSM1IxcfAQcnN2AGDAsLBRIYCgMJCh4jJhEPCxoXFAYHAgcQDAUMDQwGBwsJCAMdBQwOEQkEBwcHAwGLCv5wCgGQ/tmHAVMg7VlQQBhAGEABAwUCCh4jJhESGAoDCR0HAgcQDAsaFxQGAwQBAQICBQgKBg8JDgwJAwECAe8ffx6ASptgQGVRUBRQFAAAAAYAQP/gAcAB4AAUACkAPgBTAFsAYwAAJSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIxEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMVIzQ+AjMVEyE3FwchJzcBAChGNB4eNEYoKEY0Hh40RighOiwZGSw6ISE6LBkZLDohFCMaDw8aIxQUIxoPDxojFA0YEQoKERgNDRgRCgoRGA0gBQkLB7j+kCkeFwEQFx5gHjRGKChGNB4eNEYoKEY0HgFgGSw6ISE6LBkZLDohITosGf8ADxojFBQjGg8PGiMUFCMaD6AKERgNDRgRCgoRGA0NGBEKQAcLCQUg/sBmDDo6DAAABAAq/+AB1gG2ABoAOgA/AEQAACUnNz4BNCYnLgEiBg8BJzc+ATIWFx4BFAYPAQUiLgInLgE0Nj8BFwcOARQWFx4BMjY/ARcHDgMjAxcHJzcfAQcnNwGZFz0REBARECorKRA9Fz0VNTg1FRUVFRU9/vcOGxoYCxUVFRU9Fz0REBARECksKRA9Fz0LGBobDjWAFoAW4IAWgBatFz0QKispEBEQEBE9Fz0VFRUVFTU4NRU9zQULEAoVNTg1FT0XPRApLCkQERAQET0XPQoQCwUBu4AWgBbggBaAFgAAAAYAAAAQAgABsAAEAAkAFwAcADMASgAAJSERIRElIREhEQUjNTM1JyMVMxUjNTMXBTMVIzUFIi4CNTMUHgIzMj4CNTMUDgIjISIuAjUzFB4CMzI+AjUzFA4CIwFA/sABQP7gAQD/AAHgoIAqNkBgajb+QMDAAXANGBEKIAUJCwcHCwkFIAoRGA3+0A0YEQogBQkLBwcLCQUgChEYDXABQP7AIAEA/wAgIGxUYCCgbBQgIOAKERgNBwsJBQUJCwcNGBEKChEYDQcLCQUFCQsHDRgRCgAABgAw/+AB8gHgACAALQA9AEIARwBNAAAFIi4CNTQ+AjcXDgMVFB4CMzI+AjcXDgMjNy4DJzceAxcHJyM1MzUjFTMVIzUjNTMVIzcXByc3NRcHJzcDIzUzFTMBACtMOCESIi8dDBgoHQ8cMEAkIj0wHgIgAyM4SSivAhEcJRcMGy0hFAIgfyAwgDAgMMAwlRYwFjAtFy0XRZAgcCAhOEwrIDoyKAwdCyErMRskQDAcGSw6IgIoRjMe3xguJh4KHQskLTYdApFQICBQMGBgGxYwFjAXLRctF/7ukHAAAAX////iAgEB3QAFABcAJAAxAEgAACUnNTMVFwciLgInNx4CNjcXDgMjNyc+AS4BJzceAgYHNyM0LgInNx4DFQEiLgI1ND4CNxcOAxUUHgIzFQFmdiBsexkxLisSFh1GS0shEhAiJCQT1RoWEQchHBcgJQkUGisgGzBDJwYtTDcf/v41XUYoHzZLLQYnQTAbIz1SLmlzpplpnQkTHBIXHCEHEhUaCxAKBXISIUtLRxwWIFBWViaNKEk6KQgfCS5DUy7/AClFXTUuU0MuCR8IKTpJKC5SPCQgAAQAAAAAAgABwAAEAAkAEQAZAAABITUhFSUhNSEVASE1MxUhNTMHITUzFTM1MwIA/gACAP4gAcD+QAGw/mAgAWAgUP8AIMAgAQDAwCCAgP7g8NDQcGBAQAADAAD/6wIAAdUABQATABkAABMjNTM3FxMnBzcnNxcHNxcnNxcHNyMnNxczxsawQR6wv79FXQ54MIGBMHgOXYbcIx4dxAEAILUK/iBxcbkuHDp/TEx/OhwuXH4JZwAAAAAHABAAAAHzAcAACwAgADUASgBfAGQAaQAAJSEDIzczEyE3IzchASIuAic+AzMyHgIHFg4CIyciDgIXBh4CMzI+AjcuAyMXIi4CJz4DMzIeAgcWDgIjJyIOAhcGHgIzMj4CNy4DIyczFyM3OwEHIycBzf7GTzUBS1EBBhv+AQEi/s4LEA4HAQEHDhALCRIMCQEBCQwSCQECBwMEAQEEAwcCBAUFAgEBAgUFBNELEA4HAQEHDhALCRIMCQEBCQwSCQECBwMEAQEEAwcCBAUFAgEBAgUFBJ8fASEBXyEBHwGAASAg/uCQIP6wCA0RCgoRDQgIDREKChENCEADBAYDAwYEAwMEBgMDBgQDQAgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEA9BQUFBQAAAAAAcAMP/gAdAB4AAEAAkAKAAtADIANwBTAAATMxUjNSEzFSM1AyMnLgM1MxQeAhcxFzM3PgM1MxQOAg8CAzMVIzUVMxUjNTUzFSM1JSMiLgInDgMrATUzMj4CNTMUHgI7ARUwICABgCAgnCiWDQ8IAiABBQoIjBiMCAoFASACCA8NApSE4ODg4HBwAUBwDx0YFQcHFRgdD3BwER0VDSANFR0RcAFQ0NDQ0P6QUAgRExcNDBAMCQRLSwQJDBAMDRcTEQgBTwEAICBAICCAICBQCA4UDAwUDgggDRUdEREdFQ0gAAAAAAgABf/lAfsB2wAEAAkADgAWABsAIAAlAEEAADcXByc3ARcHJzcnFwcnNwMnNycHJzcXBRcHJzc3FwcnNzcXByc3AyIuAicuATQ2NxcOARQWFx4BMjY3Fw4DIywXKBYnAYYXThZNB1AWUBbXF7FasRfIiP7pGxcbFzAbFxsXMBsXGxdVCRISEAcODg4OFwoJCQoJGBgYCRcHEBISCSMXJxYoAYYXTRZOMlAWUBb+URexWrEXyIg0GxcbFzAbFxsXMBsXGxf+8AQHCgcOJCQkDhcJGBgYCQoJCQoXBwoHBAAAAwAA/+ACAAHgAEAATgBWAAAlJz4DNy4DIyIOAg8BJy4DIyIOAhcGHgIXBy4DJz4DMzIeAhc+AzMyHgIHFg4CBwcnByMnMzcXNxczFyMnAyMnNxczNxcB3BkHCggDAQESISsaDBsWFggNCwoUGBkOGC0fFAEBBQYMBRcKDAoEAQEXKjcgDh0ZGgkLGBsbEB45KBkBAQYIDgjqNRSpAZcmMz89lAGtIxothhl6E3oZ5RUIExQUCxksIBMGChAKDw8KEAoGEyAsGQsUFBMIFQsXGRsNHzgpGAULDwoKDwsFGCk4Hw0bGRcLfnMqIFZrtaAgYv7OnRWSkhUAAAAACQAc/+ACAAHgAAQACQAzAF0AYgBnAGwAcQB2AAA3JzcXBycXNycHByIuAicuAT4BPwEXBw4DFwYeAhceAzMyPgI/ARcHDgMjASc3PgMnNi4CJy4BIgYPASc3PgMzMh4CFx4DBxYOAg8BBxcHJzc3FwcnNzcXByc3BxcHJzc3FwcnN+uIs4eyW1uFWoYwCxESDwgNDwENDysYLQQIBAMBAQMECAQFCgwMBwUOCgwDLRYrCA8SEQsBWRgtBAgEAwEBAwQIBAoXGRcKKxgtBhEQEwkLERIPCAYLBgUBAQUGCwYt9xYWGBg/GBgWFhEWFhgYIRgYFhZRFhYYGEKIsoeziFuGWoXqBAcKBw4kJCQOLBcsBAsLDQYGDQsLBAUHBQICBQcFLBcsBwoHBAEwFywECwsNBgYNCwsECQkJCSwXLAcKBwQEBwoHBxAREgoKEhEQBywpFxcXFxAXFxcXQBcXFxeAFxcXF1AXFxcXAAEAAv/kAfkB2gAPAAAFJxU3Fwc1FxMFFzcXByclAViIBRY7mH/+d1SjE7mNAfcceigFFzq8igGKjFN8GoyJtAADACr/4AHWAbYAGgAtAEAAACUnNz4BNCYnLgEiBg8BJzc+ATIWFx4BFAYPAQUiLgInLgE0Nj8BFwcOAyMTBw4BFBYXHgMzMj4CPwEnAZkXPREQEBEQKSwpED0XPRU1ODUVFRUVFT3+9w4cGhgKFRUVFXzNfQoYGhwOF2YREBARCBIUFgsLFhQSCGaerRc9ECksKRAREBARPRc9FRUVFRU1ODUVPc0GChAKFTU4NRV8y30KEAoGAUVmECksKRAIDAkEBAkMCGaeAAUAAAAAAgAByQAHAAwAEQAWABsAACUhJzcXITcXJSEVITUfAQcnNzMXByc3ExcHJzcB3v5EIiAeAYQeIP4AAgD+ANAQIBAgYCAQIBAzGnAacADuBNLSBEIgIG1gBmAGBmAGYAEGEqASoAAAAAIAJf/cAfsB3wAbAEQAAAUiLgInLgI2NxcOAR4BFx4CNjcXDgMjNycHDgMjIi4CJy4BPgE/ASc3FwcOAR4BFx4DMzI+Aj8BFwcBTxw8OjkZKjIUERkbFwsQMCMlU1NLHhMMHR4hEJV4FwgUFRkLDRYXEwkREwERExR4FpEuDA4BDA4GDw8SCAoQEQ4HLJAXJA0bJxkpX15ZIhMdTlRUJCQtEQ0XGQoPCgVOeRYIDgkEBAkOCBItLywSFnkXkCwOISIhDQYKBwMDBwoGLJAWAAAFAAn/6gHkAeAAEgAeACMAKQAzAAABJzc+AzMyHgIXHgEUBg8BJxc+AS4BJy4CBgcHFwcnNwE3Fwc3FzcvATcXBx8BNxcB2YgLBxAREgoKEhEQBw4ODg4LWlgGBAMJCAcUFRQKMWAbYBv+uzAfIX0JGiZhxxelQRmFFwExiAsHCgcEBAcKBw4kJCQOC4ZYChQVEwgICQIDBg+gEKAQ/kKyCH4iHxdhJckXphlAhRcAAAYADv/sAfcB3wAEABkALgBGAF4AaAAANxcHJzcXBi4CNTQ+AjceAxUUDgInNSYOAhUUHgIXPgM1NC4CBzcGLgInLgM1ND4CPwEXBw4DBycHDgMVFB4CFx4DNxY+Aj8BJwETNxcPASU3FwelFpAWkCsNGBEKChEYDQ0YEQoKERgNBwsJBQUJCwcHCwkFBQkLB6ANGBcVCQoOCQUFCQ4KK7YsChQXGQ0vFQcKBwQEBwoHBxAREgoKEhEQBxWI/s0jlxCJHQESLR4zlBeJGYcrAQsQGQwOFxIJAQEJEhcODBkQCwFfAQYIDAYICgoEAQEECgoIBgwIBgERAQYIDwgLExgYDgwZFhYJLbYsCg0KBAHaFgYREBMJCxESDwgGCwYFAQEFBgsGF4b+PAE1VR1L+zN3C4kAAQAA//ACAAHQAIIAABciLgInLgM1ND4CPwEXBw4DFRQeAhceAzMyPgI/AT4DNTQuAicuAyMiDgIPAQ4BFBYXHgMzOAMxMj4CPwEXBw4DIzgDMSIuAicuATQ2PwE+AzMyHgIXHgMVFA4CDwEOAyOgEB8dGgsLEgwGBgwSC7kXuQkOCgUFCQ4JChQXGQ0NGRcUCcoGCwcEBAcKBwcQERIKChIREAfJCQoJCgQKDAwHBg0LCwTBF8EHEBESCgoSEg8HDg4ODskJFRcZDQ0ZFxQJCg4JBQUJDgrJCxodHxAQBgwSCwsaHR8QEB8dGgvGFccJFRcZDQ0ZFxQJCg4JBQUJDgrWBxAREgoKEhEQBwcKBwQEBwoH1goYGBgJBQcFAgIFBwXJFsoHCgcEBAcKBw4jJSQO1gkOCgUFCQ4KCRQXGQ0NGRcUCtYLEgwGAAAEAAAAQAIAAYAAFwAuAEMAWAAANzEiLgI1ND4COwEyHgIVFA4CKwETIyIOAhUUHgI7ATI+AjU0LgIjByIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CI6AhOysZGSs6IcEhOysZGSs6IcHAwRouIxQUIy4bwRouIxQUIy4bwBQjGg8PGiMUFCMaDw8aIxQNGBEKChEYDQ0YEQoKERgNQBksOiEhOiwZGSw6ISE6LBkBIBQjLxoaLyMUFCMvGhovIxTgDxojFBQjGg8PGiMUFCMaD6AKERgNDRgRCgoRGA0NGBEKAAAAAAMAUP/gAbAB4AAWADEANgAAASM0LgIjIg4CFSM0PgIzMh4CFQMiLgI9ATMVFB4CMzI+Aj0BMxUUDgIjAzMVIzUBsCAXJzQeHjQnFyAcMEAkJEAwHLAkQDAcIBcnNB4eNCcXIBwwQCQQICABMB40JxcXJzQeJEAwHBwwQCT+sBwwQCSAgB40JxcXJzQegIAkQDAcAaCAgAAABgAAAAACAAHHAAcADwAUABkAHgA7AAA3IzUzNSM1MwElNxcRByclBxcHJzcFIzUzFSczNSMVFyIuAj0BMxUUHgIzMj4CPQEzFSMVFA4CI/BQMFBwARD+2wr7+woBJVYMkAuP/rZgYEAgIGANGBEKIAUJCwcHCwkFQCAKERgNoCCAIP7ZaB5YATJYHmhiHjYeNsXAwCCAgMAKERgNQEAHCwkFBQkLB0AgIA0YEQoAAAAEACr/4AHWAbYADAAnADQAVAAANy4BNDY3Fw4BFBYXBzMnNz4BNCYnLgEiBg8BJzc+ATIWFx4BFAYPAQcnPgE0Jic3HgEUBgcHIi4CJy4BNDY/ARcHDgEUFhceATI2PwEXBw4DI80VFRUVFxEQEBEXzBc9ERAQERApLCkQPRc9FTU4NRUVFRUVPWYXERAQERcVFRUVow4bGhgLFRUVFT0XPREQEBEQKSwpED0XPQsYGhsOrRU1NzYVFxAqKykQFxc9ECorKRAREBARPRc9FRUVFRU1ODUVPWYXECorKRAXFTU3NhVnBQsQChU1ODUVPRc9ECksKRAREBARPRc9ChALBQAAAAoAAAAwAgABkAAEAAkADgATABgAHQAiACcALAA2AAATMxUjNTsBFSM1OwEVIzU7ARUjNSUzFSM1OwEVIzU7ARUjNTsBFSM1BSEVITUFIREzESERITUhYCAgYCAgYCAgYCAg/uAgIGAgIGAgIGAgIP8AAQD/AAGA/gAgAcD+IAIAAQAgICAgICAgIEAgICAgICAgIKAgIHABMP7wASAgAAAFAAT/4AH8AdcABwANABUAKgA/AAAFITUzFSE1MzcnBycbAQcjNSMVIzUzJyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIwHA/oAgAUAgJOTkGPz8vCBAIIBADRgRCgoRGA0NGBEKChEYDQcLCQUFCQsHBwsJBQUJCwcg0LCwBfT0FgEM/vSrcHCQIAoRGA0NGBEKChEYDQ0YEQpgBQkLBwcLCQUFCQsHBwsJBQADAAD/9AIAAcAARQBeAHUAAAUnLgM1ND4CMzIeAhc+AzMyHgIVFA4CDwInNz4DNTQuAiMiDgIPAScuAyMiDgIVFB4CHwEHLwEuAzU0PgIzFSIOAhUUHgIfAQc3Jz4DNz4BHgEXBy4CBgcOAwcBBeEJDQkFGCk4Hw8cGhkKChkaHA8fOCkYBQkNCQGwFq8HCgcEEyAsGQ0aFxUJDAwJFRcaDRksIBMEBwoH3xYSoQQHBQIOGCASDBQPCQEDBAOeFkQcBAsODwkIERERCBAFCgsLBQYKCAcDDNELFxkbDR84KRgFCw8KCg8LBRgpOB8NGxkXCwGgGJ8IEhQVChksIBMGChAKDw8KEAoGEyAsGQoVFBIIzxholgYNDQ8HEiAYDiAJDxQMBAkJCASSGOQPCA0LCAIDAQIFBBwDAwEBAQIFBwgFAAAJAAD/4AIAAeAADQAZACcAMwBAAEUAWgBvAIYAADcjIi4CNTQ+AjsBFScOAxUUHgIXNQUjNTMyHgIVFA4CIzcVPgM1NC4CJxU1Mj4CNTMUDgIjJzMVIzUHIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjEyM0LgIjIg4CFSM0PgIzMh4CFXAQFSMZDw8ZIxUQIAsRDQcHDRELAVAQEBUjGQ8PGSMVEAsRDQcHDRELAwYEAyAHDRIKQEBAKAoRDQgIDREKChINBwcNEgoDBgQDAwQGAwQGBAICBAYEaCAXJzQeHjQnFyAcMEAkJEAwHFAPGSQUFSMZD8CeAgsRFAwMFBELAnyewA8ZIxUUJBkPnnwCDBAUDAwUEQsC7iACBAYEChINByAgIEAHDhEKChENCAgNEQoKEQ4HQAMEBgMDBgUCAgUGAwMGBAMBEB40JxcXJzQeJEEvHBwvQSQAAAkAEAAAAfMB1AALACAANQBKAF8AZABpAG8AdwAAJSEDIzczEyE3IzchASIuAic+AzMyHgIHFg4CIyciDgIXBh4CMzI+AjcuAyMXIi4CJz4DMzIeAgcWDgIjJyIOAhcGHgIzMj4CNy4DIyczFyM3OwEHIycnIz8BFwcXIzcnFyM3FwHN/sZPNQFLUQEGG/0BASH+zgsQDgcBAQcOEAsJEgwJAQEJDBIJAQIHAwQBAQQDBwIEBQUCAQECBQUE0QsQDgcBAQcOEAsJEgwJAQEJDBIJAQIHAwQBAQQDBwIEBQUCAQECBQUEnx8BIQFfIQEfAV8hAWoLVuEhAWEBIQGfgAEgIP7gkCD+sAgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEA0AIDREKChENCAgNEQoKEQ0IQAMEBgMDBgQDAwQGAwMGBAPQUFBQUGAsIx4dFCQYPGQoAAoAAP/gAgAB4AAFAAoAEAAVABsAIAAlACsAMAA1AAABIzUjNTMHFwcnNwEjNTMVMzcXByc3JyM1MxUjBzMVIzU3MxUjNRMjNTM1MyczFSM1BzMVIzUCACBwkBsW0RbR/quQIHBGFtEW0XYgcFAgICCQYGDwcFAgICAg0GBgAVBwIAUW0RbR/gWQcMwW0RbRZHAgcGBgkCAg/oAgUIBgYNAgIAAAAwAAABACAAGwAAQACQATAAAlIREhESUhESERASE1IxUjNTMVIQIA/gACAP4gAcD+QAHg/sCgIOABIBABQP7AIAEA/wABQCAgQCAAAAYAAP/gAgAB4AAHAA8AGQAeACMAKAAAASE1MxUhNTMHIzUzFTM1MxMhESEVIREhETMFIRUhNRUhFSE1FSEVITUBoP7AIAEAIEBgICAgoP4AAaD+gAHAIP5gAUD+wAFA/sABQP7AAQCAYGBAQCAg/mACACD+QAGAwCAgQCAgQCAgAAAAAAcAIP/gAeAB4AAEAAkADgATABgAHQAlAAAlIREhESUhESERNzMVIzUVMxUjNRUzFSM1NTMVIzUBITUhESM1MwGA/qABYP7AASD+4DDAwMDAwMBgYAFw/rABMB8/IAHA/kAgAYD+gOAgIEAgIEAgIMAgIP6AIAGAIAAAAAAFACD/4AHQAeAABAAJAA4AEwAdAAATMxUjNRUzFSM1FTMVIzU1MxUjNQEhETMRIREhNSGQ0NDQ0NDQYGABQP5QIAFw/nABsAEAICBAICBAICDgICD+gAHA/mABwCAAAAAG//7/8AICAdAAIAAoADAANQA6AD8AACUiLgInIxMXBzMVFB4CMzI+Aj0BMyc3EyMOAyMFITUzFSE1MycjNSEVIzUhBTMVIzUVMxUjNRUzFSM1AQASIBkRA6MiIB6eChEYDQ0YEQqeHiAiowMRGSASAQD+ACABwCBgIP8AIAFA/wBQUMDAwMBQDBYdEQECBN4QDRgRCgoRGA0Q3gT+/hEdFgxgkHBwYNDQ8EAgIEAgIEAgIAAKAAD/4AIAAd8ABQAKABAAFQAbACAAJQArADAANQAAJSM1MxUzNxcHJzcDIzUjNTMHFwcnNycjNTMVIwczFSM1NzMVIzUBIzUzNTMnMxUjNQczFSM1AaCQIHBFFsEWwfUgcJAqFsEWwaYgcFAgICCQYGABcHBQICAgINBgYPCQcMsWwRbB/mVwIBQWwRbBs3AgcGBgkCAg/gEgUIBgYNAgIAAAAAP//gAAAgIBwAAPACEAKQAAJSIuAicjEyETIw4DIyczFRQeAjMyPgI9ATMnIQcFITUzFSE1MwEAEiAZEQOjJAG8JKMDERkgEt6eChEYDQ0YEQqeHP58HAHe/gAgAcAgYAwWHREBEP7wER0WDHAQDRgRCgoRGA0Q0NDQkHBwAAAABgBA/+ABwAHgAAcADAARABYAGwAgAAAFIREzESERMyUhFSE1BSM1MxUnMzUjFQczFSM1OwEVIzUBoP7AIAEAIP6gAYD+gAEQoKCAYGAQICBgICAgAXD+sAFQQCAgIHBwIDAwcODg4OAAAAAACQAAACACAAGwABYALQAyADcARgBTAGoAdwCOAAAlIyIuAjcmPgI7ATIeAgcWDgIjAyIOAhcGHgI7ATI+Aic2LgIrAQczFyM3BzMHIyc3IzcmPgIzFyIOAgcXFy4BIgYHJz4BMhYXBwcuAyc+AzcXFAYUBhcGFhQWFQc3LgEiBgcnPgEyFhcHBy4DJz4DNxcUBhQGFwYWFBYVBwFw4R01JhgBARgmNR3xGDAiFgEBGCY1HeEXKR0TAQETHSoW4RcpHRMBARIbIxDxDx8BIQExgQF/AcEhAQEJDBIJAQQFBQIBATYCBwUHARgIERQQCBctBAQFAQEBAQUEBBYDAgEBAgMWjQIHBQcBGAgRFBAIFy0EBAUBAQEBBQQEFgMCAQECAxYgFyc0Hh40JxcYKDQcHjQnFwEAEh4pFxcpHhISHikXGCkeETCAgDAgIKAgChENCCADBAYDIK0DAgIDFwcHBwcXLQMICQkFBQkJCAMXAQIDAwICAwMCARctAwICAxcHBwcHFy0DCAkJBQUJCQgDFwECAwMCAgMDAgEXAAUAIP/gAeAB4AAqAC8ANAA6AEAAAAUiLgI1ND4CNxcOAxUUHgIzMj4CNTQuAic3HgMVFA4CIwMzFSM1IzMVIzUDNxcHNxc3JzcHJzcBAC5SPSMZLj8mCCE2JxYeNEYoKEY0HhYnNiEIJj8uGSM9Ui4QICAgYGA6Kx4WQgoqHhZCCn8gIz1SLidHOikJHwgjMT0iKEY0Hh40RigiPTEjCB8JKTpHJy5SPSMCAGBgICD+d34KQhYeKgpCFh4qAAAAAAYAf//sAZsB4AAUACkAOwBAAEUASgAAJSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIxMiLgInNx4BPgE3Fw4DIwMzFSM1AxcHJzczFwcnNwEAER0WDAwWHREQHRYNDRYdEAoSDQcHDRIKChENCAgNEQoEDBcXFgoQGjg2LhAbDCInLBYUICAwH0EfQX5BH0Ef4A0VHRERHRUNDRUdEREdFQ2ACA0RCgoRDQgIDREKChENCP7uAwYKBhsPCA4hGRAVHxYLAZJAQP70COAI4OAI4AgAAAAHAED/4AHAAeAACwAbAC0AMgA3ADwAQQAABSERMxUjESERIzUzByM1Mz4DMzIeAhczFSczNSM1NC4CIyIOAh0BIxUHMxUjNRUzFSM1FTMVIzU1MxUjNQHA/oBAIAFAIUFhvjICCQwOCAgODAkCMp5+LwMEBgMDBgUCLyHAwMDAwMBQUCABwCD+gAGAIEBgBwwIBQUIDAdgICAQAwYEAwMEBgMQIKAgIEAgIEAgIMAgIAAAAAAHAED/4AHAAeAACwAbAC0AMgA3ADwAQQAABSERMxUjESERIzUzByM1Mz4DMzIeAhczFSczNSM1NC4CIyIOAh0BIxUXMxUjNTczESMRFzMVIzUHMxUjNQHA/oBAIAFAIUFhvjICCQwOCAgODAkCMp5+LwMEBgMDBgUCLw8gIEAgIEAgIMAgICABwCD+gAGAIEBgBwwIBQUIDAdgICAQAwYEAwMEBgMQIHDg4CD/AAEAMNDQYHBwAAAAAwAw/+ABqwHgAAQAMQBKAAATMxUjNQEhJy4DNTQ+Aj8BNTMVBw4DFRQeAhchPgEuAS8BNTMVFx4BFAYPASU0LgE0NTQ+Aj8BFwcOAxUcARYUFwehwMABBf60BAkOCgUFCQ4JbCB1BwoHBAMGCQYBMAwMAQ4NdSBsExITEwT+zQIBAgUHBXAWcAIDAwEBAR8B4CAg/gAFCRUXGQ0NGRcVCWyZp3QHEBETCgkREQ4HDiMkIg50p5lsEy8yLxMFSwIGBQUDBwwMCwRwF3ACBQYGBAEDAwMBCgAACAAA/+ACAAHgABQAKQA+AFMAWABdAGIAZwAABSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIxEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMnMxUjNRUzFSM1NxcHJzcHFwcnNwEANV1GKChGXTU1XUYoKEZdNS5SPSMjPVIuLlI9IyM9Ui4NGBEKChEYDQ0YEQoKERgNBwsJBQUJCwcHCwkFBQkLBxAgICAgjBdxF3GeF3EXcSAoRl01NV1GKChGXTU1XUYoAeAjPVIuLlI9IyM9Ui4uUj0j/uAKERgNDRgRCgoRGA0NGBEKYAUJCwcHCwkFBQkLBwcLCQWgoKDgoKCzF3EXcZ4XcRdxAAAFAA3/7QH9Ad0ABAAJAA4ALwA0AAA3JwEXAScXEycFJRcHJzcBJzc+ATQmLwE3FwceARQGBxc+ATIWFzcXBycuASIGDwEnFwcnN+qqAVhl/u16eOo8/toBFhTZE9j+wC0LBwcHBwsiFw0HBgYHAgoXFxYKDRciDAcRExIHCxcXIhciIK8BDmX+qKx8ASY85rEaqRqp/nwtCwcSExEHDCIXDQoWFxcKAgcGBgcNFyILBwcHBwstFyIXIgAAAAQAAAAgAgABoAAHABEAKAA/AAAlITUhNSc3FwUnNyEXITUzJyMBIi4CNTMUHgIzMj4CNTMUDgIjISIuAjUzFB4CMzI+AjUzFA4CIwIA/gAB4EgQWP4gIDMBGif+3PwZ5gEzDRgRCiAFCQsHBwsJBSAKERgN/vANGBEKIAUJCwcHCwkFIAoRGA2AICcrHDUdCNywIHD+oAoRGA0HCwkFBQkLBw0YEQoKERgNBwsJBQUJCwcNGBEKAAAFABD/4AHwAeAABAATACIANQBIAAATMxEjERMjNC4CKwE1MzIeAhUxIzQ+AjsBFSMiDgIVJyMRMzIeAhUjNC4CKwERMxUhIzUzESMiDgIVIzQ+AjsBEfAgICAgCA0RCrCwER0VDSANFR0RsLAKEQ0IQMCwER0VDSAIDREKkKABIMCgkAoRDQggDRUdEbABkP7AAUD+UAoRDQggDRUdEREdFQ0gCA0RCnABkA0VHREKEQ0I/rAgIAFQCA0RChEdFQ3+cAAACAAAAAACAAHAAAQACQAeADMASABdAGcAcwAAExcHJzczFwcnNwMiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMFIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjJyU1IRUhFQU1MxcjNScjFTMVIzUzF28gHx8eYR8eIB9QFCMaDw8aIxQUIxoPDxojFA0YEQoKERgNDRgRCgoRGA0BIBQjGg8PGiMUFCMaDw8aIxQNGBEKChEYDQ0YEQoKERgNYP7AAgD+IAEAIMAgHERAYHwkAYVgCmAKYApgCv57DxojFBQjGg8PGiMUFCMaD6AKERgNDRgRCgoRGA0NGBEKoA8aIxQUIxoPDxojFBQjGg+gChEYDQ0YEQoKERgNDRgRCh01ziCSK53ATVNgIKBtAAgAAAAgAfsBkAAvAHMAeAB9AIIAigCPAJQAADciLgInLgMnJj4CNz4DNxcOAwcOAxceAxceAT4BNxcOAyMhIi4CJy4DJy4BPgE3Fw4CFhceAxceATI2Nz4DNz4CJicuAyc3HgMXHgEOAQcOAwcOAyMDFwcnNzcXByc3BxcHJzcXIzU/AR8BByczNw8BNzMVIzVfBw8ODgYIDQoGAgEBBAgGBg0QEgoFBwwKCgMEBQMBAQEEBwgFCxkYFggaBxIUFgsBQgYLCgoFCQ8MCgMDAwEFBB0DAwECAgIHCAoGBQ0MDQYGCwkHAwMDAQICAgYJCgUOCA8NCQMEAgEFBAQMDhAJBAgIBwQhMB8wHy0IQAhAvwVgBWALuIqgBg2Fjn5aam72ICAgAgUHBQUOEBIJChMSEQgHDQoGAiABBAcIBQUMDAwHBgwLCQQHBgQMCxMJDwoFAQMDAwQLDhEJCRITEgkOBgwMDQYGCwkIAwIEAQMCBggKBgYMDA0GBgsJCAMcBAsOEQkJEhMSCQkPDAoDAQIBAQEUsAiwCFwfESAQQCAQIBDgKGdADwq2IH0rUsAwMAAAAAAFAAD/4AH/Ad8AKQBYAF0AYgCNAAAlIi4CJy4DNyY+Aj8BFwcOAwceAxceATI2PwEXBw4DIzcnBw4BIiYnLgM3Jj4CPwEnNxcHDgMHHgMXHgM7ATI+Aj8BFwcFMwcjJzcXByc3AyIuAicuAyc+Az8CFwcOAwceAxceAjY/ARcHDgMjAWwLFRUSCQcNBwYBAQYHDQcuFiwHCAcCAQECBwgHCh8eHgsuFiwKERYUDH4jCgsWGhcKAwgEBAEBBAQIAwwjGDghBAIDAQEBAQMCBAEGBQcCAQMHBAcBIzcV/lYhAR8Bqj8WQBeaBxAODgUGCAcCAQECBwgGAaMSoAQEBAEBAQEEBQQGEhISBnQZdAcMEA4J3AUIDAgIEhUVCwwVFBMILRctBg0OEAgIDw4OBQwMDAwtFy0IDAgFTiILCQoKCQUKDAwGBwwMCgULIhY4IgIGBQcDAwYGBQIDAwICAgIDAyI5F+ogIMY/Fj4X/toDBgkFBg0PDwgIDw8NBgF0GnMDCAgJBQUJCQgDBwYBBwagEqQFCQYDAAAKAAAAEAIAAbAABwAMABEAFgAbACAAJQAqAC8ANAAAJSERMxUhNTM1ITUhFSUhNSEVNzMVIzU7ARUjNTsBFSM1EyM1MxUnMzUjFQUjNTMVJzM1IxUCAP4AIAHAIP4AAgD+IAHA/kAgICAwICAwICAggIBgQEABYODgwKCgEAEA4OAggIAgQEAwICAgICAg/tDAwCCAgCDAwCCAgAAHAHD/4AGQAeAAFAApADEAOQBBAEkATwAAJSIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIzcnIwcnNzMXJyM1IxUjNTMDIyc3FzM3FwcjNTMVMzUzJyM1MxUzAQAeNCcXFyc0Hh40JxcXJzQeFykeEhIeKRcXKR4SEh4pF2McjhwaJLIkHSCAIMAHsiQaHI4cGh3AIIAgEGAgQFAXJzQeHjQnFxcnNB4eNCcXAQASHikXFykeEhIeKRcXKR4SBykpEjc3JzAwUP5ANxIpKRJ3UDAwoGBAAAAAAAcAAAADAgABvQAHAAwAEQAWAC0ARABQAAAlJzcXEQcnNwcXByc3DwE1FxUnNzUnFQU1PgM1NC4CBzUeAxUUDgInFTUWPgI1NC4CJzU2HgIVFA4CBz0BNh4CFRQOAgcBQMkSl5cSyVgQUBBQiGBgQCAgAUANGBEKChEYDRQjGg8PGiMUGi8jFBQjLxohOiwZGSw6IQcLCQUFCQsHA4AbYAFFYBuAkBsxHS+tAcEBvx8BfwGBHx8BCRIXDgwZEAsBIQEOGyIVEyQZEAFBIQEVIjAZGy4kEwEfARorOyAiOS0YAYE/AQYIDAYICgoEAQAAAAMAAAAsAgABkAALABAAGAAAJSERMxUjFSERJzcXBTMVIzUFJzcXNQcnNwFA/sDfvwEAsgXN/wCfnwHAlAhsbAiUMAEAIMABAh4gIn4gIMQkIBy4HCAkAAAF//7/4AIAAeAAFAApAEAASABUAAA3Ii4CNTQ+AjMyHgIVFA4CIxEiDgIVFB4CMzI+AjU0LgIjEzUyPgI1NC4CIzUyHgIVFA4CIxcjNTMvATcXByE/ARcPASEvATcXwB40JxcXJzQeHjQnFxcnNB4XKR4SEh4pFxcpHhISHikXsBEdFQ0NFR0RFykeEhIeKReQYDsMMwhIav58FEsKOA0BPA04CkvAFyc0Hh40JxcXJzQeHjQnFwEAEh4pFxcpHhISHikXFykeEv8AIA0VHRERHRUNIBIeKRcXKR4SwCBTDh8TracYHhJvbxIeGAAAAAADAC7/4AHSAeAAFAApADUAADciLgInPgMzMh4CBxYOAiMDIg4CFwYeAjMyPgI3LgMjEyE/ARcPASEvATcX/B40KBYBARYoNB4dNiYXAQEXJjYdARYqHRMBARMdKhYZJyAQAQEQICcZ1/5bFFgNSAwBWwxIDVjAFyc0Hh40JxcXJzQeHjQnFwEAEh4pFxcpHhISHikXFykeEv4gqyQeHHV1HB4kAAUAAAAgAgABsAA2AE8AaABtAHMAACU1Mj4CNTQuAiMiDgIHHAMVHAMVIzwDNTwDNT4DMzEzHgMVFA4CIycjPAM9Aj4DMxUiDgIHHAMVByMiLgI1ND4CMxUiDgIVFB4COwEVNzMVIzUXJwcnNxcBUB40JxcXJjQeHDIoGQIgAx4wPSICJEAvGxwwQCRQIAITHycWDxwWDwFQMBovIxQUIy8aFCMaDw8aIxQwQCAgNSUlFjs7UCAXJzQeHjQnFxUjLxsBAgICAQEBAgEBAQEBAQEBAwMDASI6KxkBHC9AJCRAMBywAQIBAgECAhQlGxEgDBMZDwEDAgIBsBQjLxoaLyMUIA8aIxQUIxoPIFCAgDwjIxg3NwAAAAAHAAD/6QIAAcAAFAApAD4AUwBoAH0AiQAANyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIxciLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMXIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjAREhESE1IREhETcXkAoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDcAoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDcAoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYD/pACAP6QAVD+QDMa8AgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEA0AIDREKChENCAgNEQoKEQ0IQAMEBgMDBgQDAwQGAwMGBANACA0RCgoRDQgIDREKChENCEADBAYDAwYEAwMEBgMDBgQD/rkB1/6wIAEQ/qdDFAAAAAoAAP/gAfsB2wAcADQAOQA+AF4AjwDIAM0A0gD9AAATOAMxIi4CLwE3Fx4DFRQOAgcOAyMnHgMzMTI+Ajc+AzU0LgInMQczFwcnNx8BByc3FyIuAi8BNxceATI2Nz4BNCYvATcXHgEUBgcOAyMDMSIuAicuAzU0PgI/ARcHDgMVFB4CFx4DMzEyPgI/ARcHDgMjNycHDgMjMSIuAicuAzU0PgI/ASc3FwcOAxUUHgIXHgMzOAMxMj4CPwEXBwUzFSM1NxcHJzcDIi4CJy4DNTQ+Aj8CFwcOAxUUHgIXHgI2PwEXBw4DI0AFCQkIAxdEFwMGAwICAwYDAwgJCQULAQIDAwICAwMCAQECAQEBAQIBFi1lFmUW/lcWWBdMCA8ODgZhF2EHEhISBwcHBwdhFmEMDAwMBQ4ODwg0CxYUEggIDAgFBQgMCB0XHQYJBgMDBgkGBQ0PDwgIEA4NBh0XHggSFBYLbSIMBAsLDAcGDQsLBAUHBAMDBAcFCyIXOSIDAwMBAQMDAwIFBgYDAwcFBgIiOBb+WyAgqUAXPxaZCA8PDQYFCQYDAwYJBQKmE6UDBQMCAgMGAwcRExEHeBl5Bg0PDwgBcAIDBgMXRBcDCAkJBQUJCQgDAwYDAiUBAgEBAQECAQECAwMCAgMDAgEWYhdiF/tXF1gWsgMGCAZhF2EHBwcHBxISEgdhF2ILHh8dDAYIBgMBAAUIDAgIEhQWCwsWFBMHHhcdBg0OEAgIDw8NBQYJBgMDBgkGHRcdCAwIBT4iCwUHBAMDBAcFBAsLDQYHDAsLBAwiFjgiAgYFBwMDBgYFAgMDAwEBAwMDITgX5iAg0j8XPxf+zgMGCQUGDQ8PCAgPDw0GAXgZeAMICAkFBQkJCAMHBgEHBqUTqAUJBgMAAAAEAAn/6QIAAeAABwANACMAOgAABSc3FwcXNxc3IzUjNTMHMSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMVNTI+AjU0LgIjAQD33BbEycUWJSDQ8KARHRYMDRUeEBEdFgwNFR4QChENCAcNEgoKEQ0IBw0SChf32xbFycQWK9Ag8A0WHRARHRUNDRYdEBEdFQ2ACAwSCgoRDQgQEAgMEgoKEQ0IAAcAAP/gAgAB4AAEAAkADgATABgATQBkAAATMxUjNRczFSM1ITMVIzU3FwcnNzMXByc3AyIuAjU0PgIzMh4CFwcuAyMiDgIVFB4CMzI+AjU0LgInNx4DFRQOAiMvAT4DMzIeAhcHLgMjIg4CB/AgIJBAQP7AQEBELRctF/kWjhaOfTVdRigoRl01Fy4rJxEVDyImKBQuUj0jIz1SLi5SPSMHDhUNGA8YEAgoRl01URsIGBwfEREfHBgIGwYSFRgMDBgVEgYBoEBAsCAgICCDLRctFxeLF4v+bShGXTU1XUYoCBAYDxgNFQ4HIz1SLi5SPSMjPVIuFCgmIg8VEScrLhc1XUYoYxEOFhAICBAWDhELEAwGBgwQCwAIAAD/8AIAAdAAFAApAD4AUwBoAH0AggCHAAA3Ii4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjJSIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIxEiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMnFwcnNwcXByc3UBEdFQ0NFR0RER0VDQ0VHREKEQ0ICA0RCgoRDQgIDREKAWARHRUNDRUdEREdFQ0NFR0RChENCAgNEQoKEQ0ICA0RChEdFQ0NFR0RER0VDQ0VHREKEQ0ICA0RCgoRDQgIDREKdw6ADoBygA6ADpANFR0RER0VDQ0VHRERHRUNgAgNEQoKEQ0ICA0RCgoRDQggDRUdEREdFQ0NFR0RER0VDYAIDREKChENCAgNEQoKEQ0I/kANFR0RER0VDQ0VHRERHRUNgAgNEQoKEQ0ICA0RCgoRDQjuHEAcQKBAHEAcAAAAAwAF/+AB+wHgAB8AQADDAAAlMSIuAicuAzcmPgIzMh4CFx4DBxYOAiMnIg4CFwYeAhceAzMHNzI+Aic2LgInLgMjEyMnLgMnByc3JjQmNic2JjY0Nyc3Fz4DPwEXDwEOAw8BJwcXFQYUBhYHFgYeARcVBxc3Fx4DHwIzPwE+Az8BFzcnNzY0NjQ3JjQmNCc1NycHJy4DLwIjJzMXHgMXNxcHFgYWFBcGFAYUBxcHJw4DDwEBAAkODwwHBQkFBAEBDRUeEAkOEAwGBQoFBAEBDhUeDwEJEwwIAQECAwYDBAcJCQYBAQkSDAkBAQMDBgIFBgoIBjdnEwgNDgwIRjQ0AgIBAQEBAQI6NE0HDA8NCAEgBQkJDxANBwZHGTICAgEBAQECAQIsGUEGBwwQDgkIEzMVBgcKDAkGBkcZMgEBAgEBAQE5GU4FBgoMCwcGFU8BahUGCQsJBlMzQgIBAQEBAQI6NE0FCAsIBhWQAwYJBgUNDw8IER0VDQMGCQYFDQ8PCBEdFQ2ACA0RCgUJCQcEAwUEAhAQCA0RCgUJCQcEAwYDAv7QSwIHBwgFE1gyBAkICQQDBwcGBDlYFgUJBwcCDQQhAwMGCAoFBhQuMwkEBwcIAwUICQkFCSwuEQUGCQgGAgNESQMCBgcHBAYULjMJAwgHCAMDBgUGBAg5LhQFBQgHBgMDSSBSAgYGBwQWWEACBgUEAwMHBwYEOVgWBAYGBQJSAAAEAAD/4AIAAeAAFAApAFMAYAAANyIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIwEiLgIvATcXHgEyNjc+AzU0LgIvATcXHgMVFA4CBw4DIyUuATQ2NxcOARQWFwfQK0w4ISE4TCsrTDghIThMKyRAMBwcMEAkJEAwHBwwQCQBAAUJCAgEWRZaAgYGBgIBAgEBAQECAVYWVwMGAwICAwYDBAgICQX+phMTExMWDg4ODhZAIThMKytMOCEhOEwrK0w4IQGAHDBAJCRAMBwcMEAkJEAwHP4gAgMGA1cWVgMCAgMBAgMDAgIDAwIBWhZZBAcJCQUFCQkIAwMGAwLWEi8yLxMXDiQkJA4WAAYAAP/gAfcB1wAYACoALwA0AGMAaAAAATEiLgInLgM1ND4CPwEXBw4DIycOAxUUHgIXHgEyNjcxJwcXByc3BxcHJzcHIi4CJy4DNTQ+Aj8BFwcOAxUUHgIXHgEyNj8BFwcOAyM4AzETFwcnNwG+BQkJBwQDBgMCAgMGAxdEFwMICQkFCwECAQEBAQIBAgYGBgIWFxeoFqfgF3gWd2wIDw8NBgUJBgMDBgkFkhaRAwYDAgIDBgMHEhISB5EXkQYNDhAIi3EWcRYBbgIDBgMEBwkJBQUJCQgDF0QXAwYDAjsBAgMDAgIDAwIBAwICAxYWF6cWqOAXdxZ40wMGCQUGDQ4QCAgPDw0FkheRBAcJCQUFCQkIAwcHBweRFpIFCQYDAUxxFnEWAAAACgAAABACAAGwABQAKQAvADUAOgA/AEQASQBOAFoAADciLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMTLwE3HwEHJz8BFwc3MxUjNRUzFSM1FTMVIzUVMxUjNQczFSM1BSM1MxEhETMVIxEhsBEdFQ0NFR0RER0VDQ0VHREKEQ0ICA0RCgoRDQgIDREKUA4nCjkSwCASOQon0kBAgICAgICAkKCgAVCQcP5AcJACANANFR0RER0VDQ0VHRERHRUNgAgNEQoKEQ0ICA0RCgoRDQj+/VcNHhNpBgZpEx4NrCAgQCAgQCAgQCAgYCAgICABYP6gIAGgAAAAAAUATf/gAbMB4AAEABIAIQAxAEgAAAEXByc3EyE3PgMzMh4CBxclISc2LgIjIg4CBxcHNyc3Jj4CMxciDgIHFwcXIi4CJzMGHgIzMj4CNzMWDgIjAS0FXwdhhf6bIgEWKDMfHTUmGAEk/r8BGx4BEx0qFhgoHxEBAR5OIREBDhQeEAELEA4HAQERQQsQDgcBIQEEAwcCBAUFAgEfAQkMEgkB4CAQIBD+UNIdNCcWFic0HdIgsRcoHhISHigYAq4uBH4RHRUNIAgMEgoJeZ4IDREKAwYEAwMEBgMKEQ0IAAAABgAg/+AB4AHgAAkADgATACgAPQBJAAAFIREzESERITUhASEVITUVIRUhNTciLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMXIz8BFw8BMy8BNxcB4P5AIAGA/sABYP6QASD+4AEg/uCQDRgRCgoRGA0NGBEKChEYDQcLCQUFCQsHBwsJBQUJCwdjxhUoDBgLegsYDCggAaD+gAHAIP6gICBAICDgChEYDQ0YEQoKERgNDRgRCmAFCQsHBwsJBQUJCwcHCwkF4HAPHgk4NwoeEgAABAAA/+ACAAG4ABsAIQA4AD4AAAUiLgInLgI2NxcOAR4BFx4CNjcXDgMjAyM1IzUzASc+AS4BJy4CBgcnPgEeARceAgYHFyM1MxUzAQAZMS4rEyMmBB4fGRwaBCEfHEVKSyASECEjIxKgIEBgAWYZHBoEIR8cRUpLIBImVVVPICMmBB4fOmAgQCAKExwSI1hcWyYUIk9RTB8cIAgQFRsKDwoFAVBAIP6tFCJPUU0eHCAIEBUbGBMKJCAjWFxbJg1gQAAAAAMAIP/gAeAB4AAqAEwAbQAABSIuAjU0PgI3Fw4DFRQeAjMyPgI1NC4CJzceAxUUDgIjETEiLgInLgM9ATQ+Ajc+AzMyHgIdARQOAiM1Ig4CBw4DHQEUHgIXHgMzMj4CPQE0LgIjAQAuUj0jFCU0IAwcLCARHjRGKChGNB4RICwcDCA0JRQjPVIuBQkJCAMDBgMCAgMGAwMICQkFChENCAgNEQoCAwMCAQECAQEBAQIBAQIDAwIDBgQDAwQGAyAjPVIuI0A2Kg0eCyQuNx4oRjQeHjRGKB43LiQLHg0qNkAjLlI9IwEwAgMGAwMICQkFcAUJCQgDAwYDAggNEQpwChENCLABAQIBAQIDAwJwAgMDAgEBAgEBAwQGA3ADBgQDAAQAg//iAX0B4AAwADYASwBgAAA3LgI2Nz4DMyIyIjIjMh4CFx4BDgEHJz4BLgEnLgMrASIOAgcOAhYXBxcnNxc3FyciLgI3Jj4CMzIeAhcOAyM3Ig4CBx4DMzI+Aic2LgIjgxoZARsYDhwgIRMBAQEBARMhIBwOGBsBGRoWFBYBFBYJGRkdDQENHRkZCRYUARYUFnxdG0NBHV8TJBkQAQEQGSQTFSIbDgEBDhsiFQEOFxIJAQEJEhcODBkQCwEBCxAZDK4aQkVCGg0UDQcHDRQNGkJFQhoWFjY5NhYKEAsGBgsQChY2OTYWFsyWEGpqEFgPGiMUFCMaDw8aIxQUIxoPoAoRGA0NGBEKChEYDQ0YEQoAAAYAAAAQAgABsAAEAAkADwAVACoAPwAAJSERIRElIREhESUnByc3FzcnByc3FyciLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMCAP4AAgD+IAHA/kABJKRUF2u8WUU8F1NbqwoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDEAGg/mAgAWD+oBW0VBZszBpEQRZZXGUIDREKChENCAgNEQoKEQ0IQAMEBgMDBgQDAwQGAwMGBAMAAAAFAED/4AHAAb0ADQAbADIASQBiAAAFIi4CPQEhFRQOAiMDFRQeAjMyPgI9ASEXIi4CPQE0PgIzMh4CHQEUDgIjNSIOAh0BFB4CMzI+Aj0BNC4CIycuAT4BNz4CFh8BBycuAQ4BBw4CFhcHAQAoRjQeAYAeNEYooBksOiEhOiwZ/sCgChENCAgNEQoKEQ0ICA0RCgMGBAMDBAYDAwYEAwMEBgNwDgsFExETLjAuEjEXMA4iJCMODA8DCAoaIB40RihgYChGNB4BAEAhOiwZGSw6IUCwBw0SCiAKEQ0ICA0RCiAKEg0HYAMEBgMgAwYEAwMEBgMgAwYEA4cTKiwpEBMTARESMRYwDgwBDg4NHyAgDRMAAAAIACD/4AHgAeAABAAJAA4AEwAfACQAKQAuAAA3IzUzFSczNSMVNyM1MxUnMzUjFQUhNTMVIREhFSM1IQUjNTMVJzM1IxUlMxEjEYBgYEAgIEBgYEAgIAGg/mAgAWD+oCABoP6gYGBAICABICAgMGBgICAgYGBgICAg8C8PAcAQMLBgYCAgIHD+QAHAAAYAAAADAfsBvQAHAAwAEQAWABsAIAAAJSc3FxEHJzcHFwcnNwcjNTMVJzM1IxUlFwcnNzMXByc3AUDJEpeXEslYEFAQUIhgYEAgIAFbgBaAFmoWgBaAA4IbYwFGYRx/jxwwHDCuwMAggICLgBaAFhaAFoAACAAAABACAAGwAAQACQARABkAIQApADEAOQAAJSERIRElIREhEQEjNTMVMzUzByM1MxUzNTMHIzUzFTM1MxEjNSMVIzUzFyM1IxUjNTMXIzUjFSM1MwIA/gACAP4gAcD+QAGQYCAgIIBgICAggGAgICAgICBggCAgIGCAICAgYBABoP5gIAFg/qABAEAgIEBAICBAQCAg/uAgIEBAICBAQCAgQAALAED/4QHAAd8AFgAvAEgATQBSAFcAXABhAGYAawBwAAAlIi4CNTMUHgIzMj4CNTMUDgIjNyc+Az0BNC4CJzceAx0BFA4CByMuAz0BND4CNxcOAx0BFB4CFwcTMxEjERczFSM1FTMVIzUVMxUjNSczFSM1FTMVIzUVMxUjNRczFSM1AQAoRjQeIBksOiEhOiwZIB40RigSBBEeFwwMFx4RBBgoHRERHSgYJBgoHRERHSgYBBEeFg0NFh4RBAIgIFAgICAgICCgICAgICAgEKCgIB41RigiOiwZGSs6ISdGNB5CIAIRGiASgBEhGREDHwMXIisXgBgrIhcDAxciKxiAFysiFwMfAxEZIRGAEiAaEQIgAT//AAEAICAgUCAgUCAgoCAgUCAgUCAg4CAgAAAAAwAA/+kCAAHAAAsAEAAVAAAXESERITUhESERNxcnIRUhNRUzFSM1AAIA/rABMP5AMxoNAUD+wODgFwHX/rAgARD+p0MU2iAgUCAgAAYAAP/wAgABoAAJAA4AEwAYAB0AKQAAJSM1MzUhFSM1IQczFSM1FTMVIzUFMxUjNRUzFSM1BxEhESM1MzUhFTcXAgCggP8AIAFAoGBgYGD+4MDAgIBAAUDQsP8AExqgIMAQMFAgIEAgIBAgIEAgINABYP8AIMDgGhQAAAAGAAD/8AIAAaAABAAJABMAGAAdACkAAAEzFSM1FTMVIzUHIxEhFSM1IRUzJzMVIzUVMxUjNRMRIREjNTM1IRU3FwEAwMCAgGCgAUAg/wCAYGBgYGCAAUDQsP8AExoBACAgQCAgIAEAMBDAkCAgQCAg/uABYP8AIMDgGhQABAAAABACAAGwAAQACQAOABgAABMhFSE1FSEVITUVIRUhNQUhETMRIREhNSFgAUD+wAFA/sABQP7AAaD+ACABwP4gAgABMCAgQCAgQCAgoAFg/sABYCAAAAQAAAAQAgABsAAEAAkADQARAAAlIREhESUhESERNzUXBzcVNycCAP4AAgD+IAHA/kCgtLQgTEwQAaD+YCABYP6gVrRaWoBMJiYAAAAFAAAAEAIAAbAABAAJAA4AFAAZAAAlIREhESUhESERNxcHJzcXJzcXNxcHFwcnNwIA/gACAP4gAcD+QHIcYBxgbscOubkOWWAcYBwQAaD+YCABYP6g6BCgEKBKZBxcXBwaoBCgEAAAAAkAAAAwAgABkAAUACkAPgBTAGgAfQCFAI0AlQAAEyIuAjU0PgIzMh4CFRQOAiM1Ig4CFRQeAjMyPgI1NC4CIxUiLgI1ND4CMzIeAhUUDgIjNSIOAhUUHgIzMj4CNTQuAiMVIi4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjJSE1ITUhNSEVITUhNSE1IRUhNSE1ITUhMAoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDChENCAgNEQoKEQ0ICA0RCgMGBAMDBAYDAwYEAwMEBgMKEQ0ICA0RCgoRDQgIDREKAwYEAwMEBgMDBgQDAwQGAwHQ/oABYP6gAYD+gAFg/qABgP6AAWD+oAGAATAIDREKChENCAgNEQoKEQ0IQAMEBgMDBgQDAwQGAwMGBAPACA0RCgoRDQgIDREKChENCEADBAYDAwYEAwMEBgMDBgQDwAgNEQoKEQ0ICA0RCgoRDQhAAwQGAwMGBAMDBAYDAwYEA8AgICDgICAg4CAgIAAAAAQADgASAfIBtgAEAAkADwAVAAAlJzcXBycXNycHFyc3FzcXByc3FzcXAQDy8vLyrq6urq6u5w7Z2Q7n5w7Z2Q6ygoKCgoJeXl5e0HIcamocxHIcamocAAAEAAD/4AIAAeAADQAuAEMAWAAAFyM1NxcHFTM1MzcXByM3NTI+AjU0LgIjIg4CFSM0PgIzMh4CFRQOAiM1Ii4CNTQ+AjMyHgIVFA4CIzUiDgIVFB4CMzI+AjU0LgIjkJC0GKxQSVsYZTfQGi8jFBQjLxoaLyMUIBksOiEhOiwZGSw6IQ0YEQoKERgNDRgRCgoRGA0HCwkFBQkLBwcLCQUFCQsHIGbFFrs6QGoUdoAgFCMvGhovIxQUIy8aITosGRksOiEhOiwZYAoRGA0NGBEKChEYDQ0YEQpgBQkLBwcLCQUFCQsHBwsJBQAAAAcAAP/gAgAB4AAHAAwAEgAXAB8AJAApAAAFIREzESERMwUXByc3Fyc3FzcXBxcHJzc3IzUhFSM1IQUzFSM1FTMVIzUCAP4AIAHAIP6SHGAcYG7HDrm5DllgHGAcUiD+wCABgP7AcHDg4CABkP6QAXCIEKAQoEpkHFxcHBqgEKAQSJCQsEAgIEAgIAAABQAAACACAAGgACAAQQBcAHgAhQAAJS4DIzAiMCIxIg4CByc+AzMyMDoBMTIeAhcHByIuAic3HgMzMDIwMjEyPgI3Fw4DIyIwKgExNyIuAjU0PgIzMh4CFRQOAgcOAysBNSIOAhUUHgIzFTcyPgI3PgM1NC4CIwc0PgIzFyIOAhUHAeAEJjxOKwEBLE48JgMgBCtEWTIBAQExWEUsBSDhMVhFLAUgBCY8TisBASxOPCYDIAQrRFkyAQEBARovIhUUIi4bGy4jFQUJDgkJFRYZDQEUIxoPDxsiFAEJExEQBgcLBwMPGiMUQAoRFw0BBwsJBSDuHzUnFxcoNB8EJT8vGxsvPyUEzhsvPyUEHzUnFxcoNB8EJT8vG0AUIi8aGi8jFRQiLxoNGBgVCQkOCgXgEBojFBMjGg8QEAQHCwcHDxISChMjGg9hDhcSCiAFCQwGAQAAAAUAAP/wAgAB0AAJABMAKwA8AEIAAAUhESEVIxEhNTMHLwE3FwcfATcXNyc3PgMzMh4CFx4DFRQOAg8BJxc0NjwBNTQuAicuAiIHATcXBzcXAgD+AAEA4AHAIO4ePboWmh8PmhYXWwwECwsNBgYNCwsEBQcFAgIFBwULKicBAQMDAgMICAgE/rssHhdHChABsCD+kOBpPR65FpoPH5oWFlsLBQcFAgIFBwUECwsNBgYNCwsEDFgnAQICAgEDBgYFAwMEAgH+lIQKRxceAAUAAAAQAgABsAATACgAPQBCAE8AACUjNTMRIycjByMRMxUjETM3MxczASIuAjU0PgIzMh4CFRQOAiMRIg4CFRQeAjMyPgI1NC4CIzczFSM1ByM0PgIzFSIOAhUCAIBgaTCOMGlggHcwsjB3/wAeNCcXFyc0Hh40JxcXJzQeFykeEhIeKRcXKR4SEh4pF6AgINAgDRUdEQoRDQgQIAEQUFD+8CABUFBQ/rAXJzQeHjQnFxcnNB4eNCcXAQASHikXFykeEhIeKRcXKR4SECAggBEdFQ0gCA0RCgAAAAAFAAAADQIAAbAANgBPAGgAbQBzAAAlNTI+AjU0LgIjIg4CBxwDFRwDFSM8AzU8AzU+AzMxMx4DFRQOAiMnIzwDPQI+AzMVIg4CBxwDFQcjIi4CNTQ+AjMVIg4CFRQeAjsBFTczFSM1Fyc3FzcXAVAeNCcXFyY0HhwyKBkCIAMeMD0iAiRALxscMEAkUCACEx8nFg8cFg8BUDAaLyMUFCMvGhQjGg8PGiMUMEAgIBA7FiUlFlAgFyc0Hh40JxcVIy8bAQICAgEBAQIBAQEBAQEBAQMDAwEiOisZARwvQCQkQDAcsAECAQIBAgIUJRwQIAwTGQ8BAwICAbAUIy8aGi8jFCAPGiMUFCMaDyBQgICTNxgjIxgAAAAABgAAACACAAGgABQAKQA2AD4ARgBLAAAlIi4CNTQ+AjMyHgIVFA4CIxEiDgIVFB4CMzI+AjU0LgIjByM0PgIzFSIOAhUHIxEzFSMRMwUjNTMRIzUzJTMVIzUBACRAMBwcMEAkJEAwHBwwQCQeNCcXFyc0Hh40JxcXJzQeUCASHikXER0VDVBgYEBAAaBgQEBg/iBAQCAcMEAkJEAwHBwwQCQkQDAcAUAXJzQeHjQnFxcnNB4eNCcXkBcpHhIgDRUdEbABQCD/ACAgAQAgQCAgAAIAAAAwAgABkAAYAGUAACUjPAM9Aj4DMxUiDgIHHAMVFyMiLgI1ND4CMxUiDgIVFB4COwEyPgI1NC4CIyIOAgccAxUcAxUjPAM1PAM1PgMzMTMeAxUUDgIjAQAgAhMfJxYPHBYPAVDQGi8jFBQjLxoUIxoPDxojFNAeNCcXFyY0HhwyKBkCIAMeMD0iAiRALxscMEAk4AECAQIBAgIUJRwQIAwTGQ8BAwICAbAUIy8aGi8jFCAPGiMUFCMaDxcnNB4eNCcXFSMvGwECAgIBAQECAQEBAQEBAQEDAwMBIjorGQEcL0AkJEAwHAAABQBA/+ABwAHgAA0AGwAyAEkAZAAABSIuAj0BIRUUDgIjAxUUHgIzMj4CPQEhFyIuAj0BND4CMzIeAh0BFA4CIzUiDgIdARQeAjMyPgI9ATQuAiM3IzU0LgIjIg4CHQEjNTQ+AjMyHgIdAQEAKEY0HgGAHjRGKKAZLDohITosGf7AoAoRDQgIDREKChENCAgNEQoDBgQDAwQGAwMGBAMDBAYDgCAPGiMUFCMaDyAUIy8aGi8jFCAeNEYoYGAoRjQeAQBAITosGRksOiFAsAcNEgogChENCAgNEQogChINB2ADBAYDIAMGBAMDBAYDIAMGBAOQRRMhGQ4OGSETRUUZLSITEyItGUUAAwAA/+ACAAHgACAAKgAyAAAXIi4CNTQ+AjMVIg4CFRQeAjMyPgI1MxQOAiMBIREzMh4CHQEnMy4DJxXgLlI9IyM9Ui4oRjQeHjRGKChGNB4gIz1SLgEg/wAQLldDKOC/AyI0QiQgIz1SLi5SPSMgHjRGKChGNB4eNEYoLlI9IwEAAQAoQ1cuECAkQjQiA78ABQCN/+ABcwGxACUAKgAvAEYAUwAAJSc3PgE0JicuASIGBw4BFBYfAgcnLgE0Njc+ATIWFx4BFAYPAQcXByc3FRcHJzcHIi4CNTMUHgIzMj4CNTMUDgIjAyM0PgIzFSIOAhUBTx0pEhMTEhMvMi8TEhMTEgInHSQXFhgXFzs+OxcXGBYXJBEEgASABIAEgD4KEg0HIAIEBgQDBgQDIAgNEQpAIA8aIxQNGBEKiQ5OEy8yLxITExMTEi8yLxMBTQ5IFzs9OhcYFxcYFzo9OxdICSAPHxAwIA8fEHAIDREKAwYEAwMEBgMKEQ0IAWAUIxoPIAoRGA0AAAAFAAD/8AIAAdAABAAJACAAPQBFAAAFITUhFSUhNSEVNyIuAjUzFB4CMzI+AjUzFA4CIzcjNTQuAiMiDgIdASM1MzQ+AjMyHgIVMxUXIzUhFSM1IQIA/gACAP4gAcD+QOAKEQ0IIAMEBgMDBgQDIAgNEQpwQAgNEQoKEQ0IQCANFR0RER0VDSCQIP5AIAIAENDQIJCQYAgNEQoDBgQDAwQGAwoRDQjwIAoRDQgIDREKICARHRUNDRUdESCAQEBgAAANAAAAEAIAAbAABAAJAA4AEwAYAB0AIgAnACwAMQA5AD4AQwAAEyEVITURIRUhNRMzFSM1OwEVIzU7ARUjNRMjNTMVJzM1IxU3MxUjNSUhNSEVJSE1IRUBITUzFSE1MwUzFSM1FTMVIzUQAeD+IAHg/iAwICAwICAwICAggIBgQECAcHABIP4AAgD+IAHA/kAB4P4AIAHAIP7g4ODg4AGwICD+gCAgAVAgICAgICD+4KCgIGBggCAgMICAIEBA/sDw0OBQICBAICAAAAAJAAAAAAIAAcAABAAJAA4AEwAfACQAKQAuADMAABMjNTMVJzM1IxUXIzUzFSczNSMVEyERMxUjESERIzUzITMVIzUHIRUhNRUhFSE1JyEVITXQUFAwEBDgUFAwEBCw/gBgQAHAQGD+8CAgcAEA/wABAP8AcAHg/iABQICAIEBAIICAIEBA/qABkCD+sAFQICAg0CAgQCAgoCAgAAABAAAAAQAAiWp/K18PPPUACwIAAAAAAM+ZDD4AAAAAz5kMPv/9/9wCBAHpAAAACAACAAAAAAAAAAEAAAHg/+AAAAIA//3//AIEAAEAAAAAAAAAAAAAAAAAAADMAAAAAAAAAAAAAAAAAQAAAAIAAAACAAAgAgAAAAIA//8CAAAOAgAAfgIAAAACAAADAgAAAAIAAAACAAAwAgAAKAIAAAACAAAAAgAAAAIAADACAP/9AgAAAAIAAAACAAAAAgAAAAIAAAgCAAAAAgAAAAIAAEACAAAgAgAAIAIAABACAABOAgAAgAIAAFACAAAAAgD//QIAAEgCAAAAAgAALQIAAEACAACAAgAAAAIAAG0CAAAAAgAAAAIAAAACAAAAAgAAAAIAAGACAABAAgAAAAIAAAACAAAAAgAAQAIAAIACAAAAAgAAIAIAAAACAAAAAgAAAAIAAIACAABtAgAAQAIAAAUCAABwAgAAAAIAAAACAABgAgAAAAIAAAACAAAAAgAAcAIAAAACAAAAAgAAUAIAAFACAAAAAgAAAAIAAAACAABQAgAAQAIAAAACAAAgAgAAQgIAAIQCAAAgAgAAAAIAAAACAAAAAgAAIAIAAEACAAAAAgAAAAIAAAACAAAAAgAAAAIAAHACAACgAgAAUAIAAAACAABLAgAANAIAACACAAALAgAAQAIAACoCAAAAAgAAMAIA//8CAAAAAgAAAAIAABACAAAwAgAABQIAAAACAAAcAgAAAgIAACoCAAAAAgAAJQIAAAkCAAAOAgAAAAIAAAACAABQAgAAAAIAACoCAAAAAgAABAIAAAACAAAAAgAAEAIAAAACAAAAAgAAAAIAACACAAAgAgD//gIAAAACAP/+AgAAQAIAAAACAAAgAgAAfwIAAEACAABAAgAAMAIAAAACAAANAgAAAAIAABACAAAAAgAAAAIAAAACAAAAAgAAcAIAAAACAAAAAgD//gIAAC4CAAAAAgAAAAIAAAACAAAJAgAAAAIAAAACAAAFAgAAAAIAAAACAAAAAgAATQIAACACAAAAAgAAIAIAAIMCAAAAAgAAQAIAACACAAAAAgAAAAIAAEACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAADgIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAQAIAAAACAACNAgAAAAIAAAACAAAAAAAAAAAKABQAHgCAARQBVgGaAdwCHAJ6AwwDWAOOA8gEWgTUBVgFjAZCBvIHOAgSCFoIogkgCWgJtgoACoILUAv2DGYMxg0oDXYNuA5YDqoPKA+CD+wQOhCUESYRUhHqEigSnhMKE1ATphQUFLwVChW0FfQWYBaiFwoXPBeYGAAYQhi4GO4ZaBo0Gm4anBsEG8ocIByYHTgd6B5qHwgfOh/6IEQguCD2ISAhjCICIiQimCL+IzIjiiQAJIok/iV0JcYmGiZqJrInaieSKEoo6ClqKdIqWirIKzIroCwMLDgsaC0CLXQt5C5iLxgvOC+cL9IwOjCSMSwx0jJIMpQy7DNuM740GDS6NWw2GjZsNpI21DcSN0I3nDfuOC44ZDkyOZI6ADpaOrY7IjuwPA48ajzMPWo+RD8QP14/zkBGQHJA6kE8QchCgEPSRCREsEVmRnhHAEeUSBRIhEjwSVJJ4kpsSs5LWEueS9hMKkzCTOhNJk1kTZBNtk3qTrBO3E9ST5hQQlCoURZRolIKUoBTBFNMU8hUKFSOVNwAAAABAAAAzAD+ABQAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEAIAAAAAEAAAAAAAIADgCGAAEAAAAAAAMAIAA2AAEAAAAAAAQAIACUAAEAAAAAAAUAFgAgAAEAAAAAAAYAEABWAAEAAAAAAAoAKAC0AAMAAQQJAAEAIAAAAAMAAQQJAAIADgCGAAMAAQQJAAMAIAA2AAMAAQQJAAQAIACUAAMAAQQJAAUAFgAgAAMAAQQJAAYAIABmAAMAAQQJAAoAKAC0AFMAdAByAG8AawBlAC0ARwBhAHAALQBJAGMAbwBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwAFMAdAByAG8AawBlAC0ARwBhAHAALQBJAGMAbwBuAHNTdHJva2UtR2FwLUljb25zAFMAdAByAG8AawBlAC0ARwBhAHAALQBJAGMAbwBuAHMAUgBlAGcAdQBsAGEAcgBTAHQAcgBvAGsAZQAtAEcAYQBwAC0ASQBjAG8AbgBzAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAIP4AAoAAAAAg7AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAfQ4AAH0O2y4JFk9TLzIAAH4EAAAAYAAAAGAIIv19Y21hcAAAfmQAAABMAAAATBpVzR5nYXNwAAB+sAAAAAgAAAAIAAAAEGhlYWQAAH64AAAANgAAADYAUlk+aGhlYQAAfvAAAAAkAAAAJAPkAqlobXR4AAB/FAAAAzAAAAMwkQcUJ21heHAAAIJEAAAABgAAAAYAzFAAbmFtZQAAgkwAAAGKAAABipxmbApwb3N0AACD2AAAACAAAAAgAAMAAAEABAQAAQEBEVN0cm9rZS1HYXAtSWNvbnMAAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHiGf4mPh9BR0AAAYJDx0AAAYOER0AAAAJHQAAfQUSAM0CAAEAEQAhACMAJQAoAC0AMgA3ADwAQQBGAEsAUABVAFoAXwBkAGkAbgBzAHgAfQCCAIcAjACRAJYAmwCgAKUAqgCvALQAuQC+AMMAyADNANIA1wDcAOEA5gDrAPAA9QD6AP8BBAEJAQ4BEwEYAR0BIgEnASwBMQE2ATsBQAFFAUoBTwFUAVkBXgFjAWgBbQFyAXcBfAGBAYYBiwGQAZUBmgGfAaQBqQGuAbMBuAG9AcIBxwHMAdEB1gHbAeAB5QHqAe8B9AH5Af4CAwIIAg0CEgIXAhwCIQImAisCMAI1AjoCPwJEAkkCTgJTAlgCXQJiAmcCbAJxAnYCewKAAoUCigKPApQCmQKeAqMCqAKtArICtwK8AsECxgLLAtAC1QLaAt8C5ALpAu4C8wL4Av0DAgMHAwwDEQMWAxsDIAMlAyoDLwM0AzkDPgNDA0gDTQNSA1cDXANhA2YDawNwA3UDegN/A4QDiQOOA5MDmAOdA6IDpwOsA7EDtgO7A8ADxQPKA88D1APZA94D4wPoA+0D8gP3A/wEAQQGBAsEEFN0cm9rZS1HYXAtSWNvbnNTdHJva2UtR2FwLUljb25zdTB1MXUyMHVFNjAwdUU2MDF1RTYwMnVFNjAzdUU2MDR1RTYwNXVFNjA2dUU2MDd1RTYwOHVFNjA5dUU2MEF1RTYwQnVFNjBDdUU2MER1RTYwRXVFNjBGdUU2MTB1RTYxMXVFNjEydUU2MTN1RTYxNHVFNjE1dUU2MTZ1RTYxN3VFNjE4dUU2MTl1RTYxQXVFNjFCdUU2MUN1RTYxRHVFNjFFdUU2MUZ1RTYyMHVFNjIxdUU2MjJ1RTYyM3VFNjI0dUU2MjV1RTYyNnVFNjI3dUU2Mjh1RTYyOXVFNjJBdUU2MkJ1RTYyQ3VFNjJEdUU2MkV1RTYyRnVFNjMwdUU2MzF1RTYzMnVFNjMzdUU2MzR1RTYzNXVFNjM2dUU2Mzd1RTYzOHVFNjM5dUU2M0F1RTYzQnVFNjNDdUU2M0R1RTYzRXVFNjNGdUU2NDB1RTY0MXVFNjQydUU2NDN1RTY0NHVFNjQ1dUU2NDZ1RTY0N3VFNjQ4dUU2NDl1RTY0QXVFNjRCdUU2NEN1RTY0RHVFNjRFdUU2NEZ1RTY1MHVFNjUxdUU2NTJ1RTY1M3VFNjU0dUU2NTV1RTY1NnVFNjU3dUU2NTh1RTY1OXVFNjVBdUU2NUJ1RTY1Q3VFNjVEdUU2NUV1RTY1RnVFNjYwdUU2NjF1RTY2MnVFNjYzdUU2NjR1RTY2NXVFNjY2dUU2Njd1RTY2OHVFNjY5dUU2NkF1RTY2QnVFNjZDdUU2NkR1RTY2RXVFNjZGdUU2NzB1RTY3MXVFNjcydUU2NzN1RTY3NHVFNjc1dUU2NzZ1RTY3N3VFNjc4dUU2Nzl1RTY3QXVFNjdCdUU2N0N1RTY3RHVFNjdFdUU2N0Z1RTY4MHVFNjgxdUU2ODJ1RTY4M3VFNjg0dUU2ODV1RTY4NnVFNjg3dUU2ODh1RTY4OXVFNjhBdUU2OEJ1RTY4Q3VFNjhEdUU2OEV1RTY4RnVFNjkwdUU2OTF1RTY5MnVFNjkzdUU2OTR1RTY5NXVFNjk2dUU2OTd1RTY5OHVFNjk5dUU2OUF1RTY5QnVFNjlDdUU2OUR1RTY5RXVFNjlGdUU2QTB1RTZBMXVFNkEydUU2QTN1RTZBNHVFNkE1dUU2QTZ1RTZBN3VFNkE4dUU2QTl1RTZBQXVFNkFCdUU2QUN1RTZBRHVFNkFFdUU2QUZ1RTZCMHVFNkIxdUU2QjJ1RTZCM3VFNkI0dUU2QjV1RTZCNnVFNkI3dUU2Qjh1RTZCOXVFNkJBdUU2QkJ1RTZCQ3VFNkJEdUU2QkV1RTZCRnVFNkMwdUU2QzF1RTZDMnVFNkMzdUU2QzR1RTZDNXVFNkM2dUU2QzcAAAIBiQDKAMwCAAEA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tovAi8C2tsCLwIu2YItWi1ZgYFaLCIv3NBVoi25ui2iLaKhurouui6ioi66Lrm6oaIsI+1SrFcuLi2tLi4urBffUixXLi4trS4uLqwWL+zQVy4uLa0uLi6sF+9SLFcuLi2tLi4urBQ74lNsV+2SLi6v3RIuL97T8VIuL+7T3RYuLa/tli4v39PiUiwVL+7QV/BSLi/d0+BSLi/t0Bfv0qxX31IuL9zT71IuL+zQF9yRMFauLi2pri4usBTpKFfdWi4tr+1aLi6sFDvg09/QV+9SLBWiLbqiLrouuqKiuiwj31IsFrouobotoi2hubmiLCPvU6xV5i319i3mLeZl9nYsI99SLBZ2LmZmLnYudfZl5iwj71IsF90T8dBVri4vUZLLMy0vKsbOL1KuLizRycsxLSkukcgUO+CNrFfuyi3r4A6uNmvvl93aLmvflq4kF+/TMFfgUi4tr/BSLi6sF99hrFfuci6L3BPdui6L7BAX7dKsV90yLgrv7OouCWwXn+8QVaItuqIuui66oqK6Lrouobotoi2hubmiLCIvrFXmLfX2LeYt5mX2di52LmZmLnYudfZl5iwgr6xX3VIuLa/tUi4urBYv7dBX3VIuLa/tUi4urBQ6LixX4lIuLa/yUi4urBYv4dBWri4v8lGuLi/iUBfcE/FQVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sF/CTLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBfdE+/QVK4uL93Tri4v7dAVLqxWri4v3NGuLi/s0BfdUaxUri4v39OuLi/v0BUurFauLi/e0a4uL+7QF91RrFSuLi/e064uL+7QFS6sVq4uL93Rri4v7dAUOi4sV+JSLi2v8lIuLqwWL+HQVq4uL/JRri4v4lAX3BPxUFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBfwkyxWri4tra4uLqwWLyxWri4tra4uLqwWLyxWri4tra4uLqwWLyxWri4tra4uLqwWLyxWri4tra4uLqwWL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Ffe0i4v4FPu0i4v8FAW793QV91SLi2v7VIuLqwWLSxX3VIuLa/tUi4urBYtLFfdUi4tr+1SLi6sFi/dUFeuLi2sri4urBfgE/BQV++SLi6v3xIuL+BRsi4uryosFDvck95QV92SLi2v7ZIuLqwWLSxX3ZIuLa/tki4urBYtLFfdki4tr+2SLi6sFi/d0FeuLi2sri4urBffU/BQV/ESLi/hUq4uL/DT4BIuL+FT8JIuLq/hEiwUO95TbFVyLY66DuAj7N4ut95arh237cvcyi4t7BYtoqG6ui66LqKiLrgiLm/cyi233cquPrfuW+zeLBYNeY2hciwj3lCsV/JSLi/ckq4uL+wT4VIuL9wSriwUr6xVri4v3ZPuUi4v7ZGuLi/eE99SLBfuUSxXbi4trO4uLqwWLSxX3VIuLa/tUi4urBYtLFfdUi4tr+1SLi6sFDvg094QV+ySLi/ckq4uL+wT3BIsF0PdfFaF1+1X7VXWh91X3VQX7ifwvFWuLi/cE+wSLi6v3JIsFYXcVoXX7VftVdaH3VfdVBfs690cVa4uL9wT3BIuLazuLBWv7BBWri4sra4uL6wX3JPckFeuLi2sri4urBfgE/JMV+wSLi6vbi4vbq4sFa/cUFauLiytri4vrBftk+2QV64uLayuLi6sFDveU6xVci2Oug7gI+zeLr/ek+FCLr/uk+zeLBYNeY2hciwj7cvcEFfcyi4t7BYtoqG6ui66LqKiLrgiLm/cyi2/3ZPwYi2/7ZAX4cvtkFfyUi4v3JKuLi/sE+FSLi/cEq4sFDvg0axX71IuL+ASri4v75PeUi4v35KuLBfv0yxX4FIuLa/wUi4urBfekaxX7NIuL9wT3NIuL+wQF+xSrFeuLi7sri4tbBXv7BBWri4v7dGuLi/d0BeuLFauLi/t0a4uL93QFDvgEqxX7dIsFO4tLzIvai9rLzNuLCPeEiwXOi8hGi0CLPEtKO4sI+3T3lBVNi1lZi02LTb1ZyYsI93SLBcmLvb2LyYvKWLxeiwj7hIsFe1sVq4uL+xRri4v3FAVbWxX3FIuLa/sUi4urBfdU9zQVa4uLqwWLpaGhpYsIi2sFgouEhIuCCItrBcL7QRWEkoGLhYQIdKIFnp6pi554CHV0BV1eFYKUhpeLmIuYkJeUlAiidAWIiImHi4eLh42HjogIdHQF9yK4FYSSgYuFhAh0ogWenqmLnngIdXQFXV4VgpSGl4uYi5iQl5SUCKJ0BYiIiYeLh4uHjYeOiAh0dAUO95RrFfsQiyfvi/cQi/PS5fCjCJNsBTR2Tj+LMYsh4TX1i/WL4eGL9YvlTtc0oAiTqgXwc9IxiyOL+xAnJ/sQiwh7+JQVq4uLK2uLi+sFa4sV64uLayuLi6sFUfwdFbb3EqmBdUnNoZVtBbW1FW2Voc1JdYGp9xO1BQ73lPd0FV6LaK+Lt4u3rq+4i7eLr2eLX4tfZ2dfiwiL9xQVcIt2dYtxi3GgdaaLpYuhoYuli6V1oXGLCI/7phVsi2yTb5wIm6YFz2PkoLTPCKZ7BWpUUW1Piwh3+CYVq4uLS2uLi8sFW/ugFaqDSvt0bJPM93QF9xKLFcz7dGyDSvd0qpMFDvhUaxX8FIuL+FTLi4tra4uL/BT31IuL+BRqi4urzIsFKksV+1KLi+u9iwWRnp2YoIugi51+kXgIvYuLKwX7MqsV9xKLi6tci4ubBYuUhJKCi4KLhISLggiLe1yLi2sFavs0FfdUi4tr+1SLi6sFi0sV91SLi2v7VIuLqwWLSxX3VIuLa/tUi4urBYv3VBXbi4trO4uLqwUO+FRrFfwUi4v4VMuLi2tri4v8FPfUi4v4FGqLi6vMiwUqSxX7UouL672LBZGenZigi6CLnX6ReAi9i4srBfsyqxX3EouLq1yLi5sFi5SEkoKLgouEhIuCCIt7XIuLawWa+wQVq4uL+3Rri4v3dAXLqxWri4v7lGuLi/eUBctbFauLi/tka4uL92QF+1QrFauLi/sEa4uL9wQFDvc1+HQV91SLi2v7VIuLqwX3mfyUFfvgi4eQBXKjfquLrouumKujowj3APcAi/ctq4uL+zv7CfsIBXl5gXKLcYtzk3WbeQj3xIsFrLGKxmevCPsJ9wiL9zuri4v7LfcA+wAFvVmLOVhZCIeGBfvH1hWJkoqSi5KLnZKbl5cI9wT3BKF0+wT7BAWFhYiDi4KLh4yIjIcIbIEFDveUaxX7IYv7B/cHi/chi/ch9wf3B/chi/chi/cH+weL+yGL+yH7B/sH+yGLCIv4dBX7EIsnJ4v7EIv7EO8n9xCL9xCL7++L9xCL9xAn7/sQiwiL+7QVaItuqIuui66oqK6Lrouobotoi2hubmiLCIvrFXmLfX2LeYt5mX2di52LmZmLnYudfZl5iwh79zQVq4uL+zRri4v3NAWL+3QVq4uL+zRri4v3NAX3IPdHFaJ0+wX7BXSi9wX3BQX7MvsyFaJ0+wX7BXSi9wX3BQUO936rFfs+90P37Pei8Cb7p/vsBfsO90AV9wz7EPd+97pPx/u6+3oF96r3RRWfcftt+z14pfds9z0F+9T8GBVeuJaWBZ6ei6p4nQiAl62tonR+fgWdcYtoeXAIjYkFpp2ui6V5CJiYonRpaX+WBXmebIt4eAiAgAV0uBWidGlpdKKtrQUO+JT3FBX8lIuLq/h0i4uyQ7abp+NWBfx0bhVrk773cPeui7L7RPu4i4ur95CLcvcE+3qLBffH+/QVaItuqIuuCKuLBYt5mX2di52LmZmLnQiriwWLaG5uaIsI+6SLFWiLbqiLrgiriwWLeZl9nYudi5mZi50Iq4sFi2hubmiLCA73hPgkFauLi/vUa4uL99QFq/xEFWuLBYuldaFxiwj7RIuLq/dEiwW3i69ni18Ii4sVa4sFi7evr7eLCPdEi4tr+0SLBXGLdXWLcQhL9wQV+1SLi/gk90SLBbeLr2eLXwhriwWLpXWhcYsI+ySLi/vk9zSLi2sF97SLFftUi4ur9zSLi/fk+ySLBXGLdXWLcQhriwWLt6+vt4sI90SLi/wkBQ73A/gZFasrbIFs66mVBeyLFaorbYFr66qVBTv8GRVWi2C2i8CLwLa2wIvAi7Zgi1aLVmBgVosIi/c0FWiLbm6LaItoqG6ui66LqKiLrouubqhoiwj3tPs0FVaLYLaLwIvAtrbAi8CLtmCLVotWYGBWiwiL9zQVaItubotoi2iobq6LrouoqIuui65uqGiLCCuoFfvUwIv3YviUi4tr/HSLi/sm95Rgi/cxq4sF91T7VBVri4vYb95Hi4sry4uLayuLi/c09xCLr/sBBQ7qqxV3i3iReph2mn2hh6SIpZGkmqCan6GZpY8IkGsFeol8goF9gX2Geo56jnqUfJiBqHezkaCnCKV4BXhybn1tiwj31osVfIt9jn6SdJZ5noOkg6OMpZaiCKh9BYR8inmQe5F7ln6bg5qEnIqckZuQmJeSmpOajJ2Fm4abf5h8kwiZpwWigJx4k3KUc4lxgHSAdHd6c4KBiICJgYsIaveoFbv7RGyDW/dEqpMFuOcVk2xLeoOry5sF+1NLFZBrK3uGq+ubBZb7dBX7TIuLs/ce8vc0y5F8mIH7GftKBfsiqxX3Eovl9xEhYPsCOQX3ivdUFauLi1tri4u7BQ74APdwFW+LbpZ1oXagf6eLqYupl6egoQi4uKJ0Xl4FfHyCd4t1i3aUd5p8qmy+i6qqCLi4onReXgV1dW6AbosI9xHZFWmtgIAFcnJii3Kkf5eEm4uci5ySm5eYCJaWaa2iocRTaWkFhYWHg4uCi4OPg5GFkYWTh5OLCIuLBZSLk4+RkQitrcNSdXQF/D37fhWri4tra4uLqwX3PfdaFctMdHVMyaGiBfst+7oVdot3k3uafJuDn4ugi6CTn5qbCI2M9zb3CJ5x+zX7BwWDgoZ/i3+LfpB/lIKdeaqLnZwI9wf3NKV5+wn7OAV7fHeDdosIDviUmxX8lIuL95Sri4v7dPhUi4v3dKuLBYurFfyUi4v3FPiUi4v7FAX8dKsV+FSLi8v8VIuLSwWruxWri4tra4uLqwW7ixWri4tra4uLqwW7ixWri4tra4uLqwWr+8QV+xSLi/dU9xSLi/tUBSurFcuLi/cUS4uL+xQF9/RrFft0i4v3VPd0i4v7VAX7VKsV9zSLi/cU+zSLi/sUBQ73lNsVPItKzIvai9rMzNqL2ovMSos8izxKSjyLCIv3lBVNi1lZi02LTb1ZyYvJi729i8mLyVm9TYsI7pIVb7T7IotvYnGdr8L3RouvVAVushVri4u7+xSLi1tri4vb91SLBYT8VBX7RotnwqWdp2L3IountKV5BW77CxX7VIuL26uLi1v3FIuLu6uLBXv3NBUri4vrq4uLS8uLBQ731I4V+133E52n9ysqi/fa+ysqeaf3XfcTBTP7IxWbbztbe6fbuwX7HPtCFSuLi/dU64uL+1QFS6sVq4uL9xRri4v7FAX31GsVi6sFrouoqIuui65uqGiLCIurBcCLtmCLVotWYGBWiwiLSxWLqwXSi8TEi9KL0lLERIsIi6sF44vTQ4szizNDQzOLCIv3FBWLywWdi5l9i3mLeX19eYsIDvfUuxX71IuL95T3c4uLa/tTi4v7VPeUi4v3lvtGqZCr92FpBfuU+xIV9zOLi2v7M4uLqwX4VPtYFfsor5Or9wBvi/dM+wBvg6v3KK8FDvdU91QVPItKzIvai9rMzNqL2ovMSos8izxKSjyLCIv3lBVNi1lZi02LTb1ZyYvJi729i8mLyVm9TYsI90T7lBWLqwW3i6+vi7eLt2evX4sIi6sFyYu9WYtNi01ZWU2LCPck+1QVK4uLq8aLf95YmZOq03gFIftBFfwYi5/3O9ajlW1TeX77A/fQi373A1OdlanWcwUO95D3VBU8i0rMi9qL2szM2ovbi8tKizyLPEtKO4sIi/eUFU6LWFmLTYtNvlnIi8mLvb2LyYvJWb1Niwj3avx0Ffw4i573P+Svl21Eb377Cffwi373CUSnl6nkZwUO9+TbFYurBdqLzMyL2ovaS8s8jECKTFKEQ4uIi4iLiYuJi4mLiQhriwWLjYuMi42Lj4uPi46T5NjR5owIi4uNiwXritk8iyuLKjw8KosIO/dEFWuLBYuNi46LjQiLjYuNBZDCvrjEjAiLawViimdsh2SLh4uJi4gIO/tEFVuLBUSLUsSL0ovSxMTSiwiLawVWi2Bgi1aLVrZgwIsIu4uLawXL2xWri4v7FGuLi/cUBcBPFWauZmh1o8bCxlQFDvck94QVcYt1oYuli6WhoaWLpYuhdYtxi3F1dXGLCIvLFYKLhISLgouCkoSUi5SLkpKLlIuUhJKCiwj3BEsVcYt1oYuli6WhoaWLpYuhdYtxi3F1dXGLCIvLFYKLhISLgouCkoSUi5SLkpKLlIuUhJKCiwj3BEsVcYt1oYuli6WhoaWLpYuhdYtxi3F1dXGLCIvLFYKLhISLgouCkoSUi5SLkpKLlIuUhJKCiwj8BPvbFYv4a/iUi4v75PwEi4ur9+SLi/ek/FSLi/vtvs6ldwUOy/gEFYuLi4uLi36Lf5CClAh0os/PonQFlIKQf4t+i36Gf4KCgoJ/hn6LCICwFY6Ij4mPiwiLiwWPi4+Njo6Ojo2Pi4+Lj4mPiI4Ii4t1dQW4ixXwKXV0Ju2hogX3kvuPFeI0dXQz46KhBdf7RhV2i3eTe5oIKuyiouwqBZ54qYuenp6ei6l4nggq7KGi7CkFq2yLWGtsfHx2g3eLCFf3lBWLiwVti2+XdqB2oH+ni6mLqZenoKAIqKmidG5uBXx8gneLdYt2lHeafJp8n4KgiwiLiwWhi5+UmpoIqKiidG1uBXZ2b39tiwj3AckVaa1/gAV/f3uEeosIi4sFeot7kn+Xf5eEm4uci5ySm5eXCJaXaa2iocRTaWkFhYWHg4uCi4OPg5GFkYWTh5OLi4uLi4uLlIuTj5GRCK2sw1N1dAX8Oft6FauLi2tri4urBfc992YVy0x0dEzKoaIF+y37xhV2i3eTe5p8m4Ofi6CLoJOfmpsIjYz3OvcMnnL7OfsMBYOChn+Lf4t+kH+Ugp15qoudnAj3DPc5pHj7Dfs8BXt8d4N2iwgO95R0FfuL94v3cPdvoXX7WPtZ9137XfdZ91ihdQWwthVri4v3ZPtki4ur94SLBfs0+4QVi4sFXotor4u3i7evr7eLuIuuZ4tfi19nZ1+LCIv3FBVxi3V2i3CLcaB1posIi3uLmwWli6Ggi6aLpXahcIsIDveE+DQVq4uLS2uLi8sF9yT7RBXLi4trS4uLqwX71IsVy4uLa0uLi6sFz/cXFbhedHReuKKiBfeNixWhdPsi+x91ovci9x8F+xH8JxX7IYv7B/cHi/chi/ch9wf3B/chi8mLx3W5Ygh2cwVjrlafVYv7EIsnJ4v7EIv7EO8n9xCL9xCL7++L9xCLwXfAaLMIo6AFtF2hT4tNi/sh+wf7B/shiwg67hVwnAWisbSht4u3i7R1omUIcHoFeqdsnGqLaotsenpvCA7b9yQVX4tnr4u3i7evr7eLt4uvZ4tfi19nZ1+LCIv3FBVxi3V1i3GLcaF1pYuli6Ghi6WLpXWhcYsI9/SrFV+LZ6+Lt4u3r6+3i7eLr2eLX4tfZ2dfiwiL9xQVcYt1dYtxi3GhdaWLpYuhoYuli6V1oXGLCIv8VBVfi2evi7eLt6+vt4u3i69ni1+LX2dnX4sIi/cUFXGLdXWLcYtxoXWli6WLoaGLpYuldaFxiwj7C/eCFZlv+xRLfaf3FMsF+wb7NBX3FEt9b/sUy5mnBQ73lPckFYqLBXaLd5N8m3yag5+LoIu3r6+3i6CLn4Oae5t8k3eLdotfZ2dfiwiL9xQVcIt2dotwi36Qf5SClIKXhpiLCIt7i5sFpYuhoIumi5iGl4KUgpR/kH6LCMH7xBUli3fWBXiSeZR6mAhEeFjjvr0FiZaKl4uWi5SLlI2UCFLEvuPZdQWbmJ2Vn5IIjZiqh4dqgYgFdYR3gXp8CISFRZ9xXb5YioIFiYGKgYuCi3+Mf45/CIyCXl+lXcuckoYFm3yfgaCFCJSInUe/i5/Uko4Fm5GZlJiWCJKR0XeluVi+jZQFjZWMlYuUi5OKkoqUCIqTxcRxuT53hZAFfZd8lXuSCISOd9Q7i4ur9IuhOQWZhJiDmIEI36G9M0pLBYyEjIWLhIuCioKJggjEUlgzPaEFgIF+hH6FCHU5BQ73ZMsV+weLLuiL9weL9wfo6PcHi/cHi+gui/sHi/sHLi77B4sIi/gUFSqLPDyLKosq2jzsi+yL2tqL7IvsPNoqiwj3lPx0FX+LfpCClAgy4qGh5TUFkYSVi5GSjo6Nj4uPi4+Jj4iOCDXloaHiMgWUgpB/i36LfoZ/goKCgn6Gf4sI++73ahVZvIvdvb0IoXQFZmWLT7BlCHV1BQ74UvgCFYuLBX6Lf5CClIKUhpeLmIuYkJeUlAiios9HdHQFgoJ/hn6LCIDGFYiIiYeLh4uHjYeOiJGFlYuRkQiLi3WhBXR1FaJ0+zz7O3Wh9zv3PAX7dPt0FaJ0+wz7C3Wh9wv3DAX7APtnFXaLd5N7mnyag6CLoIugk5+amgj3JvcmoXT7JfslBYKChn+Lfot+kH+Ugp54qYuengj3JfclonX7JfsmBXx8d4N1i4uLi4uLiwj3H/fgFfcF+wV1dfsF9wWhoQUO90T3ZBVfi2evi7eLt6+vt4u3i69ni1+LX2dnX4sIi/cUFXGLdXWLcYtxoXWli6WLoaGLpYuldaFxiwjb+5cVfeJkmJWpxHidIgX7VIUVa5Gd9MSelW1kfgX3ZvdAFcuLi2tLi4urBYtLFfcUi4tr+xSLi6sFi0sV9xSLi2v7FIuLqwWLSxX3FIuLa/sUi4urBfskKxX3NIuLa/s0i4urBffkaxX7JIuLq/cEi4v39PxUi4v79PcEi4tr+ySLi/g0+JSLBQ73wfh0FZFrK3uFq+ubBfca/EQV+/qLrvdmBYzZy8vai9qLy0uMPQiu+2YF+9SrFfeui273RQWLyFm9TYtNi1lZi00Ii4lu+0IF2LkVa4+b9xIFi7evr7eLCItrBXGLdXaLcAiLgnv7DQXL+zIVcYt1oYulCKuLBYuCkoSUi5SLkpKLlAiriwWLcXV1cYsIDvh0axX8VIuL+DSri4v8FPgUi4v4VPvUi4ur9/SLBfwE+/QV97SLi2v7tIuLqwWLSxX3tIuLa/u0i4urBfck93QVaItuqIuui66oqK6Lrouobotoi2hubmiLCIvrFXmLfX2LeYt5mX2di52LmZmLnYudfZl5iwju+3QV+1qLoPcEs5qXbXOCgFP3DouAwnOVl6mzeQUO95RrFUmLSaVZvC3phPco4PEIpHcFQTKR+xbdOdVB9wl+4sMInXAFYXBbflyLCPs09+QVa4uLy0uLi6vriwX3+vvnFXKfBdXkhfcWOd1B1fsJmDRTCHmmBfDL9xl84DfpLZL7KDYlCMV+FSuLi+uri4tLy4sFDveUaxX7EIsn74v3EIvnwt3hrQiXbQVBblxFizyLIeE19Yv1i+Hhi/WL2lzRQagIl6kF4WnCOYsvi/sQJyf7EIsIi/fEFYuLBX6Lf5CClIKUhpeLmAiL9wQFi5iQl5SUlJSXkJiLpYuhdYtxCIv7BAWLcXV1cYsIi/dEFYeLh4mIiIiIiYeLhwiL+wQFi4eNh46IjoiPiY+LlIuSkouUCIv3BAWLlISSgosIDvcX90IVR9GL9wbP0K2tt566i4uLi4uLi7qLt3itac9Fi/sFR0UIdKEFw8WL6FPFcKdmmmWLCIuLBWWLZnxwb1NRiy7DUQh0dQX3EftgFS33KqebzSHN9ad7BS3jFVaLYLaLwIvAtrbAi8CLtmCLVotWYGBWiwiL9zQVaItubotoi2iobq6LrouoqIuui65uqGiLCA74lJsV/JSLi/g0+JSLi/w0Bfx0qxX4VIuL9/T8VIuL+/QF97igFfs490g3N3Sh9vcA91D7YAXkpRVGz09KdKHe5OYvBfs/8BVxi3Whi6WLpaGhpYuli6F1i3GLcXV1cYsIi8sVgouEhIuCi4KShJSLlIuSkouUi5SEkoKLCA73lGsVIYs14Yv1CIvr+BSLiysFiyE1NSGLCPs095QVi0sFizPTQ+OL44vT04vjCIvL+9SLBfc0+0QVcYt1oIumCIurBYuloaGli6WLoXWLcQiLawWLcHV2cYsIi+sVgouEhIuCCItrBYuCkoSUi5SLkpKLlAiLqwWLlISSgosI+wT3GxVnvJLQuLe9vdqNu1sIvFp0dVu7BWevUIllZmpphVimZwhxeAUO9xS7FSuLi+vri4srBUurFauLi6tri4trBcvrFSuLi+vri4srBUurFauLi6tri4trBfg0+4QV/DSLi7qri4t89/SLi/hU+/SLi3tri4u7+DSLBfv0+0QVK4uL6+uLiysFS6sVq4uLq2uLi2sF97T3BBWri4v8VGuLi/hUBQ731I4V+133Fp2m9ysoi/fa+ysqeaf3XfcTBTP7IxWbbztbe6fbuwX7HPtCFSuLi/dU64uL+1QFS6sVq4uL9xRri4v7FAX37/cfFfcU+xR1dfsU9xShoQX1ixWhdfsU+xR1ofcU9xQFDviUmxX8lIuL+DT4lIuL/DQF/HSrFfhUi4v39PxUi4v79AX4JPeUFSuLi8uri4trq4uLq6uLBfsUSxUri4vLq4uLa6uLi6uriwX7FEsVK4uLy6uLi2uri4urq4sFi/u0FWuLi6tri4tra4uLy+uLBfcUSxVri4ura4uLa2uLi8vriwX3FEsVa4uLq2uLi2tri4vL64sFDveUqxUhizXhi/YIq4sFizLTQ+OL44vT0ovjCKuLBYsiNTUhiwidzRWHqwW6ka60i7sIi/cUBYu6aLRckgiPqgXKgrpVi0wIi/sUBYtLXFVMgghnixVMlFzBi8sIi/cUBYvKusHKlAiPbAVchGhii1wIi/sUBYtbrmK6hQiHawWN99MVq4uL+5Rri4v3lAXbaxWri4tra4uLqwWLOxWri4tra4uLqwWLOxWri4tra4uLqwX7NPc0FauLi2tri4urBYs7FauLi2tri4urBYs7FauLi2tri4urBZv7dBX3NIuLa/s0i4urBQ6LdBWL+Gv4lIuL++T75IuLq/fEi4v3pPxUi4v77b7OpXcFfvduFffUi4tr+9SLi6sFizsV93SLi2v7dIuLqwUO+JT3NBX7NIuLq/cUi4v3VPuUi4t7a4uLu/fUiwX7NDsV64uLayuLi6sFi0sV64uLayuLi6sF+7R7FfdUi4tr+1SLi6sFi0sV9xSLi2v7FIuLqwVL+2QVi/f099SLi/uU+2SLi6v3RIuL91T7lIuL+3SepaV3BQ73lPeUFfdUi4tr+1SLi6sFi0sV9xSLi2v7FIuLqwUraxX7NIuL95T31IuLW2uLi5v7lIuL+1T3FIsFK/ckFeuLi2sri4urBYtLFeuLi2sri4urBfcU+7QVi/f099SLi/uU+2SLi6v3RIuL91T7lIuL+3SepaV3BQ7r98QV99SLi2v71IuLqwWLSxX31IuLa/vUi4urBYtLFffUi4tr+9SLi6sF+DT7NBX8lIuL9/Sri4v71PhUi4v39Px0i4ur+JSLBQ74lJsV/JSLi/g0+JSLi/w0Bfx0qxX4VIuL9/T8VIuL+/QF9zThFYv3SPdIMftIMQWr9xQViz/XsT+xBQ74lJsV/JSLi/g0+JSLi/w0Bfx0qxX4VIuL9/T8VIuL+/QF9wb3fBWneyv7NG+b6/c0BfcCQRX7W++Zp/dNL/dN55lvBTJxFev7NG97K/c0p5sFDrv3xBVxi3Whi6WLpaGhpYuli6F1i3GLcXV1cYsIi8sVgouEhIuCi4KShJSLlIuSkouUi5SEkoKLCIv7VBVxi3Whi6WLpaGhpYuli6F1i3GLcXV1cYsIi8sVgouEhIuCi4KShJSLlIuSkouUi5SEkoKLCIv7VBVxi3Whi6WLpaGhpYuli6F1i3GLcXV1cYsIi8sVgouEhIuCi4KShJSLlIuSkouUi5SEkoKLCPhk91QV/BSLi6v39IuLq/v0i4ur+BSLBYv7dBX8FIuLq/f0i4ur+/SLi6v4FIsFi/t0FfwUi4ur9/SLi6v79IuLq/gUiwUO95T3RhX7hvcW94b3FveG+xb7hvsWBftC9xYV90It90Lp+0Lp+0ItBfdC+2QV+3v3Bpmn920h9231mW8F+3v7WBX7e/cGmaf3bSH3bfWZbwUO9yRrFfski4vx90j3WaN1+0D7T4tR24uLy9SL5vWjdyb7ClSLBfdk9xQVi6sF0ovExIvSi9JSxESLRItSUotECGuLBYvj09Pji+OL00OLM4szQ0MziwiL6xVoi26oi66Lrqiorouui6hui2iLaG5uaIsIi+sVeYt9fYt5i3mZfZ2LnYuZmYudi519mXmLCA74lGsV/JSLi/gkq4uL/AT4VIuL+ASriwX8AvscFad7K/s0b5vr9zQF9wJBFftb75mn900v903nmW8FMnEV6/s0b3sr9zSnmwXd0xVri4v3JPvUi4v7JGuLi/dE+BSLBfvUSxX3BIuLa/sEi4urBYtLFfd0i4tr+3SLi6sFDvh094IVgN0qy/sHi4qLi4uKi/sIiilLgjoIa48Flu33Atb3GYyMi4yLjIv3F4v3Az+YKQhrhwX7dftiFfsXi/sD137tCKuPBZY57Ev3B4uMi4uLjIv3CIzty5TcCKuHBYAp+wFA+xqKiouKi4qLCIzLFUWLUsSK0YrSxMTSjNKLxFKMRYtpfmtzcnNza31piwiKiwWL93QVVYthX4tWi1e3YL+LCIt7jJsFpIujlZ2enZ2Vo4uli79gtlaLCEsqFYuvp6iuiwiMawV5i318i3oIa4oFDviUexX8lIuL+ET3lIuLa/t0i4v8BPhUi4v3dKuLBfuCIhVtyE6p9073TaF1+y77Lqp8mmz3LvcuoXUFoqEVMOaXlgWXl5uSnIuci5uEl3+Xf5J7i3qLeoR7f38IgH8FYeMVsmQFjI2LjouOi5SIk4WRg5N+joGICPvZ/AAVt/cYqYF0RNKilW0FDviUmxX7FIuLq+uLi/ekIotb2/sii1s7IouL+6Tri4tr+xSLi/fk9wuLu9v3Rou7O/cLiwX7lPvkFTyLSsyL2ovazMzai9qLzEqLPIs8Sko8iwiL95QVTYtZWYtNi029WcmLyYu9vYvJi8lZvU2LCPc0mxWri4tra4uLqwX7ZPsUFWuLBYu3r6+3iwiLawVxi3V1i3EIDvfk2xWLqwXai8zMi9qL2kvLPIxAikxShEOLiIuIi4mLiYuJi4kIa4sFi42LjIuNi4+Lj4uOk+TY0eaMCIuLjYsF64rZPIsriyo8PCqLCDv3RBVriwWLjYuOi40Ii42LjQWQwr64xIwIi2sFYotna4dki4eLiYuICDv7RBVbiwVFi1HEi9KL0sTE0osIi2sFVotgYItWi1a2YMCLCLuLi2sFy9sVq4uL+xRri4v3FAWb+ycVUMKho7BosK6hcwUO95SrFSqLPNqL7Ivs2trsi+yL2jyLKosqPDwqiwiL99QVPItKSos8izzMStqL2ovMzIvai9pKzDyLCDv7JBVriwWLyb29yYsIi2sFX4tnZ4tfCDv7RBUri4v31OuLi2tLi4v7lMuLBfg0axUri4ury4uL95RLi4ur64sF/HTLFcuLi2tLi4urBQ73lPd0FWuLBYuNi46LjQiLjYuNBZDCvrjEjAiLawVii2drh2SLh4uJi4gI2/tEFftkiwVEi1LEi9KL0sTE0osIi2sFVotgYItWi1a2YMCLCPdkiwXai8zMi9qL2kvLPIxAikxShEOLiIuIi4mLiYuJi4kIa4sFi42LjIuNi4+Lj4uOk+TY0eaMCIuLjYsF64rZPIsriyo8PCqLCA73lGsVIYs14Yv1CIvr+BSLiysFiyE1NSGLCPs095QVi0sFizPTQ+OL44vT04vjCIvL+9SLBfc0+0QVcYt1oIumCIurBYuloaGli6WLoXWLcQiLawWLcHV2cYsIi+sVgouEhIuCCItrBYuCkoSUi5SLkpKLlAiLqwWLlISSgosI9xT3JBVri4vQBYu9YLRWi1aLYGKLWQiLRmuLi9AFi8/EwtKL0ovEVItHCItGBQ73dGsV+xCLJ++L9xCL9xDv7/cQiwiLawUhizU1iyGLIeE19Yv1i+Hhi/UIq4sFi/sQJyf7EIsI97T3lBX7lIuL95SbiwX3D4v3CfsJi/sPCIt7Bft0qxX3U4sFguo04iyUCIv7UwUO9+P3HRVumbTZBby9i91avFm9OYtZWVpaizm8WQiNirI+bn1n0wVOyYzvycnJyvGLyUzJTYwnTk0IZ0MFeoIVj2v7FHyHqvcUmwWLWxWPa/sUfIeq9xSbBU37BBVwi3ahi6UIq4sFi4KShJSLk4uTkouUCKuLBYtxdXVxiwhL9/QVa4sFi8C2tsCLCItrBWiLbm6LaAgO+JR7FfyUi4v3ZPiUi4v7ZAX8dKsV+FSLi/ck/FSLi/skBfd06xVxi3Whi6UIq4sFi4KShJSLlIuSkouUCKuLBYtxdXVxiwj3BPeEFUuLi6sFi6V1oXGLcYt1dYtxCItrS4uLq6uLBYu3r6+3i7eLr2eLXwiri4trBfck+xQVa4uLy/xUi4tLa4uL6/iUiwUOm/hEFfh0i4tr/HSLi6sFi/wUFfh0i4tr/HSLi6sFu/fkFauLi2tri4urBbuLFauLi2tri4urBbuLFauLi2tri4urBav7tBX7FIuL9zT3FIuL+zQFK6sVy4uL60uLiysF9xT3FBX3BIuLa/sEi4urBfe0uxX8lIuL9xT4lIuL+xQF/HSrFfhUi4vL/FSLi0sF+HT71BX8lIuL94Sri4v7ZPhUi4v3dKuLBfu0OxX3dIuLa/t0i4urBYtLFfd0i4tr+3SLi6sFDvdk99QVO4uL9xTbi4v7FAVbqxWbi4vLe4uLSwX3dGsVO4uL9xTbi4v7FAVbqxWbi4vLe4uLSwX3RPv0FfyUi4v4JOuLi2tLi4v75PhUi4v35EuLi6vriwX7pIsVq4uLa2uLi6sF+wT7ZBX3lIuLa/uUi4urBYtLFfeUi4tr+5SLi6sF+wT3NBX4dIuLa/x0i4urBQ74lBT4lBWLDAoAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAObHAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAOAAAAAoACAACAAIAAQAg5sf//f//AAAAAAAg5gD//f//AAH/4xoEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAQAAH0B7BV8PPPUACwIAAAAAAM+ZDD4AAAAAz5kMPv/9/9wCBAHpAAAACAACAAAAAAAAAAEAAAHg/+AAAAIA//3//AIEAAEAAAAAAAAAAAAAAAAAAADMAAAAAAAAAAAAAAAAAQAAAAIAAAACAAAgAgAAAAIA//8CAAAOAgAAfgIAAAACAAADAgAAAAIAAAACAAAwAgAAKAIAAAACAAAAAgAAAAIAADACAP/9AgAAAAIAAAACAAAAAgAAAAIAAAgCAAAAAgAAAAIAAEACAAAgAgAAIAIAABACAABOAgAAgAIAAFACAAAAAgD//QIAAEgCAAAAAgAALQIAAEACAACAAgAAAAIAAG0CAAAAAgAAAAIAAAACAAAAAgAAAAIAAGACAABAAgAAAAIAAAACAAAAAgAAQAIAAIACAAAAAgAAIAIAAAACAAAAAgAAAAIAAIACAABtAgAAQAIAAAUCAABwAgAAAAIAAAACAABgAgAAAAIAAAACAAAAAgAAcAIAAAACAAAAAgAAUAIAAFACAAAAAgAAAAIAAAACAABQAgAAQAIAAAACAAAgAgAAQgIAAIQCAAAgAgAAAAIAAAACAAAAAgAAIAIAAEACAAAAAgAAAAIAAAACAAAAAgAAAAIAAHACAACgAgAAUAIAAAACAABLAgAANAIAACACAAALAgAAQAIAACoCAAAAAgAAMAIA//8CAAAAAgAAAAIAABACAAAwAgAABQIAAAACAAAcAgAAAgIAACoCAAAAAgAAJQIAAAkCAAAOAgAAAAIAAAACAABQAgAAAAIAACoCAAAAAgAABAIAAAACAAAAAgAAEAIAAAACAAAAAgAAAAIAACACAAAgAgD//gIAAAACAP/+AgAAQAIAAAACAAAgAgAAfwIAAEACAABAAgAAMAIAAAACAAANAgAAAAIAABACAAAAAgAAAAIAAAACAAAAAgAAcAIAAAACAAAAAgD//gIAAC4CAAAAAgAAAAIAAAACAAAJAgAAAAIAAAACAAAFAgAAAAIAAAACAAAAAgAATQIAACACAAAAAgAAIAIAAIMCAAAAAgAAQAIAACACAAAAAgAAAAIAAEACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAADgIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAQAIAAAACAACNAgAAAAIAAAACAAAAAABQAADMAAAAAAAOAK4AAQAAAAAAAQAgAAAAAQAAAAAAAgAOAIYAAQAAAAAAAwAgADYAAQAAAAAABAAgAJQAAQAAAAAABQAWACAAAQAAAAAABgAQAFYAAQAAAAAACgAoALQAAwABBAkAAQAgAAAAAwABBAkAAgAOAIYAAwABBAkAAwAgADYAAwABBAkABAAgAJQAAwABBAkABQAWACAAAwABBAkABgAgAGYAAwABBAkACgAoALQAUwB0AHIAbwBrAGUALQBHAGEAcAAtAEkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAAUwB0AHIAbwBrAGUALQBHAGEAcAAtAEkAYwBvAG4Ac1N0cm9rZS1HYXAtSWNvbnMAUwB0AHIAbwBrAGUALQBHAGEAcAAtAEkAYwBvAG4AcwBSAGUAZwB1AGwAYQByAFMAdAByAG8AawBlAC0ARwBhAHAALQBJAGMAbwBuAHMARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:400;font-style:normal}.icon{font-family:Stroke-Gap-Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-WorldWide:before{content:"\e600"}.icon-WorldGlobe:before{content:"\e601"}.icon-Underpants:before{content:"\e602"}.icon-Tshirt:before{content:"\e603"}.icon-Trousers:before{content:"\e604"}.icon-Tie:before{content:"\e605"}.icon-TennisBall:before{content:"\e606"}.icon-Telesocpe:before{content:"\e607"}.icon-Stop:before{content:"\e608"}.icon-Starship:before{content:"\e609"}.icon-Starship2:before{content:"\e60a"}.icon-Speaker:before{content:"\e60b"}.icon-Speaker2:before{content:"\e60c"}.icon-Soccer:before{content:"\e60d"}.icon-Snikers:before{content:"\e60e"}.icon-Scisors:before{content:"\e60f"}.icon-Puzzle:before{content:"\e610"}.icon-Printer:before{content:"\e611"}.icon-Pool:before{content:"\e612"}.icon-Podium:before{content:"\e613"}.icon-Play:before{content:"\e614"}.icon-Planet:before{content:"\e615"}.icon-Pause:before{content:"\e616"}.icon-Next:before{content:"\e617"}.icon-MusicNote2:before{content:"\e618"}.icon-MusicNote:before{content:"\e619"}.icon-MusicMixer:before{content:"\e61a"}.icon-Microphone:before{content:"\e61b"}.icon-Medal:before{content:"\e61c"}.icon-ManFigure:before{content:"\e61d"}.icon-Magnet:before{content:"\e61e"}.icon-Like:before{content:"\e61f"}.icon-Hanger:before{content:"\e620"}.icon-Handicap:before{content:"\e621"}.icon-Forward:before{content:"\e622"}.icon-Footbal:before{content:"\e623"}.icon-Flag:before{content:"\e624"}.icon-FemaleFigure:before{content:"\e625"}.icon-Dislike:before{content:"\e626"}.icon-DiamondRing:before{content:"\e627"}.icon-Cup:before{content:"\e628"}.icon-Crown:before{content:"\e629"}.icon-Column:before{content:"\e62a"}.icon-Click:before{content:"\e62b"}.icon-Cassette:before{content:"\e62c"}.icon-Bomb:before{content:"\e62d"}.icon-BatteryLow:before{content:"\e62e"}.icon-BatteryFull:before{content:"\e62f"}.icon-Bascketball:before{content:"\e630"}.icon-Astronaut:before{content:"\e631"}.icon-WineGlass:before{content:"\e632"}.icon-Water:before{content:"\e633"}.icon-Wallet:before{content:"\e634"}.icon-Umbrella:before{content:"\e635"}.icon-TV:before{content:"\e636"}.icon-TeaMug:before{content:"\e637"}.icon-Tablet:before{content:"\e638"}.icon-Soda:before{content:"\e639"}.icon-SodaCan:before{content:"\e63a"}.icon-SimCard:before{content:"\e63b"}.icon-Signal:before{content:"\e63c"}.icon-Shaker:before{content:"\e63d"}.icon-Radio:before{content:"\e63e"}.icon-Pizza:before{content:"\e63f"}.icon-Phone:before{content:"\e640"}.icon-Notebook:before{content:"\e641"}.icon-Mug:before{content:"\e642"}.icon-Mastercard:before{content:"\e643"}.icon-Ipod:before{content:"\e644"}.icon-Info:before{content:"\e645"}.icon-Icecream2:before{content:"\e646"}.icon-Icecream1:before{content:"\e647"}.icon-Hourglass:before{content:"\e648"}.icon-Help:before{content:"\e649"}.icon-Goto:before{content:"\e64a"}.icon-Glasses:before{content:"\e64b"}.icon-Gameboy:before{content:"\e64c"}.icon-ForkandKnife:before{content:"\e64d"}.icon-Export:before{content:"\e64e"}.icon-Exit:before{content:"\e64f"}.icon-Espresso:before{content:"\e650"}.icon-Drop:before{content:"\e651"}.icon-Download:before{content:"\e652"}.icon-Dollars:before{content:"\e653"}.icon-Dollar:before{content:"\e654"}.icon-DesktopMonitor:before{content:"\e655"}.icon-Corkscrew:before{content:"\e656"}.icon-CoffeeToGo:before{content:"\e657"}.icon-Chart:before{content:"\e658"}.icon-ChartUp:before{content:"\e659"}.icon-ChartDown:before{content:"\e65a"}.icon-Calculator:before{content:"\e65b"}.icon-Bread:before{content:"\e65c"}.icon-Bourbon:before{content:"\e65d"}.icon-BottleofWIne:before{content:"\e65e"}.icon-Bag:before{content:"\e65f"}.icon-Arrow:before{content:"\e660"}.icon-Antenna2:before{content:"\e661"}.icon-Antenna1:before{content:"\e662"}.icon-Anchor:before{content:"\e663"}.icon-Wheelbarrow:before{content:"\e664"}.icon-Webcam:before{content:"\e665"}.icon-Unlinked:before{content:"\e666"}.icon-Truck:before{content:"\e667"}.icon-Timer:before{content:"\e668"}.icon-Time:before{content:"\e669"}.icon-StorageBox:before{content:"\e66a"}.icon-Star:before{content:"\e66b"}.icon-ShoppingCart:before{content:"\e66c"}.icon-Shield:before{content:"\e66d"}.icon-Seringe:before{content:"\e66e"}.icon-Pulse:before{content:"\e66f"}.icon-Plaster:before{content:"\e670"}.icon-Plaine:before{content:"\e671"}.icon-Pill:before{content:"\e672"}.icon-PicnicBasket:before{content:"\e673"}.icon-Phone2:before{content:"\e674"}.icon-Pencil:before{content:"\e675"}.icon-Pen:before{content:"\e676"}.icon-PaperClip:before{content:"\e677"}.icon-On-Off:before{content:"\e678"}.icon-Mouse:before{content:"\e679"}.icon-Megaphone:before{content:"\e67a"}.icon-Linked:before{content:"\e67b"}.icon-Keyboard:before{content:"\e67c"}.icon-House:before{content:"\e67d"}.icon-Heart:before{content:"\e67e"}.icon-Headset:before{content:"\e67f"}.icon-FullShoppingCart:before{content:"\e680"}.icon-FullScreen:before{content:"\e681"}.icon-Folder:before{content:"\e682"}.icon-Floppy:before{content:"\e683"}.icon-Files:before{content:"\e684"}.icon-File:before{content:"\e685"}.icon-FileBox:before{content:"\e686"}.icon-ExitFullScreen:before{content:"\e687"}.icon-EmptyBox:before{content:"\e688"}.icon-Delete:before{content:"\e689"}.icon-Controller:before{content:"\e68a"}.icon-Compass:before{content:"\e68b"}.icon-CompassTool:before{content:"\e68c"}.icon-ClipboardText:before{content:"\e68d"}.icon-ClipboardChart:before{content:"\e68e"}.icon-ChemicalGlass:before{content:"\e68f"}.icon-CD:before{content:"\e690"}.icon-Carioca:before{content:"\e691"}.icon-Car:before{content:"\e692"}.icon-Book:before{content:"\e693"}.icon-BigTruck:before{content:"\e694"}.icon-Bicycle:before{content:"\e695"}.icon-Wrench:before{content:"\e696"}.icon-Web:before{content:"\e697"}.icon-Watch:before{content:"\e698"}.icon-Volume:before{content:"\e699"}.icon-Video:before{content:"\e69a"}.icon-Users:before{content:"\e69b"}.icon-User:before{content:"\e69c"}.icon-UploadCLoud:before{content:"\e69d"}.icon-Typing:before{content:"\e69e"}.icon-Tools:before{content:"\e69f"}.icon-Tag:before{content:"\e6a0"}.icon-Speedometter:before{content:"\e6a1"}.icon-Share:before{content:"\e6a2"}.icon-Settings:before{content:"\e6a3"}.icon-Search:before{content:"\e6a4"}.icon-Screwdriver:before{content:"\e6a5"}.icon-Rolodex:before{content:"\e6a6"}.icon-Ringer:before{content:"\e6a7"}.icon-Resume:before{content:"\e6a8"}.icon-Restart:before{content:"\e6a9"}.icon-PowerOff:before{content:"\e6aa"}.icon-Pointer:before{content:"\e6ab"}.icon-Picture:before{content:"\e6ac"}.icon-OpenedLock:before{content:"\e6ad"}.icon-Notes:before{content:"\e6ae"}.icon-Mute:before{content:"\e6af"}.icon-Movie:before{content:"\e6b0"}.icon-Microphone2:before{content:"\e6b1"}.icon-Message:before{content:"\e6b2"}.icon-MessageRight:before{content:"\e6b3"}.icon-MessageLeft:before{content:"\e6b4"}.icon-Menu:before{content:"\e6b5"}.icon-Media:before{content:"\e6b6"}.icon-Mail:before{content:"\e6b7"}.icon-List:before{content:"\e6b8"}.icon-Layers:before{content:"\e6b9"}.icon-Key:before{content:"\e6ba"}.icon-Imbox:before{content:"\e6bb"}.icon-Eye:before{content:"\e6bc"}.icon-Edit:before{content:"\e6bd"}.icon-DSLRCamera:before{content:"\e6be"}.icon-DownloadCloud:before{content:"\e6bf"}.icon-CompactCamera:before{content:"\e6c0"}.icon-Cloud:before{content:"\e6c1"}.icon-ClosedLock:before{content:"\e6c2"}.icon-Chart2:before{content:"\e6c3"}.icon-Bulb:before{content:"\e6c4"}.icon-Briefcase:before{content:"\e6c5"}.icon-Blog:before{content:"\e6c6"}.icon-Agenda:before{content:"\e6c7"} + +/* Elegant Icons */ +@font-face{font-family:ElegantIcons;src:url(../fonts/ElegantIcons.eot);src:url(../fonts/ElegantIcons.eot?#iefix) format('embedded-opentype'),url(../fonts/ElegantIcons.woff) format('woff'),url(../fonts/ElegantIcons.ttf) format('truetype'),url(../fonts/ElegantIcons.svg#ElegantIcons) format('svg');font-weight:400;font-style:normal}[data-icon]:before{font-family:ElegantIcons;content:attr(data-icon);speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.arrow-up-down,.arrow_back,.arrow_carrot-2down,.arrow_carrot-2down_alt2,.arrow_carrot-2dwnn_alt,.arrow_carrot-2left,.arrow_carrot-2left_alt,.arrow_carrot-2left_alt2,.arrow_carrot-2right,.arrow_carrot-2right_alt,.arrow_carrot-2right_alt2,.arrow_carrot-2up,.arrow_carrot-2up_alt,.arrow_carrot-2up_alt2,.arrow_carrot-down,.arrow_carrot-down_alt,.arrow_carrot-down_alt2,.arrow_carrot-left,.arrow_carrot-left_alt,.arrow_carrot-left_alt2,.arrow_carrot-right,.arrow_carrot-right_alt,.arrow_carrot-right_alt2,.arrow_carrot-up,.arrow_carrot-up_alt2,.arrow_carrot_up_alt,.arrow_condense,.arrow_condense_alt,.arrow_down,.arrow_down_alt,.arrow_expand,.arrow_expand_alt,.arrow_expand_alt2,.arrow_expand_alt3,.arrow_left,.arrow_left-down,.arrow_left-down_alt,.arrow_left-right,.arrow_left-right_alt,.arrow_left-up,.arrow_left-up_alt,.arrow_left_alt,.arrow_move,.arrow_right,.arrow_right-down,.arrow_right-down_alt,.arrow_right-up,.arrow_right-up_alt,.arrow_right_alt,.arrow_triangle-down,.arrow_triangle-down_alt,.arrow_triangle-down_alt2,.arrow_triangle-left,.arrow_triangle-left_alt,.arrow_triangle-left_alt2,.arrow_triangle-right,.arrow_triangle-right_alt,.arrow_triangle-right_alt2,.arrow_triangle-up,.arrow_triangle-up_alt,.arrow_triangle-up_alt2,.arrow_up,.arrow_up-down_alt,.arrow_up_alt,.icon_adjust-horiz,.icon_adjust-vert,.icon_archive,.icon_archive_alt,.icon_bag,.icon_bag_alt,.icon_balance,.icon_blocked,.icon_book,.icon_book_alt,.icon_box-checked,.icon_box-empty,.icon_box-selected,.icon_briefcase,.icon_briefcase_alt,.icon_building,.icon_building_alt,.icon_calculator_alt,.icon_calendar,.icon_calulator,.icon_camera,.icon_camera_alt,.icon_cart,.icon_cart_alt,.icon_chat,.icon_chat_alt,.icon_check,.icon_check_alt,.icon_check_alt2,.icon_circle-empty,.icon_circle-slelected,.icon_clipboard,.icon_clock,.icon_clock_alt,.icon_close,.icon_close_alt,.icon_close_alt2,.icon_cloud,.icon_cloud-download,.icon_cloud-download_alt,.icon_cloud-upload,.icon_cloud-upload_alt,.icon_cloud_alt,.icon_cog,.icon_cogs,.icon_comment,.icon_comment_alt,.icon_compass,.icon_compass_alt,.icon_cone,.icon_cone_alt,.icon_contacts,.icon_contacts_alt,.icon_creditcard,.icon_currency,.icon_currency_alt,.icon_cursor,.icon_cursor_alt,.icon_datareport,.icon_datareport_alt,.icon_desktop,.icon_dislike,.icon_dislike_alt,.icon_document,.icon_document_alt,.icon_documents,.icon_documents_alt,.icon_download,.icon_drawer,.icon_drawer_alt,.icon_drive,.icon_drive_alt,.icon_easel,.icon_easel_alt,.icon_error-circle,.icon_error-circle_alt,.icon_error-oct,.icon_error-oct_alt,.icon_error-triangle,.icon_error-triangle_alt,.icon_film,.icon_floppy,.icon_floppy_alt,.icon_flowchart,.icon_flowchart_alt,.icon_folder,.icon_folder-add,.icon_folder-add_alt,.icon_folder-alt,.icon_folder-open,.icon_folder-open_alt,.icon_folder_download,.icon_folder_upload,.icon_genius,.icon_gift,.icon_gift_alt,.icon_globe,.icon_globe-2,.icon_globe_alt,.icon_grid-2x2,.icon_grid-3x3,.icon_group,.icon_headphones,.icon_heart,.icon_heart_alt,.icon_hourglass,.icon_house,.icon_house_alt,.icon_id,.icon_id-2,.icon_id-2_alt,.icon_id_alt,.icon_image,.icon_images,.icon_info,.icon_info_alt,.icon_key,.icon_key_alt,.icon_laptop,.icon_lifesaver,.icon_lightbulb,.icon_lightbulb_alt,.icon_like,.icon_like_alt,.icon_link,.icon_link_alt,.icon_loading,.icon_lock,.icon_lock-open,.icon_lock-open_alt,.icon_lock_alt,.icon_mail,.icon_mail_alt,.icon_map,.icon_map_alt,.icon_menu,.icon_menu-circle_alt,.icon_menu-circle_alt2,.icon_menu-square_alt,.icon_menu-square_alt2,.icon_mic,.icon_mic_alt,.icon_minus-06,.icon_minus-box,.icon_minus_alt,.icon_minus_alt2,.icon_mobile,.icon_mug,.icon_mug_alt,.icon_music,.icon_ol,.icon_paperclip,.icon_pause,.icon_pause_alt,.icon_pause_alt2,.icon_pencil,.icon_pencil-edit,.icon_pencil-edit_alt,.icon_pencil_alt,.icon_pens,.icon_pens_alt,.icon_percent,.icon_percent_alt,.icon_phone,.icon_piechart,.icon_pin,.icon_pin_alt,.icon_plus,.icon_plus-box,.icon_plus_alt,.icon_plus_alt2,.icon_printer,.icon_printer-alt,.icon_profile,.icon_pushpin,.icon_pushpin_alt,.icon_puzzle,.icon_puzzle_alt,.icon_question,.icon_question_alt,.icon_question_alt2,.icon_quotations,.icon_quotations_alt,.icon_quotations_alt2,.icon_refresh,.icon_ribbon,.icon_ribbon_alt,.icon_rook,.icon_search,.icon_search-2,.icon_search_alt,.icon_shield,.icon_shield_alt,.icon_star,.icon_star-half,.icon_star-half_alt,.icon_star_alt,.icon_stop,.icon_stop_alt,.icon_stop_alt2,.icon_table,.icon_tablet,.icon_tag,.icon_tag_alt,.icon_tags,.icon_tags_alt,.icon_target,.icon_tool,.icon_toolbox,.icon_toolbox_alt,.icon_tools,.icon_trash,.icon_trash_alt,.icon_ul,.icon_upload,.icon_vol-mute,.icon_vol-mute_alt,.icon_volume-high,.icon_volume-high_alt,.icon_volume-low,.icon_volume-low_alt,.icon_wallet,.icon_wallet_alt,.icon_zoom-in,.icon_zoom-in_alt,.icon_zoom-out,.icon_zoom-out_alt,.social_blogger,.social_blogger_circle,.social_blogger_square,.social_delicious,.social_delicious_circle,.social_delicious_square,.social_deviantart,.social_deviantart_circle,.social_deviantart_square,.social_dribbble,.social_dribbble_circle,.social_dribbble_square,.social_facebook,.social_facebook_circle,.social_facebook_square,.social_flickr,.social_flickr_circle,.social_flickr_square,.social_googledrive,.social_googledrive_alt2,.social_googledrive_square,.social_googleplus,.social_googleplus_circle,.social_googleplus_square,.social_instagram,.social_instagram_circle,.social_instagram_square,.social_linkedin,.social_linkedin_circle,.social_linkedin_square,.social_myspace,.social_myspace_circle,.social_myspace_square,.social_picassa,.social_picassa_circle,.social_picassa_square,.social_pinterest,.social_pinterest_circle,.social_pinterest_square,.social_rss,.social_rss_circle,.social_rss_square,.social_share,.social_share_circle,.social_share_square,.social_skype,.social_skype_circle,.social_skype_square,.social_spotify,.social_spotify_circle,.social_spotify_square,.social_stumbleupon_circle,.social_stumbleupon_square,.social_tumbleupon,.social_tumblr,.social_tumblr_circle,.social_tumblr_square,.social_twitter,.social_twitter_circle,.social_twitter_square,.social_vimeo,.social_vimeo_circle,.social_vimeo_square,.social_wordpress,.social_wordpress_circle,.social_wordpress_square,.social_youtube,.social_youtube_circle,.social_youtube_square{font-family:ElegantIcons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.arrow_up:before{content:"\21"}.arrow_down:before{content:"\22"}.arrow_left:before{content:"\23"}.arrow_right:before{content:"\24"}.arrow_left-up:before{content:"\25"}.arrow_right-up:before{content:"\26"}.arrow_right-down:before{content:"\27"}.arrow_left-down:before{content:"\28"}.arrow-up-down:before{content:"\29"}.arrow_up-down_alt:before{content:"\2a"}.arrow_left-right_alt:before{content:"\2b"}.arrow_left-right:before{content:"\2c"}.arrow_expand_alt2:before{content:"\2d"}.arrow_expand_alt:before{content:"\2e"}.arrow_condense:before{content:"\2f"}.arrow_expand:before{content:"\30"}.arrow_move:before{content:"\31"}.arrow_carrot-up:before{content:"\32"}.arrow_carrot-down:before{content:"\33"}.arrow_carrot-left:before{content:"\34"}.arrow_carrot-right:before{content:"\35"}.arrow_carrot-2up:before{content:"\36"}.arrow_carrot-2down:before{content:"\37"}.arrow_carrot-2left:before{content:"\38"}.arrow_carrot-2right:before{content:"\39"}.arrow_carrot-up_alt2:before{content:"\3a"}.arrow_carrot-down_alt2:before{content:"\3b"}.arrow_carrot-left_alt2:before{content:"\3c"}.arrow_carrot-right_alt2:before{content:"\3d"}.arrow_carrot-2up_alt2:before{content:"\3e"}.arrow_carrot-2down_alt2:before{content:"\3f"}.arrow_carrot-2left_alt2:before{content:"\40"}.arrow_carrot-2right_alt2:before{content:"\41"}.arrow_triangle-up:before{content:"\42"}.arrow_triangle-down:before{content:"\43"}.arrow_triangle-left:before{content:"\44"}.arrow_triangle-right:before{content:"\45"}.arrow_triangle-up_alt2:before{content:"\46"}.arrow_triangle-down_alt2:before{content:"\47"}.arrow_triangle-left_alt2:before{content:"\48"}.arrow_triangle-right_alt2:before{content:"\49"}.arrow_back:before{content:"\4a"}.icon_minus-06:before{content:"\4b"}.icon_plus:before{content:"\4c"}.icon_close:before{content:"\4d"}.icon_check:before{content:"\4e"}.icon_minus_alt2:before{content:"\4f"}.icon_plus_alt2:before{content:"\50"}.icon_close_alt2:before{content:"\51"}.icon_check_alt2:before{content:"\52"}.icon_zoom-out_alt:before{content:"\53"}.icon_zoom-in_alt:before{content:"\54"}.icon_search:before{content:"\55"}.icon_box-empty:before{content:"\56"}.icon_box-selected:before{content:"\57"}.icon_minus-box:before{content:"\58"}.icon_plus-box:before{content:"\59"}.icon_box-checked:before{content:"\5a"}.icon_circle-empty:before{content:"\5b"}.icon_circle-slelected:before{content:"\5c"}.icon_stop_alt2:before{content:"\5d"}.icon_stop:before{content:"\5e"}.icon_pause_alt2:before{content:"\5f"}.icon_pause:before{content:"\60"}.icon_menu:before{content:"\61"}.icon_menu-square_alt2:before{content:"\62"}.icon_menu-circle_alt2:before{content:"\63"}.icon_ul:before{content:"\64"}.icon_ol:before{content:"\65"}.icon_adjust-horiz:before{content:"\66"}.icon_adjust-vert:before{content:"\67"}.icon_document_alt:before{content:"\68"}.icon_documents_alt:before{content:"\69"}.icon_pencil:before{content:"\6a"}.icon_pencil-edit_alt:before{content:"\6b"}.icon_pencil-edit:before{content:"\6c"}.icon_folder-alt:before{content:"\6d"}.icon_folder-open_alt:before{content:"\6e"}.icon_folder-add_alt:before{content:"\6f"}.icon_info_alt:before{content:"\70"}.icon_error-oct_alt:before{content:"\71"}.icon_error-circle_alt:before{content:"\72"}.icon_error-triangle_alt:before{content:"\73"}.icon_question_alt2:before{content:"\74"}.icon_question:before{content:"\75"}.icon_comment_alt:before{content:"\76"}.icon_chat_alt:before{content:"\77"}.icon_vol-mute_alt:before{content:"\78"}.icon_volume-low_alt:before{content:"\79"}.icon_volume-high_alt:before{content:"\7a"}.icon_quotations:before{content:"\7b"}.icon_quotations_alt2:before{content:"\7c"}.icon_clock_alt:before{content:"\7d"}.icon_lock_alt:before{content:"\7e"}.icon_lock-open_alt:before{content:"\e000"}.icon_key_alt:before{content:"\e001"}.icon_cloud_alt:before{content:"\e002"}.icon_cloud-upload_alt:before{content:"\e003"}.icon_cloud-download_alt:before{content:"\e004"}.icon_image:before{content:"\e005"}.icon_images:before{content:"\e006"}.icon_lightbulb_alt:before{content:"\e007"}.icon_gift_alt:before{content:"\e008"}.icon_house_alt:before{content:"\e009"}.icon_genius:before{content:"\e00a"}.icon_mobile:before{content:"\e00b"}.icon_tablet:before{content:"\e00c"}.icon_laptop:before{content:"\e00d"}.icon_desktop:before{content:"\e00e"}.icon_camera_alt:before{content:"\e00f"}.icon_mail_alt:before{content:"\e010"}.icon_cone_alt:before{content:"\e011"}.icon_ribbon_alt:before{content:"\e012"}.icon_bag_alt:before{content:"\e013"}.icon_creditcard:before{content:"\e014"}.icon_cart_alt:before{content:"\e015"}.icon_paperclip:before{content:"\e016"}.icon_tag_alt:before{content:"\e017"}.icon_tags_alt:before{content:"\e018"}.icon_trash_alt:before{content:"\e019"}.icon_cursor_alt:before{content:"\e01a"}.icon_mic_alt:before{content:"\e01b"}.icon_compass_alt:before{content:"\e01c"}.icon_pin_alt:before{content:"\e01d"}.icon_pushpin_alt:before{content:"\e01e"}.icon_map_alt:before{content:"\e01f"}.icon_drawer_alt:before{content:"\e020"}.icon_toolbox_alt:before{content:"\e021"}.icon_book_alt:before{content:"\e022"}.icon_calendar:before{content:"\e023"}.icon_film:before{content:"\e024"}.icon_table:before{content:"\e025"}.icon_contacts_alt:before{content:"\e026"}.icon_headphones:before{content:"\e027"}.icon_lifesaver:before{content:"\e028"}.icon_piechart:before{content:"\e029"}.icon_refresh:before{content:"\e02a"}.icon_link_alt:before{content:"\e02b"}.icon_link:before{content:"\e02c"}.icon_loading:before{content:"\e02d"}.icon_blocked:before{content:"\e02e"}.icon_archive_alt:before{content:"\e02f"}.icon_heart_alt:before{content:"\e030"}.icon_star_alt:before{content:"\e031"}.icon_star-half_alt:before{content:"\e032"}.icon_star:before{content:"\e033"}.icon_star-half:before{content:"\e034"}.icon_tools:before{content:"\e035"}.icon_tool:before{content:"\e036"}.icon_cog:before{content:"\e037"}.icon_cogs:before{content:"\e038"}.arrow_up_alt:before{content:"\e039"}.arrow_down_alt:before{content:"\e03a"}.arrow_left_alt:before{content:"\e03b"}.arrow_right_alt:before{content:"\e03c"}.arrow_left-up_alt:before{content:"\e03d"}.arrow_right-up_alt:before{content:"\e03e"}.arrow_right-down_alt:before{content:"\e03f"}.arrow_left-down_alt:before{content:"\e040"}.arrow_condense_alt:before{content:"\e041"}.arrow_expand_alt3:before{content:"\e042"}.arrow_carrot_up_alt:before{content:"\e043"}.arrow_carrot-down_alt:before{content:"\e044"}.arrow_carrot-left_alt:before{content:"\e045"}.arrow_carrot-right_alt:before{content:"\e046"}.arrow_carrot-2up_alt:before{content:"\e047"}.arrow_carrot-2dwnn_alt:before{content:"\e048"}.arrow_carrot-2left_alt:before{content:"\e049"}.arrow_carrot-2right_alt:before{content:"\e04a"}.arrow_triangle-up_alt:before{content:"\e04b"}.arrow_triangle-down_alt:before{content:"\e04c"}.arrow_triangle-left_alt:before{content:"\e04d"}.arrow_triangle-right_alt:before{content:"\e04e"}.icon_minus_alt:before{content:"\e04f"}.icon_plus_alt:before{content:"\e050"}.icon_close_alt:before{content:"\e051"}.icon_check_alt:before{content:"\e052"}.icon_zoom-out:before{content:"\e053"}.icon_zoom-in:before{content:"\e054"}.icon_stop_alt:before{content:"\e055"}.icon_menu-square_alt:before{content:"\e056"}.icon_menu-circle_alt:before{content:"\e057"}.icon_document:before{content:"\e058"}.icon_documents:before{content:"\e059"}.icon_pencil_alt:before{content:"\e05a"}.icon_folder:before{content:"\e05b"}.icon_folder-open:before{content:"\e05c"}.icon_folder-add:before{content:"\e05d"}.icon_folder_upload:before{content:"\e05e"}.icon_folder_download:before{content:"\e05f"}.icon_info:before{content:"\e060"}.icon_error-circle:before{content:"\e061"}.icon_error-oct:before{content:"\e062"}.icon_error-triangle:before{content:"\e063"}.icon_question_alt:before{content:"\e064"}.icon_comment:before{content:"\e065"}.icon_chat:before{content:"\e066"}.icon_vol-mute:before{content:"\e067"}.icon_volume-low:before{content:"\e068"}.icon_volume-high:before{content:"\e069"}.icon_quotations_alt:before{content:"\e06a"}.icon_clock:before{content:"\e06b"}.icon_lock:before{content:"\e06c"}.icon_lock-open:before{content:"\e06d"}.icon_key:before{content:"\e06e"}.icon_cloud:before{content:"\e06f"}.icon_cloud-upload:before{content:"\e070"}.icon_cloud-download:before{content:"\e071"}.icon_lightbulb:before{content:"\e072"}.icon_gift:before{content:"\e073"}.icon_house:before{content:"\e074"}.icon_camera:before{content:"\e075"}.icon_mail:before{content:"\e076"}.icon_cone:before{content:"\e077"}.icon_ribbon:before{content:"\e078"}.icon_bag:before{content:"\e079"}.icon_cart:before{content:"\e07a"}.icon_tag:before{content:"\e07b"}.icon_tags:before{content:"\e07c"}.icon_trash:before{content:"\e07d"}.icon_cursor:before{content:"\e07e"}.icon_mic:before{content:"\e07f"}.icon_compass:before{content:"\e080"}.icon_pin:before{content:"\e081"}.icon_pushpin:before{content:"\e082"}.icon_map:before{content:"\e083"}.icon_drawer:before{content:"\e084"}.icon_toolbox:before{content:"\e085"}.icon_book:before{content:"\e086"}.icon_contacts:before{content:"\e087"}.icon_archive:before{content:"\e088"}.icon_heart:before{content:"\e089"}.icon_profile:before{content:"\e08a"}.icon_group:before{content:"\e08b"}.icon_grid-2x2:before{content:"\e08c"}.icon_grid-3x3:before{content:"\e08d"}.icon_music:before{content:"\e08e"}.icon_pause_alt:before{content:"\e08f"}.icon_phone:before{content:"\e090"}.icon_upload:before{content:"\e091"}.icon_download:before{content:"\e092"}.social_facebook:before{content:"\e093"}.social_twitter:before{content:"\e094"}.social_pinterest:before{content:"\e095"}.social_googleplus:before{content:"\e096"}.social_tumblr:before{content:"\e097"}.social_tumbleupon:before{content:"\e098"}.social_wordpress:before{content:"\e099"}.social_instagram:before{content:"\e09a"}.social_dribbble:before{content:"\e09b"}.social_vimeo:before{content:"\e09c"}.social_linkedin:before{content:"\e09d"}.social_rss:before{content:"\e09e"}.social_deviantart:before{content:"\e09f"}.social_share:before{content:"\e0a0"}.social_myspace:before{content:"\e0a1"}.social_skype:before{content:"\e0a2"}.social_youtube:before{content:"\e0a3"}.social_picassa:before{content:"\e0a4"}.social_googledrive:before{content:"\e0a5"}.social_flickr:before{content:"\e0a6"}.social_blogger:before{content:"\e0a7"}.social_spotify:before{content:"\e0a8"}.social_delicious:before{content:"\e0a9"}.social_facebook_circle:before{content:"\e0aa"}.social_twitter_circle:before{content:"\e0ab"}.social_pinterest_circle:before{content:"\e0ac"}.social_googleplus_circle:before{content:"\e0ad"}.social_tumblr_circle:before{content:"\e0ae"}.social_stumbleupon_circle:before{content:"\e0af"}.social_wordpress_circle:before{content:"\e0b0"}.social_instagram_circle:before{content:"\e0b1"}.social_dribbble_circle:before{content:"\e0b2"}.social_vimeo_circle:before{content:"\e0b3"}.social_linkedin_circle:before{content:"\e0b4"}.social_rss_circle:before{content:"\e0b5"}.social_deviantart_circle:before{content:"\e0b6"}.social_share_circle:before{content:"\e0b7"}.social_myspace_circle:before{content:"\e0b8"}.social_skype_circle:before{content:"\e0b9"}.social_youtube_circle:before{content:"\e0ba"}.social_picassa_circle:before{content:"\e0bb"}.social_googledrive_alt2:before{content:"\e0bc"}.social_flickr_circle:before{content:"\e0bd"}.social_blogger_circle:before{content:"\e0be"}.social_spotify_circle:before{content:"\e0bf"}.social_delicious_circle:before{content:"\e0c0"}.social_facebook_square:before{content:"\e0c1"}.social_twitter_square:before{content:"\e0c2"}.social_pinterest_square:before{content:"\e0c3"}.social_googleplus_square:before{content:"\e0c4"}.social_tumblr_square:before{content:"\e0c5"}.social_stumbleupon_square:before{content:"\e0c6"}.social_wordpress_square:before{content:"\e0c7"}.social_instagram_square:before{content:"\e0c8"}.social_dribbble_square:before{content:"\e0c9"}.social_vimeo_square:before{content:"\e0ca"}.social_linkedin_square:before{content:"\e0cb"}.social_rss_square:before{content:"\e0cc"}.social_deviantart_square:before{content:"\e0cd"}.social_share_square:before{content:"\e0ce"}.social_myspace_square:before{content:"\e0cf"}.social_skype_square:before{content:"\e0d0"}.social_youtube_square:before{content:"\e0d1"}.social_picassa_square:before{content:"\e0d2"}.social_googledrive_square:before{content:"\e0d3"}.social_flickr_square:before{content:"\e0d4"}.social_blogger_square:before{content:"\e0d5"}.social_spotify_square:before{content:"\e0d6"}.social_delicious_square:before{content:"\e0d7"}.icon_printer:before{content:"\e103"}.icon_calulator:before{content:"\e0ee"}.icon_building:before{content:"\e0ef"}.icon_floppy:before{content:"\e0e8"}.icon_drive:before{content:"\e0ea"}.icon_search-2:before{content:"\e101"}.icon_id:before{content:"\e107"}.icon_id-2:before{content:"\e108"}.icon_puzzle:before{content:"\e102"}.icon_like:before{content:"\e106"}.icon_dislike:before{content:"\e0eb"}.icon_mug:before{content:"\e105"}.icon_currency:before{content:"\e0ed"}.icon_wallet:before{content:"\e100"}.icon_pens:before{content:"\e104"}.icon_easel:before{content:"\e0e9"}.icon_flowchart:before{content:"\e109"}.icon_datareport:before{content:"\e0ec"}.icon_briefcase:before{content:"\e0fe"}.icon_shield:before{content:"\e0f6"}.icon_percent:before{content:"\e0fb"}.icon_globe:before{content:"\e0e2"}.icon_globe-2:before{content:"\e0e3"}.icon_target:before{content:"\e0f5"}.icon_hourglass:before{content:"\e0e1"}.icon_balance:before{content:"\e0ff"}.icon_rook:before{content:"\e0f8"}.icon_printer-alt:before{content:"\e0fa"}.icon_calculator_alt:before{content:"\e0e7"}.icon_building_alt:before{content:"\e0fd"}.icon_floppy_alt:before{content:"\e0e4"}.icon_drive_alt:before{content:"\e0e5"}.icon_search_alt:before{content:"\e0f7"}.icon_id_alt:before{content:"\e0e0"}.icon_id-2_alt:before{content:"\e0fc"}.icon_puzzle_alt:before{content:"\e0f9"}.icon_like_alt:before{content:"\e0dd"}.icon_dislike_alt:before{content:"\e0f1"}.icon_mug_alt:before{content:"\e0dc"}.icon_currency_alt:before{content:"\e0f3"}.icon_wallet_alt:before{content:"\e0d8"}.icon_pens_alt:before{content:"\e0db"}.icon_easel_alt:before{content:"\e0f0"}.icon_flowchart_alt:before{content:"\e0df"}.icon_datareport_alt:before{content:"\e0f2"}.icon_briefcase_alt:before{content:"\e0f4"}.icon_shield_alt:before{content:"\e0d9"}.icon_percent_alt:before{content:"\e0da"}.icon_globe_alt:before{content:"\e0de"}.icon_clipboard:before{content:"\e0e6"}.glyph{float:left;text-align:center;padding:.75em;margin:.4em 1.5em .75em 0;width:6em;text-shadow:none}.glyph_big{font-size:128px;color:#59c5dc;float:left;margin-right:20px}.glyph div{padding-bottom:10px}.glyph input{font-family:consolas,monospace;font-size:12px;width:100%;text-align:center;border:0;box-shadow:0 0 0 1px #ccc;padding:.2em;-moz-border-radius:5px;-webkit-border-radius:5px}.centered{margin-left:auto;margin-right:auto}.glyph .fs1{font-size:2em} diff --git a/server/www/static/www/css/googleapi.css b/server/www/static/www/css/googleapi.css new file mode 100644 index 0000000..49c6a2f --- /dev/null +++ b/server/www/static/www/css/googleapi.css @@ -0,0 +1,112 @@ +/* latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: local('Montserrat-Regular'), url(http://fonts.gstatic.com/s/montserrat/v7/zhcz-_WihjSQC0oHJ9TCYAzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 700; + src: local('Montserrat-Bold'), url(http://fonts.gstatic.com/s/montserrat/v7/IQHow_FEYlDC4Gzy_m8fcmaVI6zN22yiurzcBKxPjFE.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 400; + src: local('PT Serif'), local('PTSerif-Regular'), url(http://fonts.gstatic.com/s/ptserif/v8/5hX15RUpPERmeybVlLQEWBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 400; + src: local('PT Serif'), local('PTSerif-Regular'), url(http://fonts.gstatic.com/s/ptserif/v8/fU0HAfLiPHGlZhZpY6M7dBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin-ext */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 400; + src: local('PT Serif'), local('PTSerif-Regular'), url(http://fonts.gstatic.com/s/ptserif/v8/CPRt--GVMETgA6YEaoGitxkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 400; + src: local('PT Serif'), local('PTSerif-Regular'), url(http://fonts.gstatic.com/s/ptserif/v8/I-OtoJZa3TeyH6D9oli3iXYhjbSpvc47ee6xR_80Hnw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 700; + src: local('PT Serif Bold'), local('PTSerif-Bold'), url(http://fonts.gstatic.com/s/ptserif/v8/QABk9IxT-LFTJ_dQzv7xpPZraR2Tg8w2lzm7kLNL0-w.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 700; + src: local('PT Serif Bold'), local('PTSerif-Bold'), url(http://fonts.gstatic.com/s/ptserif/v8/QABk9IxT-LFTJ_dQzv7xpF4sYYdJg5dU2qzJEVSuta0.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin-ext */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 700; + src: local('PT Serif Bold'), local('PTSerif-Bold'), url(http://fonts.gstatic.com/s/ptserif/v8/QABk9IxT-LFTJ_dQzv7xpKE8kM4xWR1_1bYURRojRGc.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'PT Serif'; + font-style: normal; + font-weight: 700; + src: local('PT Serif Bold'), local('PTSerif-Bold'), url(http://fonts.gstatic.com/s/ptserif/v8/QABk9IxT-LFTJ_dQzv7xpIgp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'PT Serif'; + font-style: italic; + font-weight: 400; + src: local('PT Serif Italic'), local('PTSerif-Italic'), url(http://fonts.gstatic.com/s/ptserif/v8/O_WhD9hODL16N4KLHLX7xQsYbbCjybiHxArTLjt7FRU.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'PT Serif'; + font-style: italic; + font-weight: 400; + src: local('PT Serif Italic'), local('PTSerif-Italic'), url(http://fonts.gstatic.com/s/ptserif/v8/3Nwg9VzlwLXPq3fNKwVRMAsYbbCjybiHxArTLjt7FRU.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin-ext */ +@font-face { + font-family: 'PT Serif'; + font-style: italic; + font-weight: 400; + src: local('PT Serif Italic'), local('PTSerif-Italic'), url(http://fonts.gstatic.com/s/ptserif/v8/b31S45a_TNgaBApZhTgE6AsYbbCjybiHxArTLjt7FRU.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'PT Serif'; + font-style: italic; + font-weight: 400; + src: local('PT Serif Italic'), local('PTSerif-Italic'), url(http://fonts.gstatic.com/s/ptserif/v8/03aPdn7fFF3H6ngCgAlQzAzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} diff --git a/server/www/static/www/css/magnific-popup.css b/server/www/static/www/css/magnific-popup.css new file mode 100644 index 0000000..8c4e011 --- /dev/null +++ b/server/www/static/www/css/magnific-popup.css @@ -0,0 +1,391 @@ +/* Magnific Popup CSS */ +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1250; + overflow: hidden; + position: fixed; + background: #0b0b0b; + opacity: 0.8; + filter: alpha(opacity=80); } + +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1251; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden; } + +.mfp-container { + text-align: center; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + padding: 0 8px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.mfp-container:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; } + +.mfp-align-top .mfp-container:before { + display: none; } + +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: 1045; } + +.mfp-inline-holder .mfp-content, +.mfp-ajax-holder .mfp-content { + width: 100%; + cursor: auto; } + +.mfp-ajax-cur { + cursor: progress; } + +.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; } + +.mfp-zoom { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; } + +.mfp-auto-cursor .mfp-content { + cursor: auto; } + +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } + +.mfp-loading.mfp-figure { + display: none; } + +.mfp-hide { + display: none !important; } + +.mfp-preloader { + color: #CCC; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: 1044; } + .mfp-preloader a { + color: #CCC; } + .mfp-preloader a:hover { + color: #FFF; } + +.mfp-s-ready .mfp-preloader { + display: none; } + +.mfp-s-error .mfp-content { + display: none; } + +button.mfp-close, +button.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + outline: none; + padding: 0; + z-index: 1046; + -webkit-box-shadow: none; + box-shadow: none; } + +button::-moz-focus-inner { + padding: 0; + border: 0; } + +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: 0.65; + filter: alpha(opacity=65); + padding: 0 0 18px 10px; + color: #FFF; + font-style: normal; + font-size: 28px; + font-family: Arial, Baskerville, monospace; } + .mfp-close:hover, + .mfp-close:focus { + opacity: 1; + filter: alpha(opacity=100); } + .mfp-close:active { + top: 1px; } + +.mfp-close-btn-in .mfp-close { + color: #333; } + +.mfp-image-holder .mfp-close, +.mfp-iframe-holder .mfp-close { + color: #FFF; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100%; } + +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: #CCC; + font-size: 12px; + line-height: 18px; + white-space: nowrap; } + +.mfp-arrow { + position: absolute; + opacity: 0.65; + filter: alpha(opacity=65); + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + -webkit-tap-highlight-color: transparent; } + .mfp-arrow:active { + margin-top: -54px; } + .mfp-arrow:hover, + .mfp-arrow:focus { + opacity: 1; + filter: alpha(opacity=100); } + .mfp-arrow:before, + .mfp-arrow:after, + .mfp-arrow .mfp-b, + .mfp-arrow .mfp-a { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: medium inset transparent; } + .mfp-arrow:after, + .mfp-arrow .mfp-a { + border-top-width: 13px; + border-bottom-width: 13px; + top: 8px; } + .mfp-arrow:before, + .mfp-arrow .mfp-b { + border-top-width: 21px; + border-bottom-width: 21px; + opacity: 0.7; } + +.mfp-arrow-left { + left: 0; } + .mfp-arrow-left:after, + .mfp-arrow-left .mfp-a { + border-right: 17px solid #FFF; + margin-left: 31px; } + .mfp-arrow-left:before, + .mfp-arrow-left .mfp-b { + margin-left: 25px; + border-right: 27px solid #3F3F3F; } + +.mfp-arrow-right { + right: 0; } + .mfp-arrow-right:after, + .mfp-arrow-right .mfp-a { + border-left: 17px solid #FFF; + margin-left: 39px; } + .mfp-arrow-right:before, + .mfp-arrow-right .mfp-b { + border-left: 27px solid #3F3F3F; } + +.mfp-iframe-holder { + padding-top: 40px; + padding-bottom: 40px; } + .mfp-iframe-holder .mfp-content { + line-height: 0; + width: 100%; + max-width: 900px; } + .mfp-iframe-holder .mfp-close { + top: -40px; } + +.mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25%; } + .mfp-iframe-scaler iframe { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #000; } + +/* Main image in popup */ +img.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 40px 0 40px; + margin: 0 auto; } + +/* The shadow behind the image */ +.mfp-figure { + line-height: 0; } + .mfp-figure:after { + content: ''; + position: absolute; + left: 0; + top: 40px; + bottom: 40px; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #444; } + .mfp-figure small { + color: #BDBDBD; + display: block; + font-size: 12px; + line-height: 14px; } + .mfp-figure figure { + margin: 0; } + +.mfp-bottom-bar { + margin-top: -36px; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto; } + +.mfp-title { + text-align: left; + line-height: 18px; + color: #F3F3F3; + word-wrap: break-word; + padding-right: 36px; } + +.mfp-image-holder .mfp-content { + max-width: 100%; } + +.mfp-gallery .mfp-image-holder .mfp-figure { + cursor: pointer; } + +@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { + /** + * Remove all paddings around the image on small screen + */ + .mfp-img-mobile .mfp-image-holder { + padding-left: 0; + padding-right: 0; } + .mfp-img-mobile img.mfp-img { + padding: 0; } + .mfp-img-mobile .mfp-figure:after { + top: 0; + bottom: 0; } + .mfp-img-mobile .mfp-figure small { + display: inline; + margin-left: 5px; } + .mfp-img-mobile .mfp-bottom-bar { + background: rgba(0, 0, 0, 0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .mfp-img-mobile .mfp-bottom-bar:empty { + padding: 0; } + .mfp-img-mobile .mfp-counter { + right: 5px; + top: 3px; } + .mfp-img-mobile .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0; } } + +@media all and (max-width: 900px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75); } + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0; } + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100%; } + .mfp-container { + padding-left: 6px; + padding-right: 6px; } } + +.mfp-ie7 .mfp-img { + padding: 0; } + +.mfp-ie7 .mfp-bottom-bar { + width: 600px; + left: 50%; + margin-left: -300px; + margin-top: 5px; + padding-bottom: 5px; } + +.mfp-ie7 .mfp-container { + padding: 0; } + +.mfp-ie7 .mfp-content { + padding-top: 44px; } + +.mfp-ie7 .mfp-close { + top: 0; + right: 0; + padding-top: 0; } diff --git a/server/www/static/www/css/responsive.css b/server/www/static/www/css/responsive.css new file mode 100644 index 0000000..7fb180d --- /dev/null +++ b/server/www/static/www/css/responsive.css @@ -0,0 +1,491 @@ +@media (max-height: 850px) { + #talos-guy { + display: none; + } + #talos-guy_xs { + display: none; + } +} +@media (max-height: 849px) and (min-width: 1050px) { + #talos-guy { + display: none; + } + #talos-guy_xs { + display: block; + } +} +@media (max-width: 2300px) { + .rev-slidebg { + background-size: 30%; + } +} +@media (max-width: 1700px) { + .rev-slidebg { + background-size: 30%; + } + #background-text{ + /*display:none;*/ + } + .newcharactertalos { + margin-top: -35px; + } +} +@media (max-width: 1200px) { + #talos-guy, #background-text{ + display:none; + } + .navbar-nav > li > a { + padding: 0 15px; + } + + .works-grid-3-col-wide .container-fluid { + padding: 0 15px; + } + + .main-wrapper-onepage.angles .result-box { + padding: 40% 0; + } +} +@media (max-width: 991px) { + .talos_logo { + display:none; + } + .first_logo { + padding-top: 15px; + } + #talos-guy, #background-text, .slotholder { + display:none; + } + .section-wrap, + .section-wrap-mp { + background-attachment: scroll; + } + + .section-wrap { + padding: 90px 0; + } + + .team-member, + .blog-col-3 { + margin-bottom: 40px; + } + + .promo-description { + padding: 40px; + } + + .grid-3-col.grid-gutter .work-item { + width: 50%; + } + + .call-to-action h2, + .cta-button { + text-align: center; + } + + .call-to-action h2 { + margin-bottom: 30px; + line-height: 1.5; + } + + .contact-item { + border-right: none; + margin-bottom: 50px; + } + + .page-title .container { + height: 300px; + } + + .title-text { + padding-top: 50px; + } + + .title-text h1 { + font-size: 28px; + } + + .blog-standard .sidebar, + .blog-single .sidebar { + padding-left: 30px; + } + + .blog-standard .entry-title, + .blog-standard .entry-meta { + padding-left: 0; + } + + .blog-standard .entry { + margin-top: 20px; + } + + .entry-content .entry-share { + float: none; + } + + #portfolio.angle-bottom:after { + margin-top: 200px; + } + + .main-wrapper-onepage.angles .parallax-testimonials .owl-pagination { + bottom: 140px; + } + + .nav-type-2 .navbar, + .nav-type-4 .navbar, + .nav-type-4 .nav-left { + min-height: 60px; + } + + .nav-type-2 .navbar-nav { + padding: 0; + } + + .nav-type-2 .navbar-collapse, + .nav-type-4 .navbar-collapse { + border-top: 1px solid #f2f2f2; + } + + .nav-type-2 .nav-wrap { + padding-left: 0; + padding-right: 0; + width: 100%; + } + + .dropdown-menu { + padding: 0; + } + + .dropdown-menu, + .dropdown-submenu > .dropdown-menu { + display: none; + opacity: 1; + visibility: visible; + } + + .navbar-nav .open .dropdown-menu { + width: auto !important; + } + + .nav-type-2 .nav > li > a { + padding: 15px 0 15px 15px; + border-bottom: 1px solid #f2f2f2; + line-height: 20px; + } + + .navbar-nav .open .dropdown-menu > li > a { + padding: 15px 0 15px 20px; + border-bottom: 1px solid #f2f2f2; + } + + .navbar-nav .open .dropdown-submenu .dropdown-menu > li > a { + padding: 15px 0 15px 30px; + } + + .navbar-nav .open .dropdown-submenu .dropdown-menu > li > ul > li > a { + padding: 15px 0 15px 45px; + } + + .navbar .navbar-collapse.in .navbar-nav .dropdown > a:after, + .dropdown-submenu > a:after { + font-family: "FontAwesome"; + position: absolute; + content: "\f107"; + right: 15px; + color: #45464b; + } + + .navbar-nav .open .dropdown-menu > li > a { + color: #7a7a7a; + } + + .navbar-nav .open .dropdown-menu > li > a:focus { + background-color: transparent; + } + + .navbar-nav .open .dropdown-menu > li > a:hover { + color: #bfa67a; + } + + .navbar-nav > li > a.nav-search { + display: none; + } + + #mobile-search { + display: block; + } + + .mobile-search .form-control { + height: 51px; + border: none; + box-shadow: none; + -webkit-box-shadow: none; + margin-bottom: 0; + } + + #mobile-search .search-button { + position: absolute; + right: 0; + top: 0; + width: 45px; + height: 51px; + border: 0; + cursor: pointer; + background-color: transparent; + } + + .pricing-3-col { + margin-bottom: 30px; + } + + .widget { + margin-bottom: 40px; + } + + .page-title.style-2 .title-text { + padding-top: 0; + } + + .portfolio-description { + padding-left: 0; + margin-top: 30px; + } + + .masonry-grid .work-item.quarter { + width: 50%; + } + + .intro.style-2 .intro-text p { + font-size: 36px; + } + + .about-me .info { + padding-left: 0; + } + + .content-wrap { + margin-left: 0; + } + + .nav-type-4 { + width: 100%; + height: auto; + position: fixed; + } + + .nav-type-4 .navbar-header { + margin: 0; + } + + .nav-type-4 .header-wrap { + width: 100%; + padding: 0 15px; + } + + .nav-type-4 .logo-container { + width: auto; + padding: 0 15px; + } + + .nav-type-4 .nav { + margin: 0; + } + + .nav-type-4 .logo-wrap > a { + height: 60px; + } + + #ytb-wrap .hero-text { + font-size: 76px; + } +} +@media (max-width: 767px) { + #main_content{ + margin-top: 40px; + } + #talos-guy, #background-text, .slotholder{ + display:none; + } + .section-wrap { + padding: 80px 0; + } + + .intro-heading { + font-size: 22px; + } + + .heading-frame { + padding: 24px 30px; + } + + .grid-3-col.grid-gutter .work-item { + width: 100%; + } + + .process-item { + margin-bottom: 40px; + } + + .our-team .container-fluid { + padding: 0 15px; + } + + .client-logo { + border-right: none; + } + + .second-row .client-logo { + border-bottom: 1px solid #dedede; + } + + .second-row .client-logo:last-child { + border-bottom: none; + } + + .blog-standard .sidebar, + .blog-single .sidebar { + padding-left: 15px; + margin-top: 50px; + } + + .hero-message h1, + .hero-message.text-rotator h1 { + font-size: 38px; + } + + .angle-top:before, + .angle-bottom:after { + content: none; + } + + .main-wrapper-onepage.angles .result-box { + padding: 30% 0; + } + + .main-wrapper-onepage.angles .process, .main-wrapper-onepage.angles .parallax-testimonials { + padding: 150px 0; + } + + .main-wrapper-onepage.angles .parallax-testimonials .owl-pagination { + bottom: 30px; + } + + .main-wrapper-onepage.angles .gmap { + height: 450px; + } + + .call-to-action.style-2 { + padding: 100px 0; + } + + .call-to-action.style-2 h2 { + font-size: 26px; + } + + .copyright, + .footer-socials .social-icons { + text-align: center; + } + + .footer-socials .social-icons, + .footer-socials .social-icons a { + float: none; + margin-top: 7px; + } + + .copyright span { + line-height: 1.5; + } + + .style-2 .breadcrumb { + position: relative; + text-align: center; + margin-top: 15px; + } + + .page-title.style-2 .title-text h1 { + text-align: center; + font-size: 24px; + } + + .section-wrap.intro { + padding: 80px 0 60px; + } + + .intro.style-2 .intro-text p { + font-size: 28px; + } + + .footer-type-3, + .footer-type-3 .footer-socials { + text-align: center; + } + + #ytb-wrap .hero-text { + font-size: 50px; + } + + .sidenav .container-fluid, + .sidenav .container { + width: 100%; + } +} +@media (max-width: 640px) { + #main_content{ + margin-top: 40px; + } + #talos-guy, #background-text, .slotholder{ + display:none; + } + .overlay-menu ul li a { + font-size: 26px; + } + + .section-wrap.intro { + padding: 80px 0 60px; + } + + .intro.style-2 .intro-text p { + font-size: 24px; + } +} +@media (max-width: 480px) { + #main_content{ + margin-top: 100px; + } + #talos-guy, #background-text, .slotholder{ + display:none; + } + .entry-comments .comment-avatar { + width: 60px; + } + + .entry-comments .comment-content { + padding-left: 80px; + } + + .comment-reply { + padding-left: 30px; + } + + .nav-tabs > li { + width: 100%; + margin-bottom: 10px; + } + + .nav.nav-tabs > li > a { + margin-right: 0; + } + + .page-404 h1 { + font-size: 80px; + } + + .masonry-grid .work-item.quarter, + .masonry-grid .work-item, + .works-grid .work-item { + width: 100%; + } +} + +/*# sourceMappingURL=responsive.css.map */ diff --git a/server/www/static/www/css/responsive.css.map b/server/www/static/www/css/responsive.css.map new file mode 100644 index 0000000..f58e8b2 --- /dev/null +++ b/server/www/static/www/css/responsive.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["sass/responsive.scss"], +"names": [], +"file": "responsive.css" +} diff --git a/server/www/static/www/css/rev-slider.css b/server/www/static/www/css/rev-slider.css new file mode 100644 index 0000000..ca52657 --- /dev/null +++ b/server/www/static/www/css/rev-slider.css @@ -0,0 +1,4949 @@ +/* Navigation Styles +-------------------------------------------------------*/ +.ares.tparrows { + cursor: pointer; + background: #fff; + min-width: 60px; + min-height: 60px; + position: absolute; + display: block; + z-index: 100; + border-radius: 50% +} + +.ares.tparrows:before { + font-family: revicons; + font-size: 25px; + color: #aaa; + display: block; + line-height: 60px; + text-align: center; + -webkit-transition: color .3s; + -moz-transition: color .3s; + transition: color .3s; + z-index: 2; + position: relative +} + +.ares .tp-tab, .gyges .tp-tab { + font-family: Roboto, sans-serif +} + +.ares.tparrows.tp-leftarrow:before { + content: "\e81f" +} + +.ares.tparrows.tp-rightarrow:before { + content: "\e81e" +} + +.ares.tparrows:hover:before { + color: #000 +} + +.ares .tp-title-wrap { + position: absolute; + z-index: 1; + display: inline-block; + background: #fff; + min-height: 60px; + top: 0; + margin-left: 30px; + border-radius: 0 30px 30px 0; + overflow: hidden; + transition: transform .3s; + transform: scaleX(0); + -webkit-transform: scaleX(0); + transform-origin: 0 50%; + -webkit-transform-origin: 0 50% +} + +.ares .tp-arr-titleholder, .ares .tp-title-wrap { + -webkit-transition: -webkit-transform .3s; + line-height: 60px +} + +.ares.tp-rightarrow .tp-title-wrap { + right: 0; + margin-right: 30px; + margin-left: 0; + -webkit-transform-origin: 100% 50%; + border-radius: 30px 0 0 30px +} + +.ares.tparrows:hover .tp-title-wrap { + transform: scaleX(1) scaleY(1); + -webkit-transform: scaleX(1) scaleY(1) +} + +.ares .tp-arr-titleholder { + position: relative; + transition: transform .3s; + transform: translateX(200px); + text-transform: uppercase; + color: #000; + font-weight: 400; + font-size: 14px; + white-space: nowrap; + padding: 0 20px; + margin-left: 10px; + opacity: 0 +} + +.ares.tp-rightarrow .tp-arr-titleholder { + transform: translateX(-200px); + margin-left: 0; + margin-right: 10px +} + +.ares.tparrows:hover .tp-arr-titleholder { + transform: translateX(0); + -webkit-transform: translateX(0); + transition-delay: .1s; + opacity: 1 +} + +.ares.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.ares .tp-bullet { + width: 13px; + height: 13px; + position: absolute; + background: #e5e5e5; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.ares .tp-bullet.selected, .ares .tp-bullet.selected:hover .tp-bullet-title, .ares .tp-bullet:hover { + background: #fff +} + +.ares .tp-bullet-title { + position: absolute; + color: #888; + font-size: 12px; + padding: 0 10px; + font-weight: 600; + right: 27px; + top: -4px; + background: #fff; + background: rgba(255, 255, 255, .75); + visibility: hidden; + transform: translateX(-20px); + -webkit-transform: translateX(-20px); + transition: transform .3s; + -webkit-transition: transform .3s; + line-height: 20px; + white-space: nowrap +} + +.ares .tp-bullet-title:after { + width: 0; + height: 0; + border-style: solid; + border-width: 10px 0 10px 10px; + border-color: transparent transparent transparent rgba(255, 255, 255, .75); + content: " "; + position: absolute; + right: -10px; + top: 0 +} + +.ares .tp-bullet:hover .tp-bullet-title { + visibility: visible; + transform: translateX(0); + -webkit-transform: translateX(0) +} + +.ares .tp-bullet.selected:hover .tp-bullet-title:after { + border-color: transparent transparent transparent #fff +} + +.ares.tp-bullets:hover .tp-bullet-title { + visibility: hidden +} + +.ares.tp-bullets:hover .tp-bullet:hover .tp-bullet-title { + visibility: visible +} + +.ares .tp-tab { + opacity: 1; + padding: 10px; + box-sizing: border-box; + border-bottom: 1px solid #e5e5e5 +} + +.ares .tp-tab-image { + width: 60px; + height: 60px; + max-height: 100%; + max-width: 100%; + position: relative; + display: inline-block; + float: left +} + +.ares .tp-tab-content { + background: 0 0; + padding: 15px 15px 15px 85px; + left: 0; + overflow: hidden; + margin-top: -15px; + box-sizing: border-box; + color: #333; + display: inline-block; + width: 100%; + height: 100%; + position: absolute +} + +.ares .tp-tab-date { + display: block; + color: #aaa; + font-weight: 500; + font-size: 12px; + margin-bottom: 0 +} + +.ares .tp-tab-title { + display: block; + text-align: left; + color: #333; + font-size: 14px; + font-weight: 500; + text-transform: none; + line-height: 17px +} + +.custom.tparrows:before, .erinyen.tparrows:before { + font-family: revicons; + color: #fff; + text-align: center +} + +.ares .tp-tab.selected, .ares .tp-tab:hover { + background: #eee +} + +.custom.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100 +} + +.custom.tparrows:hover { + background: #000 +} + +.custom.tparrows:before { + font-size: 15px; + display: block; + line-height: 40px +} + +.custom.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.custom.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.custom.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.custom .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #aaa; + background: rgba(125, 125, 125, .5); + cursor: pointer; + box-sizing: content-box +} + +.custom .tp-bullet.selected, .custom .tp-bullet:hover { + background: #7d7d7d +} + +.dione.tparrows { + height: 100%; + width: 100px; + background: 0 0; + line-height: 100%; + transition: all .3s; + -webkit-transition: all .3s +} + +.dione.tparrows:hover { + background: rgba(0, 0, 0, .45) +} + +.dione .tp-arr-imgwrapper { + width: 100px; + left: 0; + position: absolute; + height: 100%; + top: 0; + overflow: hidden +} + +.dione.tp-rightarrow .tp-arr-imgwrapper { + left: auto; + right: 0 +} + +.dione .tp-arr-imgholder { + background-position: center center; + background-size: cover; + width: 100px; + height: 100%; + top: 0; + visibility: hidden; + transform: translateX(-50px); + -webkit-transform: translateX(-50px); + transition: all .3s; + -webkit-transition: all .3s; + opacity: 0; + left: 0 +} + +.dione.tparrows.tp-rightarrow .tp-arr-imgholder { + right: 0; + left: auto; + transform: translateX(50px); + -webkit-transform: translateX(50px) +} + +.dione.tparrows:before { + position: absolute; + line-height: 30px; + margin-left: -22px; + top: 50%; + left: 50%; + font-size: 30px; + margin-top: -15px; + transition: all .3s; + -webkit-transition: all .3s +} + +.dione.tparrows.tp-rightarrow:before { + margin-left: 6px +} + +.dione.tparrows:hover:before { + transform: translateX(-20px); + -webkit-transform: translateX(-20px); + opacity: 0 +} + +.dione.tparrows.tp-rightarrow:hover:before { + transform: translateX(20px); + -webkit-transform: translateX(20px) +} + +.dione.tparrows:hover .tp-arr-imgholder { + transform: translateX(0); + -webkit-transform: translateX(0); + opacity: 1; + visibility: visible +} + +.dione .tp-bullet-title, .gyges .tp-thumb-title { + white-space: nowrap; + transform: translateZ(0) translateX(-50%) translateY(14px) +} + +.dione .tp-bullet { + opacity: 1; + width: 50px; + height: 50px; + padding: 3px; + background: #000; + background-color: rgba(0, 0, 0, .25); + margin: 0; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s +} + +.dione .tp-bullet-image { + display: block; + box-sizing: border-box; + position: relative; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + -moz-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + width: 44px; + height: 44px; + background-size: cover; + background-position: center center +} + +.dione .tp-bullet-title { + position: absolute; + bottom: 65px; + display: inline-block; + left: 50%; + background: #000; + background: rgba(0, 0, 0, .75); + color: #fff; + padding: 10px 30px; + border-radius: 4px; + -webkit-border-radius: 4px; + transition: all .3s; + -webkit-transition: all .3s; + transform-origin: 50% 100%; + -webkit-transform: translateZ(0) translateX(-50%) translateY(14px); + -webkit-transform-origin: 50% 100%; + opacity: 0 +} + +.dione .tp-bullet:hover .tp-bullet-title { + transform: rotateX(0) translateX(-50%); + -webkit-transform: rotateX(0) translateX(-50%); + opacity: 1 +} + +.dione .tp-bullet.selected, .dione .tp-bullet:hover { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.erinyen .tp-title-wrap, .erinyen.tparrows { + border-radius: 35px; + background: #000; + min-height: 70px +} + +.dione .tp-bullet-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(0, 0, 0, .75) transparent transparent; + bottom: -8px +} + +.erinyen .tp-arr-img-over, .erinyen .tp-arr-imgholder, .erinyen.tp-bullets:before { + position: absolute; + width: 100%; + height: 100% +} + +.erinyen.tparrows { + cursor: pointer; + background: rgba(0, 0, 0, .5); + min-width: 70px; + position: absolute; + display: block; + z-index: 100 +} + +.erinyen.tparrows:before { + font-size: 20px; + display: block; + line-height: 70px; + z-index: 2; + position: relative +} + +.erinyen.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.erinyen.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.erinyen .tp-title-wrap { + position: absolute; + z-index: 1; + display: inline-block; + background: rgba(0, 0, 0, .5); + line-height: 70px; + top: 0; + margin-left: 0; + overflow: hidden; + transition: opacity .3s; + -webkit-transition: opacity .3s; + -moz-transition: opacity .3s; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); + visibility: hidden; + opacity: 0 +} + +.erinyen.tparrows:hover .tp-title-wrap { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible +} + +.erinyen.tp-rightarrow .tp-title-wrap { + right: 0; + margin-right: 0; + margin-left: 0; + -webkit-transform-origin: 100% 50%; + border-radius: 35px; + padding-right: 20px; + padding-left: 10px +} + +.erinyen.tp-leftarrow .tp-title-wrap { + padding-left: 20px; + padding-right: 10px +} + +.erinyen .tp-arr-titleholder { + letter-spacing: 3px; + position: relative; + -webkit-transition: -webkit-transform .3s; + transition: transform .3s; + transform: translateX(200px); + text-transform: uppercase; + color: #fff; + font-weight: 600; + font-size: 13px; + line-height: 70px; + white-space: nowrap; + padding: 0 20px; + margin-left: 11px; + opacity: 0 +} + +.erinyen .tp-thumb, .gyges .tp-thumb { + opacity: 1 +} + +.erinyen .tp-arr-imgholder { + top: 0; + left: 0; + background-position: center center; + background-size: cover +} + +.erinyen .tp-arr-img-over { + top: 0; + left: 0; + background: #000; + background: rgba(0, 0, 0, .5) +} + +.erinyen.tp-rightarrow .tp-arr-titleholder { + transform: translateX(-200px); + margin-left: 0; + margin-right: 11px +} + +.erinyen.tparrows:hover .tp-arr-titleholder { + transform: translateX(0); + -webkit-transform: translateX(0); + transition-delay: .1s; + opacity: 1 +} + +.erinyen.tp-bullets:before { + content: " "; + background: #555; + background: -moz-linear-gradient(top, #555 0, #222 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #555), color-stop(100%, #222)); + background: -webkit-linear-gradient(top, #555 0, #222 100%); + background: -o-linear-gradient(top, #555 0, #222 100%); + background: -ms-linear-gradient(top, #555 0, #222 100%); + background: linear-gradient(to bottom, #555 0, #222 100%); + filter: progid:dximagetransform.microsoft.gradient(startcolorstr="#555555", endcolorstr="#222222", gradienttype=0); + padding: 10px 15px; + margin-left: -15px; + margin-top: -10px; + box-sizing: content-box; + border-radius: 10px; + box-shadow: 0 0 2px 1px rgba(33, 33, 33, .3) +} + +.erinyen .tp-bullet { + width: 13px; + height: 13px; + position: absolute; + background: #111; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.erinyen .tp-bullet.selected, .erinyen .tp-bullet:hover { + background: #e5e5e5; + background: -moz-linear-gradient(top, #e5e5e5 0, #999 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e5e5e5), color-stop(100%, #999)); + background: -webkit-linear-gradient(top, #e5e5e5 0, #999 100%); + background: -o-linear-gradient(top, #e5e5e5 0, #999 100%); + background: -ms-linear-gradient(top, #e5e5e5 0, #999 100%); + background: linear-gradient(to bottom, #e5e5e5 0, #999 100%); + filter: progid:dximagetransform.microsoft.gradient(startcolorstr="#e5e5e5", endcolorstr="#999999", gradienttype=0); + border: 1px solid #555; + width: 12px; + height: 12px +} + +.erinyen .tp-thumb-over { + background: #000; + background: rgba(0, 0, 0, .25); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; + -webkit-transition: all .3s; + transition: all .3s +} + +.erinyen .tp-thumb-more:before, .erinyen .tp-thumb-title { + text-align: left; + font-size: 12px; + position: absolute; + display: block; + z-index: 2 +} + +.erinyen .tp-thumb-more:before { + font-family: revicons; + color: #aaa; + color: rgba(255, 255, 255, .75); + line-height: 12px; + top: 20px; + right: 20px; + content: "\e825" +} + +.erinyen .tp-thumb-title { + font-family: Raleway; + letter-spacing: 1px; + color: #fff; + line-height: 15px; + top: 0; + left: 0; + padding: 20px 35px 20px 20px; + width: 100%; + height: 100%; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + font-weight: 500 +} + +.erinyen .tp-thumb.selected .tp-thumb-more:before, .erinyen .tp-thumb:hover .tp-thumb-more:before { + color: #aaa +} + +.erinyen .tp-thumb.selected .tp-thumb-over, .erinyen .tp-thumb:hover .tp-thumb-over { + background: #fff +} + +.erinyen .tp-thumb.selected .tp-thumb-title, .erinyen .tp-thumb:hover .tp-thumb-title { + color: #000 +} + +.erinyen .tp-tab-title { + color: #a8d8ee; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; + font-family: "Roboto Slab" + margin-bottom: 5px +} + +.erinyen .tp-tab-desc { + font-size: 18px; + font-weight: 400; + color: #fff; + line-height: 25px; + font-family: "Roboto Slab" +} + +.gyges.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: #777; + background: -moz-linear-gradient(top, #777 0, #666 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #777), color-stop(100%, #666)); + background: -webkit-linear-gradient(top, #777 0, #666 100%); + background: -o-linear-gradient(top, #777 0, #666 100%); + background: -ms-linear-gradient(top, #777 0, #666 100%); + background: linear-gradient(to bottom, #777 0, #666 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#777777", + endColorstr="#666666", GradientType=0); + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box; + border-radius: 10px +} + +.gyges .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #333; + border: 3px solid #444; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.gyges .tp-thumb-image, .gyges .tp-thumb-img-wrap { + box-sizing: border-box; + padding: 3px; + position: relative +} + +.gyges .tp-bullet.selected, .gyges .tp-bullet:hover { + background: #fff; + background: -moz-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #e1e1e1)); + background: -webkit-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: -o-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: -ms-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: linear-gradient(to bottom, #fff 0, #e1e1e1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", + endColorstr="#e1e1e1", GradientType=0) +} + +.gyges .tp-thumb-img-wrap { + background: #000; + background-color: rgba(0, 0, 0, .25); + display: inline-block; + width: 100%; + height: 100%; + margin: 0; + transition: all .3s; + -webkit-transition: all .3s +} + +.gyges .tp-thumb-image { + display: block; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + -moz-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25) +} + +.gyges .tp-thumb-title { + position: absolute; + bottom: 100%; + display: inline-block; + left: 50%; + background: rgba(255, 255, 255, .8); + padding: 10px 30px; + border-radius: 4px; + -webkit-border-radius: 4px; + margin-bottom: 20px; + opacity: 0; + transition: all .3s; + -webkit-transition: all .3s; + transform-origin: 50% 100%; + -webkit-transform: translateZ(0) translateX(-50%) translateY(14px); + -webkit-transform-origin: 50% 100% +} + +.gyges .tp-thumb:hover .tp-thumb-title { + transform: rotateX(0) translateX(-50%); + -webkit-transform: rotateX(0) translateX(-50%); + opacity: 1 +} + +.gyges .tp-thumb.selected .tp-thumb-img-wrap, .gyges .tp-thumb:hover .tp-thumb-img-wrap { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.gyges .tp-thumb-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(255, 255, 255, .8) transparent transparent; + bottom: -8px +} + +.gyges .tp-tab { + opacity: 1; + padding: 10px; + box-sizing: border-box; + border-bottom: 1px solid rgba(255, 255, 255, .15) +} + +.hades.tparrows:before, .hebe.tparrows:before { + font-family: revicons +} + +.gyges .tp-tab-image { + width: 60px; + height: 60px; + max-height: 100%; + max-width: 100%; + position: relative; + display: inline-block; + float: left +} + +.gyges .tp-tab-content { + background: 0 0; + padding: 15px 15px 15px 85px; + left: 0; + overflow: hidden; + margin-top: -15px; + box-sizing: border-box; + color: #333; + display: inline-block; + width: 100%; + height: 100%; + position: absolute +} + +.hades .tp-arr-allwrapper, .hades.tparrows { + position: absolute; + width: 100px; + height: 100px +} + +.gyges .tp-tab-date { + display: block; + color: rgba(255, 255, 255, .25); + font-weight: 500; + font-size: 12px; + margin-bottom: 0 +} + +.gyges .tp-tab-title { + display: block; + text-align: left; + color: #fff; + font-size: 14px; + font-weight: 500; + text-transform: none; + line-height: 17px +} + +.gyges .tp-tab.selected, .gyges .tp-tab:hover { + background: rgba(0, 0, 0, .5) +} + +.hades.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .15); + display: block; + z-index: 100 +} + +.hades.tparrows:before { + font-size: 30px; + color: #fff; + display: block; + line-height: 100px; + text-align: center; + transition: background .3s, color .3s +} + +.hades.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.hades.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.hades.tparrows:hover:before { + color: #aaa; + background: #fff; + background: rgba(255, 255, 255, 1) +} + +.hades .tp-arr-allwrapper { + left: 100%; + top: 0; + background: #888; + -webkit-transition: all .3s; + transition: all .3s; + -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=0)"; + filter: alpha(opacity=0); + -moz-opacity: 0; + -khtml-opacity: 0; + opacity: 0; + -webkit-transform: rotatey(-90deg); + transform: rotatey(-90deg); + -webkit-transform-origin: 0 50%; + transform-origin: 0 50% +} + +.hades.tp-rightarrow .tp-arr-allwrapper { + left: auto; + right: 100%; + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; + -webkit-transform: rotatey(90deg); + transform: rotatey(90deg) +} + +.hades:hover .tp-arr-allwrapper { + -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=100)"; + filter: alpha(opacity=100); + -moz-opacity: 1; + -khtml-opacity: 1; + opacity: 1; + -webkit-transform: rotatey(0); + transform: rotatey(0) +} + +.hades .tp-arr-imgholder { + background-size: cover; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% +} + +.hades.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.hades .tp-bullet { + width: 3px; + height: 3px; + position: absolute; + background: #888; + cursor: pointer; + border: 5px solid #fff; + box-sizing: content-box; + box-shadow: 0 0 3px 1px rgba(0, 0, 0, .2); + -webkit-perspective: 400; + perspective: 400; + -webkit-transform: translatez(.01px); + transform: translatez(.01px) +} + +.hades .tp-bullet.selected, .hades .tp-bullet:hover { + background: #555 +} + +.hades .tp-bullet-image { + position: absolute; + top: -80px; + left: -60px; + width: 120px; + height: 60px; + background-position: center center; + background-size: cover; + visibility: hidden; + opacity: 0; + transition: all .3s; + -webkit-transform-style: flat; + transform-style: flat; + perspective: 600; + -webkit-perspective: 600; + transform: rotatex(-90deg); + -webkit-transform: rotatex(-90deg); + box-shadow: 0 0 3px 1px rgba(0, 0, 0, .2); + transform-origin: 50% 100%; + -webkit-transform-origin: 50% 100% +} + +.hades .tp-thumb-image, .metis .tp-bullet-image { + -moz-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25) +} + +.hades .tp-thumb-image, .hades .tp-thumb-img-wrap { + padding: 3px; + border-radius: 50%; + box-sizing: border-box; + position: relative +} + +.hades .tp-bullet:hover .tp-bullet-image { + display: block; + opacity: 1; + transform: rotatex(0); + -webkit-transform: rotatex(0); + visibility: visible +} + +.hades .tp-thumb { + opacity: 1 +} + +.hades .tp-thumb-img-wrap { + display: inline-block; + background: #000; + background-color: rgba(0, 0, 0, .25); + width: 100%; + height: 100%; + margin: 0; + transition: all .3s; + -webkit-transition: all .3s +} + +.hades .tp-thumb-image { + display: block; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25) +} + +.hades .tp-thumb.selected .tp-thumb-img-wrap, .hades .tp-thumb:hover .tp-thumb-img-wrap { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.hades .tp-thumb-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(0, 0, 0, .75) transparent transparent; + bottom: -8px +} + +.hades .tp-tab { + opacity: 1 +} + +.hades .tp-tab-title { + display: block; + color: #333; + font-weight: 600; + font-size: 18px; + text-align: center; + line-height: 25px +} + +.hades .tp-tab-price { + display: block; + text-align: center; + color: #999; + font-size: 16px; + margin-top: 10px; + line-height: 20px +} + +.hades .tp-tab-button { + display: inline-block; + margin-top: 15px; + text-align: center; + padding: 5px 15px; + color: #fff; + font-size: 14px; + background: #219bd7; + border-radius: 4px; + font-weight: 400 +} + +.hebe.tparrows, .hebe.tparrows:before { + min-width: 70px; + display: block; + background: #fff; + min-height: 70px +} + +.hades .tp-tab-inner { + text-align: center +} + +.hebe.tparrows { + cursor: pointer; + position: absolute; + z-index: 100 +} + +.hebe.tparrows:before { + font-size: 30px; + color: #aaa; + line-height: 70px; + text-align: center; + -webkit-transition: color .3s; + -moz-transition: color .3s; + transition: color .3s; + z-index: 2; + position: relative +} + +.hebe.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.hebe.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.hebe.tparrows:hover:before { + color: #000 +} + +.hebe .tp-title-wrap { + position: absolute; + z-index: 0; + display: inline-block; + background: #000; + background: rgba(0, 0, 0, .75); + min-height: 60px; + line-height: 60px; + top: -10px; + margin-left: 0; + -webkit-transition: -webkit-transform .3s; + transition: transform .3s; + transform: scaleX(0); + -webkit-transform: scaleX(0); + transform-origin: 0 50%; + -webkit-transform-origin: 0 50% +} + +.hebe.tp-rightarrow .tp-title-wrap { + right: 0; + -webkit-transform-origin: 100% 50% +} + +.hebe.tparrows:hover .tp-title-wrap { + transform: scaleX(1); + -webkit-transform: scaleX(1) +} + +.hebe .tp-arr-titleholder { + position: relative; + text-transform: uppercase; + color: #fff; + font-weight: 600; + font-size: 12px; + line-height: 90px; + white-space: nowrap; + padding: 0 20px 0 90px +} + +.hebe.tp-rightarrow .tp-arr-titleholder { + margin-left: 0; + padding: 0 90px 0 20px +} + +.hebe.tp-bullets:before, .hephaistos.tp-bullets:before { + margin-top: -10px; + position: absolute; + box-sizing: content-box; + padding: 10px +} + +.hebe.tparrows:hover .tp-arr-titleholder { + transform: translateX(0); + -webkit-transform: translateX(0); + transition-delay: .1s; + opacity: 1 +} + +.hebe .tp-arr-imgholder { + width: 90px; + height: 90px; + position: absolute; + left: 100%; + display: block; + background-size: cover; + background-position: center center; + top: 0; + right: -90px +} + +.hebe.tp-rightarrow .tp-arr-imgholder { + right: auto; + left: -90px +} + +.hebe.tp-bullets:before { + content: " "; + width: 100%; + height: 100%; + background: 0 0; + margin-left: -10px +} + +.hebe .tp-bullet { + width: 3px; + height: 3px; + position: absolute; + background: #fff; + cursor: pointer; + border: 5px solid #222; + border-radius: 50%; + box-sizing: content-box; + -webkit-perspective: 400; + perspective: 400; + -webkit-transform: translateZ(.01px); + transform: translateZ(.01px); + transition: all .3s +} + +.hebe .tp-bullet.selected, .hebe .tp-bullet:hover { + background: #222; + border-color: #fff +} + +.hebe .tp-bullet-image { + position: absolute; + top: -90px; + left: -40px; + width: 70px; + height: 70px; + background-position: center center; + background-size: cover; + visibility: hidden; + opacity: 0; + transition: all .3s; + -webkit-transform-style: flat; + transform-style: flat; + perspective: 600; + -webkit-perspective: 600; + transform: scale(0); + -webkit-transform: scale(0); + transform-origin: 50% 100%; + -webkit-transform-origin: 50% 100%; + border-radius: 6px +} + +.hebe .tp-bullet:hover .tp-bullet-image { + display: block; + opacity: 1; + transform: scale(1); + -webkit-transform: scale(1); + visibility: visible +} + +.hebe .tp-tab-title { + color: #a8d8ee; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; + font-family: "Roboto Slab" + margin-bottom: 5px +} + +.hebe .tp-tab-desc { + font-size: 18px; + font-weight: 400; + color: #fff; + line-height: 25px; + font-family: "Roboto Slab" +} + +.hephaistos.tparrows:before, .hermes.tparrows:before, .hesperiden.tparrows:before { + font-family: revicons +} + +.hephaistos.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100; + border-radius: 50% +} + +.hephaistos.tparrows:hover { + background: #000 +} + +.hephaistos.tparrows:before { + font-size: 18px; + color: #fff; + display: block; + line-height: 40px; + text-align: center +} + +.hephaistos.tparrows.tp-leftarrow:before { + content: "\e82c"; + margin-left: -2px +} + +.hephaistos.tparrows.tp-rightarrow:before { + content: "\e82d"; + margin-right: -2px +} + +.hephaistos.tp-bullets:before { + content: " "; + width: 100%; + height: 100%; + background: 0 0; + margin-left: -10px +} + +.hephaistos .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #999; + border: 3px solid #f5f5f5; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box; + box-shadow: 0 0 2px 1px rgba(130, 130, 130, .3) +} + +.hephaistos .tp-bullet.selected, .hephaistos .tp-bullet:hover { + background: #fff; + border-color: #000 +} + +.hermes .tp-arr-titleholder, .hermes.tparrows { + display: block; + position: absolute; + background: #000 +} + +.hermes.tparrows { + cursor: pointer; + background: rgba(0, 0, 0, .5); + width: 30px; + height: 110px; + z-index: 100 +} + +.hermes.tparrows:before { + font-size: 15px; + color: #fff; + display: block; + line-height: 110px; + text-align: center; + transform: translateX(0); + -webkit-transform: translateX(0); + transition: all .3s; + -webkit-transition: all .3s +} + +.hermes.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.hermes.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.hermes.tparrows.tp-leftarrow:hover:before { + transform: translateX(-20px); + -webkit-transform: translateX(-20px); + opacity: 0 +} + +.hermes.tparrows.tp-rightarrow:hover:before { + transform: translateX(20px); + -webkit-transform: translateX(20px); + opacity: 0 +} + +.hermes .tp-arr-allwrapper { + overflow: hidden; + position: absolute; + width: 180px; + height: 140px; + top: 0; + left: 0; + visibility: hidden; + -webkit-transition: -webkit-transform .3s .3s; + transition: transform .3s .3s; + -webkit-perspective: 1000px; + perspective: 1000px +} + +.hermes.tp-rightarrow .tp-arr-allwrapper { + right: 0; + left: auto +} + +.hermes.tparrows:hover .tp-arr-allwrapper { + visibility: visible +} + +.hermes .tp-arr-imgholder { + width: 180px; + position: absolute; + left: 0; + top: 0; + height: 110px; + transform: translateX(-180px); + -webkit-transform: translateX(-180px); + transition: all .3s; + transition-delay: .3s +} + +.hermes.tp-rightarrow .tp-arr-imgholder { + transform: translateX(180px); + -webkit-transform: translateX(180px) +} + +.hermes.tparrows:hover .tp-arr-imgholder { + transform: translateX(0); + -webkit-transform: translateX(0) +} + +.hermes .tp-arr-titleholder { + top: 110px; + width: 180px; + text-align: left; + padding: 0 10px; + line-height: 30px; + background: rgba(0, 0, 0, .75); + color: #fff; + font-weight: 600; + font-size: 12px; + white-space: nowrap; + letter-spacing: 1px; + -webkit-transition: all .3s; + transition: all .3s; + -webkit-transform: rotateX(-90deg); + transform: rotateX(-90deg); + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; + box-sizing: border-box +} + +.hermes.tparrows:hover .tp-arr-titleholder { + -webkit-transition-delay: .6s; + transition-delay: .6s; + -webkit-transform: rotateX(0); + transform: rotateX(0) +} + +.hermes .tp-bullet { + overflow: hidden; + border-radius: 50%; + width: 16px; + height: 16px; + background-color: transparent; + box-shadow: inset 0 0 0 2px #FFF; + -webkit-transition: background .3s ease; + transition: background .3s ease; + position: absolute +} + +.hermes .tp-bullet:hover { + background-color: rgba(0, 0, 0, .2) +} + +.hermes .tp-bullet:after { + content: ' '; + position: absolute; + bottom: 0; + height: 0; + left: 0; + width: 100%; + background-color: #FFF; + box-shadow: 0 0 1px #FFF; + -webkit-transition: height .3s ease; + transition: height .3s ease +} + +.hermes .tp-bullet.selected:after { + height: 100% +} + +.hermes .tp-tab { + opacity: 1; + padding-right: 10px; + box-sizing: border-box +} + +.hermes .tp-tab-image { + width: 100%; + height: 60%; + position: relative +} + +.hermes .tp-tab-content { + background: #363636; + position: absolute; + padding: 20px 20px 20px 30px; + box-sizing: border-box; + color: #fff; + display: block; + width: 100%; + min-height: 40%; + bottom: 0; + left: -10px +} + +.hermes .tp-tab-date { + display: block; + color: #888; + font-weight: 600; + font-size: 12px; + margin-bottom: 10px +} + +.hermes .tp-tab-title { + display: block; + color: #fff; + font-size: 16px; + font-weight: 800; + text-transform: uppercase; + line-height: 19px +} + +.hermes .tp-tab.selected .tp-tab-title:after { + width: 0; + height: 0; + border-style: solid; + border-width: 30px 0 30px 10px; + border-color: transparent transparent transparent #363636; + content: " "; + position: absolute; + right: -9px; + bottom: 50%; + margin-bottom: -30px +} + +.hermes .tp-tab-mask { + padding-right: 10px !important +} + +@media only screen and (max-width: 960px) { + .hermes .tp-tab .tp-tab-title { + font-size: 14px; + line-height: 16px + } + + .hermes .tp-tab-date { + font-size: 11px; + line-height: 13px; + margin-bottom: 10px + } + + .hermes .tp-tab-content { + padding: 15px 15px 15px 25px + } +} + +@media only screen and (max-width: 768px) { + .hermes .tp-tab .tp-tab-title { + font-size: 12px; + line-height: 14px + } + + .hermes .tp-tab-date { + font-size: 10px; + line-height: 12px; + margin-bottom: 5px + } + + .hermes .tp-tab-content { + padding: 10px 10px 10px 20px + } +} + +.hesperiden.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100; + border-radius: 50% +} + +.hesperiden.tparrows:hover { + background: #000 +} + +.hesperiden.tparrows:before { + font-size: 20px; + color: #fff; + display: block; + line-height: 40px; + text-align: center +} + +.hesperiden.tparrows.tp-leftarrow:before { + content: "\e82c"; + margin-left: -3px +} + +.hesperiden.tparrows.tp-rightarrow:before { + content: "\e82d"; + margin-right: -3px +} + +.hesperiden.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box; + border-radius: 8px +} + +.hesperiden .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #999; + background: -moz-linear-gradient(top, #999 0, #e1e1e1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #999), color-stop(100%, #e1e1e1)); + background: -webkit-linear-gradient(top, #999 0, #e1e1e1 100%); + background: -o-linear-gradient(top, #999 0, #e1e1e1 100%); + background: -ms-linear-gradient(top, #999 0, #e1e1e1 100%); + background: linear-gradient(to bottom, #999 0, #e1e1e1 100%); + filter: progid:dximagetransform.microsoft.gradient( + startcolorstr="#999999", endcolorstr="#e1e1e1", gradienttype=0); + border: 3px solid #e5e5e5; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.hesperiden .tp-bullet.selected, .hesperiden .tp-bullet:hover { + background: #666 +} + +.hesperiden .tp-thumb { + opacity: 1; + -webkit-perspective: 600px; + perspective: 600px +} + +.hesperiden .tp-thumb .tp-thumb-title { + font-size: 12px; + position: absolute; + margin-top: -10px; + color: #fff; + display: block; + z-index: 1000; + background-color: #000; + padding: 5px 10px; + bottom: 0; + left: 0; + width: 100%; + box-sizing: border-box; + text-align: center; + overflow: hidden; + white-space: nowrap; + transition: all .3s; + -webkit-transition: all .3s; + transform: rotatex(90deg) translatez(0); + transform-origin: 50% 100%; + -webkit-transform: rotatex(90deg) translatez(0); + -webkit-transform-origin: 50% 100%; + opacity: 0 +} + +.hesperiden .tp-thumb:hover .tp-thumb-title { + transform: rotatex(0); + -webkit-transform: rotatex(0); + opacity: 1 +} + +.hesperiden .tp-tab { + opacity: 1; + padding: 10px; + box-sizing: border-box; + font-family: Roboto, sans-serif; + border-bottom: 1px solid #e5e5e5 +} + +.persephone.tparrows:before, .zeus .tp-thumb-more:before, .zeus.tparrows:before { + font-family: revicons +} + +.hesperiden .tp-tab-image { + width: 60px; + height: 60px; + max-height: 100%; + max-width: 100%; + position: relative; + display: inline-block; + float: left +} + +.hesperiden .tp-tab-content { + background: 0 0; + padding: 15px 15px 15px 85px; + left: 0; + overflow: hidden; + margin-top: -15px; + box-sizing: border-box; + color: #333; + display: inline-block; + width: 100%; + height: 100%; + position: absolute +} + +.hesperiden .tp-tab-date { + display: block; + color: #aaa; + font-weight: 500; + font-size: 12px; + margin-bottom: 0 +} + +.hesperiden .tp-tab-title { + display: block; + text-align: left; + color: #333; + font-size: 14px; + font-weight: 500; + text-transform: none; + line-height: 17px +} + +.hesperiden .tp-tab.selected, .hesperiden .tp-tab:hover { + background: #eee +} + +.metis.tparrows { + background: #fff; + padding: 10px; + transition: all .3s; + -webkit-transition: all .3s; + width: 60px; + height: 60px; + box-sizing: border-box +} + +.metis.tparrows:hover { + background: #fff; + background: rgba(255, 255, 255, .75) +} + +.metis.tparrows:before { + color: #000; + transition: all .3s; + -webkit-transition: all .3s +} + +.metis.tparrows:hover:before { + transform: scale(1.5) +} + +.metis .tp-bullet { + opacity: 1; + width: 50px; + height: 50px; + padding: 3px; + background: #000; + background-color: rgba(0, 0, 0, .25); + margin: 0; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + border-radius: 50% +} + +.metis .tp-bullet-image { + border-radius: 50%; + display: block; + box-sizing: border-box; + position: relative; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + width: 44px; + height: 44px; + background-size: cover; + background-position: center center +} + +.metis .tp-bullet-title { + position: absolute; + bottom: 65px; + display: inline-block; + left: 50%; + background: #000; + background: rgba(0, 0, 0, .75); + color: #fff; + padding: 10px 30px; + border-radius: 4px; + -webkit-border-radius: 4px; + transition: all .3s; + -webkit-transition: all .3s; + transform: translateZ(0) translateX(-50%) translateY(14px); + transform-origin: 50% 100%; + -webkit-transform: translateZ(0) translateX(-50%) translateY(14px); + -webkit-transform-origin: 50% 100%; + opacity: 0; + white-space: nowrap +} + +.metis .tp-bullet:hover .tp-bullet-title { + transform: rotateX(0) translateX(-50%); + -webkit-transform: rotateX(0) translateX(-50%); + opacity: 1 +} + +.metis .tp-bullet.selected, .metis .tp-bullet:hover { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.metis .tp-bullet-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(0, 0, 0, .75) transparent transparent; + bottom: -8px +} + +.persephone.tparrows { + cursor: pointer; + background: #aaa; + background: rgba(200, 200, 200, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100; + border: 1px solid #f5f5f5 +} + +.persephone.tparrows:hover { + background: #333 +} + +.persephone.tparrows:before { + font-size: 15px; + color: #fff; + display: block; + line-height: 40px; + text-align: center +} + +.persephone.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.persephone.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.persephone.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.persephone .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #aaa; + border: 1px solid #e5e5e5; + cursor: pointer; + box-sizing: content-box +} + +.persephone .tp-bullet.selected, .persephone .tp-bullet:hover { + background: #222 +} + +.uranus.tparrows { + width: 50px; + height: 50px; + background: 0 0 +} + +.uranus.tparrows:before { + width: 50px; + height: 50px; + line-height: 50px; + font-size: 40px; + transition: all .3s; + -webkit-transition: all .3s +} + +.uranus.tparrows:hover:before { + opacity: .75 +} + +.uranus .tp-bullet { + border-radius: 50%; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0); + -webkit-transition: box-shadow .3s ease; + transition: box-shadow .3s ease; + background: 0 0 +} + +.uranus .tp-bullet.selected, .uranus .tp-bullet:hover { + box-shadow: 0 0 0 2px #FFF; + border: none; + border-radius: 50%; + background: 0 0 +} + +.uranus .tp-bullet-inner { + -webkit-transition: background-color .3s ease, -webkit-transform .3s ease; + transition: background-color .3s ease, transform .3s ease; + top: 0; + left: 0; + width: 100%; + height: 100%; + outline: 0; + border-radius: 50%; + background-color: #FFF; + background-color: rgba(255, 255, 255, .3); + text-indent: -999em; + cursor: pointer; + position: absolute +} + +.uranus .tp-bullet.selected .tp-bullet-inner, .uranus .tp-bullet:hover .tp-bullet-inner { + transform: scale(.4); + -webkit-transform: scale(.4); + background-color: #fff +} + +.zeus.tparrows { + cursor: pointer; + min-width: 70px; + min-height: 70px; + position: absolute; + display: block; + z-index: 100; + border-radius: 35px; + overflow: hidden; + background: rgba(0, 0, 0, .1) +} + +.zeus.tparrows:before { + font-size: 20px; + color: #fff; + display: block; + line-height: 70px; + text-align: center; + z-index: 2; + position: relative +} + +.zeus.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.post-tabs .tp-thumb-more:before, .zeus .tp-thumb-more:before, .zeus.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.zeus .tp-title-wrap { + background: #000; + background: rgba(0, 0, 0, .5); + opacity: 0; + transform: scale(0); + -webkit-transform: scale(0); + -webkit-transition: all .3s; + -moz-transition: all .3s; + border-radius: 50% +} + +.zeus .tp-arr-imgholder, .zeus .tp-title-wrap { + top: 0; + position: absolute; + left: 0; + width: 100%; + height: 100%; + transition: all .3s +} + +.zeus .tp-arr-imgholder { + background-position: center center; + background-size: cover; + border-radius: 50%; + transform: translateX(-100%); + -webkit-transform: translateX(-100%); + -webkit-transition: all .3s; + -moz-transition: all .3s +} + +.zeus.tp-rightarrow .tp-arr-imgholder { + transform: translateX(100%); + -webkit-transform: translateX(100%) +} + +.zeus.tparrows:hover .tp-arr-imgholder { + transform: translateX(0); + -webkit-transform: translateX(0); + opacity: 1 +} + +.zeus.tparrows:hover .tp-title-wrap { + transform: scale(1); + -webkit-transform: scale(1); + opacity: 1 +} + +.zeus .tp-bullet { + box-sizing: content-box; + -webkit-box-sizing: content-box; + border-radius: 50%; + background-color: transparent; + -webkit-transition: opacity .3s ease; + transition: opacity .3s ease; + width: 13px; + height: 13px; + border: 2px solid #fff +} + +.zeus .tp-bullet:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + left: 0; + border-radius: 50%; + background-color: #FFF; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: -webkit-transform .3s ease; + transition: transform .3s ease +} + +.zeus .tp-bullet.selected:after, .zeus .tp-bullet:hover:after { + -webkit-transform: scale(1.2); + transform: scale(1.2) +} + +.zeus .tp-bullet-image, .zeus .tp-bullet-imageoverlay { + height: 60px; + background: #000; + background: rgba(0, 0, 0, .5); + bottom: 25px; + left: 50%; + margin-left: -65px; + box-sizing: border-box; + background-size: cover; + background-position: center center; + backface-visibility: hidden; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all .3s ease; + transition: all .3s ease; + border-radius: 4px +} + +.zeus .tp-bullet-image, .zeus .tp-bullet-imageoverlay, .zeus .tp-bullet-title { + visibility: hidden; + opacity: 0; + -webkit-backface-visibility: hidden; + position: absolute; + width: 135px +} + +.zeus .tp-bullet-imageoverlay, .zeus .tp-bullet-title { + z-index: 2; + -webkit-transition: all .5s ease; + transition: all .5s ease +} + +.zeus .tp-bullet-title { + color: #fff; + text-align: center; + line-height: 15px; + font-size: 13px; + font-weight: 600; + z-index: 3; + backface-visibility: hidden; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all .3s ease; + transition: all .3s ease; + bottom: 45px; + vertical-align: middle; + left: -57px +} + +.post-tabs .tp-thumb, .zeus .tp-tab, .zeus .tp-thumb { + opacity: 1 +} + +.zeus .tp-bullet:hover .tp-bullet-image, .zeus .tp-bullet:hover .tp-bullet-imageoverlay, .zeus .tp-bullet:hover .tp-bullet-title { + opacity: 1; + visibility: visible; + -webkit-transform: translateY(0); + transform: translateY(0) +} + +.zeus .tp-thumb-over { + background: #000; + background: rgba(0, 0, 0, .25); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; + -webkit-transition: all .3s; + transition: all .3s +} + +.zeus .tp-thumb-more:before, .zeus .tp-thumb-title { + display: block; + font-size: 12px; + text-align: left; + position: absolute; + z-index: 2 +} + +.zeus .tp-thumb-more:before { + color: #aaa; + color: rgba(255, 255, 255, .75); + line-height: 12px; + top: 20px; + right: 20px +} + +.zeus .tp-thumb-title { + font-family: Raleway; + letter-spacing: 1px; + color: #fff; + line-height: 15px; + top: 0; + left: 0; + padding: 20px 35px 20px 20px; + width: 100%; + height: 100%; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + font-weight: 500 +} + +.zeus .tp-thumb.selected .tp-thumb-more:before, .zeus .tp-thumb:hover .tp-thumb-more:before { + color: #aaa +} + +.zeus .tp-thumb.selected .tp-thumb-over, .zeus .tp-thumb:hover .tp-thumb-over { + background: #000 +} + +.zeus .tp-thumb.selected .tp-thumb-title, .zeus .tp-thumb:hover .tp-thumb-title { + color: #fff +} + +.zeus .tp-tab { + box-sizing: border-box +} + +.zeus .tp-tab-title { + display: block; + text-align: center; + background: rgba(0, 0, 0, .25); + font-family: "Roboto Slab", serif; + font-weight: 700; + font-size: 13px; + line-height: 13px; + color: #fff; + padding: 9px 10px +} + +.zeus .tp-tab.selected .tp-tab-title, .zeus .tp-tab:hover .tp-tab-title { + color: #000; + background: rgba(255, 255, 255, 1) +} + +.post-tabs .tp-thumb-over { + background: #252525; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; + -webkit-transition: all .3s; + transition: all .3s +} + +.post-tabs .tp-thumb-more:before, .post-tabs .tp-thumb-title { + font-size: 12px; + display: block; + text-align: left; + position: absolute; + z-index: 2 +} + +.post-tabs .tp-thumb-more:before { + font-family: revicons; + color: #aaa; + color: rgba(255, 255, 255, .75); + line-height: 12px; + top: 15px; + right: 15px +} + +.post-tabs .tp-thumb-title { + font-family: raleway; + letter-spacing: 1px; + color: #fff; + line-height: 15px; + top: 0; + left: 0; + padding: 15px 30px 15px 15px; + width: 100%; + height: 100%; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + font-weight: 500 +} + +.post-tabs .tp-thumb.selected .tp-thumb-more:before, .post-tabs .tp-thumb:hover .tp-thumb-more:before { + color: #aaa +} + +.post-tabs .tp-thumb.selected .tp-thumb-over, .post-tabs .tp-thumb:hover .tp-thumb-over { + background: #fff +} + +.post-tabs .tp-thumb.selected .tp-thumb-title, .post-tabs .tp-thumb:hover .tp-thumb-title { + color: #000 +} + +/* Layers Styles +-------------------------------------------------------*/ +.large_text, .medium_grey, .medium_text, .small_text, .tp-caption.large_text, .tp-caption.medium_grey, .tp-caption.medium_text, .tp-caption.small_text { + font-weight: 700; + text-shadow: 0 2px 5px rgba(0, 0, 0, .5); + white-space: nowrap; + border-style: none; + border-width: 0; + font-family: Arial; + margin: 0; + position: absolute +} + +.tp-caption.Twitter-Content a, .tp-caption.Twitter-Content a:visited { + color: #0084B4 !important +} + +.tp-caption.Twitter-Content a:hover { + color: #0084B4 !important; + text-decoration: underline !important +} + +.medium_grey, .tp-caption.medium_grey { + background-color: #888; + color: #fff; + font-size: 20px; + line-height: 20px; + padding: 2px 4px +} + +.small_text, .tp-caption.small_text { + color: #fff; + font-size: 14px; + line-height: 20px +} + +.medium_text, .tp-caption.medium_text { + color: #fff; + font-size: 20px; + line-height: 20px +} + +.large_text, .tp-caption.large_text { + color: #fff; + font-size: 40px; + line-height: 40px +} + +.tp-caption.very_large_text, .very_large_text { + border-style: none; + border-width: 0; + color: #fff; + font-family: Arial; + font-size: 60px; + font-weight: 700; + letter-spacing: -2px; + line-height: 60px; + margin: 0; + position: absolute; + text-shadow: 0 2px 5px rgba(0, 0, 0, .5); + white-space: nowrap +} + +.tp-caption.very_big_black, .tp-caption.very_big_white, .very_big_black, .very_big_white { + border-style: none; + border-width: 0; + font-family: Arial; + font-size: 60px; + line-height: 60px; + margin: 0; + padding: 1px 4px 0; + position: absolute; + text-shadow: none; + white-space: nowrap +} + +.tp-caption.very_big_white, .very_big_white { + background-color: #000; + color: #fff; + font-weight: 800 +} + +.tp-caption.very_big_black, .very_big_black { + background-color: #fff; + color: #000; + font-weight: 700 +} + +.modern_medium_fat, .modern_medium_fat_white, .modern_medium_light, .tp-caption.modern_medium_fat, .tp-caption.modern_medium_fat_white, .tp-caption.modern_medium_light { + white-space: nowrap; + font-family: "Open Sans", sans-serif; + font-size: 24px; + line-height: 20px; + margin: 0; + position: absolute; + text-shadow: none +} + +.modern_medium_fat, .tp-caption.modern_medium_fat { + border-style: none; + border-width: 0; + color: #000; + font-weight: 800 +} + +.modern_medium_fat_white, .tp-caption.modern_medium_fat_white { + border-style: none; + border-width: 0; + color: #fff; + font-weight: 800 +} + +.modern_medium_light, .tp-caption.modern_medium_light { + border-style: none; + border-width: 0; + color: #000; + font-weight: 300 +} + +.modern_big_bluebg, .modern_big_redbg, .tp-caption.modern_big_bluebg, .tp-caption.modern_big_redbg { + margin: 0; + border-style: none; + border-width: 0; + text-shadow: none; + position: absolute; + color: #fff; + font-family: "Open Sans", sans-serif; + font-size: 30px; + letter-spacing: 0; + line-height: 36px +} + +.modern_big_bluebg, .tp-caption.modern_big_bluebg { + background-color: #4e5b6c; + font-weight: 800; + padding: 3px 10px +} + +.modern_big_redbg, .tp-caption.modern_big_redbg { + background-color: #de543e; + font-weight: 300; + padding: 1px 10px 3px +} + +.modern_small_text_dark, .tp-caption.modern_small_text_dark { + border-style: none; + border-width: 0; + color: #555; + font-family: Arial; + font-size: 14px; + line-height: 22px; + margin: 0; + position: absolute; + text-shadow: none; + white-space: nowrap +} + +.boxshadow, .tp-caption.boxshadow { + -moz-box-shadow: 0 0 20px rgba(0, 0, 0, .5); + -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .5); + box-shadow: 0 0 20px rgba(0, 0, 0, .5) +} + +.black, .tp-caption.black { + color: #000; + text-shadow: none +} + +.thinheadline_dark, .thintext_dark, .tp-caption.thinheadline_dark, .tp-caption.thintext_dark { + background-color: transparent; + color: rgba(0, 0, 0, .85); + font-family: "Open Sans"; + font-weight: 300; + position: absolute; + text-shadow: none +} + +.noshadow, .tp-caption.noshadow { + text-shadow: none +} + +.thinheadline_dark, .tp-caption.thinheadline_dark { + font-size: 30px; + line-height: 30px +} + +.thintext_dark, .tp-caption.thintext_dark { + font-size: 16px; + line-height: 26px +} + +.largeblackbg, .largepinkbg, .tp-caption.largeblackbg, .tp-caption.largepinkbg { + text-shadow: none; + font-family: "Open Sans"; + font-size: 50px; + font-weight: 300; + line-height: 70px; + padding: 0 20px; + position: absolute; + color: #fff +} + +.largeblackbg, .tp-caption.largeblackbg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #000; + border-radius: 0 +} + +.largepinkbg, .tp-caption.largepinkbg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #db4360; + border-radius: 0 +} + +.largewhitebg, .tp-caption.largewhitebg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #fff; + border-radius: 0; + color: #000; + font-family: "Open Sans"; + font-size: 50px; + font-weight: 300; + line-height: 70px; + padding: 0 20px; + position: absolute; + text-shadow: none +} + +.largegreenbg, .tp-caption.largegreenbg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #67ae73; + border-radius: 0; + color: #fff; + font-family: "Open Sans"; + font-size: 50px; + font-weight: 300; + line-height: 70px; + padding: 0 20px; + position: absolute; + text-shadow: none +} + +.excerpt, .tp-caption.excerpt { + background-color: rgba(0, 0, 0, 1); + border-color: #fff; + border-style: none; + border-width: 0; + color: #fff; + font-family: Arial; + font-size: 36px; + font-weight: 700; + height: auto; + letter-spacing: -1.5px; + line-height: 36px; + margin: 0; + padding: 1px 4px 0; + text-decoration: none; + text-shadow: none; + white-space: normal !important; + width: 150px +} + +.large_bold_grey, .tp-caption.large_bold_grey { + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #666; + font-family: "Open Sans"; + font-size: 60px; + font-weight: 800; + line-height: 60px; + margin: 0; + padding: 1px 4px 0; + text-decoration: none; + text-shadow: none +} + +.medium_thin_grey, .small_thin_grey, .tp-caption.medium_thin_grey, .tp-caption.small_thin_grey { + text-shadow: none; + border-style: none; + border-width: 0; + text-decoration: none; + background-color: transparent; + border-color: #ffd658; + font-family: "Open Sans"; + font-weight: 300; + margin: 0; + padding: 1px 4px 0 +} + +.medium_thin_grey, .tp-caption.medium_thin_grey { + color: #666; + font-size: 34px; + line-height: 30px +} + +.small_thin_grey, .tp-caption.small_thin_grey { + color: #757575; + font-size: 18px; + line-height: 26px +} + +.lightgrey_divider, .tp-caption.lightgrey_divider { + background-color: rgba(235, 235, 235, 1); + background-position: initial initial; + background-repeat: initial initial; + border-color: #222; + border-style: none; + border-width: 0; + height: 3px; + text-decoration: none; + width: 370px +} + +.large_bold_darkblue, .medium_bg_darkblue, .medium_bold_red, .tp-caption.large_bold_darkblue, .tp-caption.medium_bg_darkblue, .tp-caption.medium_bold_red { + border-color: #ffd658; + font-family: "Open Sans"; + font-weight: 800 +} + +.large_bold_darkblue, .tp-caption.large_bold_darkblue { + background-color: transparent; + border-style: none; + border-width: 0; + color: #34495e; + font-size: 58px; + line-height: 60px; + text-decoration: none +} + +.medium_bg_darkblue, .tp-caption.medium_bg_darkblue { + background-color: #34495e; + border-style: none; + border-width: 0; + color: #fff; + font-size: 20px; + line-height: 20px; + padding: 10px; + text-decoration: none +} + +.medium_bold_red, .medium_light_red, .tp-caption.medium_bold_red, .tp-caption.medium_light_red { + padding: 0; + border-style: none; + border-width: 0; + background-color: transparent; + color: #e33a0c; + text-decoration: none +} + +.medium_bold_red, .tp-caption.medium_bold_red { + font-size: 24px; + line-height: 30px +} + +.medium_light_red, .tp-caption.medium_light_red { + border-color: #ffd658; + font-family: "Open Sans"; + font-size: 21px; + font-weight: 300; + line-height: 26px +} + +.medium_bg_red, .medium_bold_orange, .tp-caption.medium_bg_red, .tp-caption.medium_bold_orange { + border-color: #ffd658; + font-family: "Open Sans"; + font-weight: 800; + text-decoration: none +} + +.medium_bg_red, .tp-caption.medium_bg_red { + background-color: #e33a0c; + border-style: none; + border-width: 0; + color: #fff; + font-size: 20px; + line-height: 20px; + padding: 10px +} + +.medium_bold_orange, .tp-caption.medium_bold_orange { + background-color: transparent; + border-style: none; + border-width: 0; + color: #f39c12; + font-size: 24px; + line-height: 30px +} + +.large_bold_white, .medium_bg_orange, .tp-caption.large_bold_white, .tp-caption.medium_bg_orange { + text-decoration: none; + border-style: none; + border-width: 0; + color: #fff; + font-family: "Open Sans"; + font-weight: 800 +} + +.medium_bg_orange, .tp-caption.medium_bg_orange { + background-color: #f39c12; + border-color: #ffd658; + font-size: 20px; + line-height: 20px; + padding: 10px +} + +.grassfloor, .tp-caption.grassfloor { + background-color: rgba(160, 179, 151, 1); + border-color: #222; + border-style: none; + border-width: 0; + height: 150px; + text-decoration: none; + width: 4000px +} + +.large_bold_white, .tp-caption.large_bold_white { + background-color: transparent; + border-color: #ffd658; + font-size: 58px; + line-height: 60px +} + +.medium_light_white, .tp-caption.medium_light_white { + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #fff; + font-family: "Open Sans"; + font-size: 30px; + font-weight: 300; + line-height: 36px; + padding: 0; + text-decoration: none +} + +.mediumlarge_light_white, .mediumlarge_light_white_center, .tp-caption.mediumlarge_light_white, .tp-caption.mediumlarge_light_white_center { + color: #fff; + font-family: "Open Sans"; + text-decoration: none; + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + font-size: 34px; + font-weight: 300; + line-height: 40px; + padding: 0 +} + +.mediumlarge_light_white_center, .tp-caption.mediumlarge_light_white_center { + text-align: center +} + +.medium_bg_asbestos, .tp-caption.medium_bg_asbestos { + background-color: #7f8c8d; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #fff; + font-family: "Open Sans"; + font-size: 20px; + font-weight: 800; + line-height: 20px; + padding: 10px; + text-decoration: none +} + +.large_bold_black, .medium_light_black, .tp-caption.large_bold_black, .tp-caption.medium_light_black { + border-color: #ffd658; + font-family: "Open Sans"; + text-decoration: none; + border-style: none; + border-width: 0; + color: #000 +} + +.medium_light_black, .tp-caption.medium_light_black { + background-color: transparent; + font-size: 30px; + font-weight: 300; + line-height: 36px; + padding: 0 +} + +.large_bold_black, .tp-caption.large_bold_black { + background-color: transparent; + font-size: 58px; + font-weight: 800; + line-height: 60px +} + +.mediumlarge_light_darkblue, .tp-caption.mediumlarge_light_darkblue { + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #34495e; + font-family: "Open Sans"; + font-size: 34px; + font-weight: 300; + line-height: 40px; + padding: 0; + text-decoration: none +} + +.large_bg_black, .small_light_white, .tp-caption.large_bg_black, .tp-caption.small_light_white { + text-decoration: none; + border-style: none; + border-width: 0; + font-family: "Open Sans"; + color: #fff +} + +.small_light_white, .tp-caption.small_light_white { + background-color: transparent; + border-color: #ffd658; + font-size: 17px; + font-weight: 300; + line-height: 28px; + padding: 0 +} + +.roundedimage, .tp-caption.roundedimage { + border-color: #222; + border-style: none; + border-width: 0 +} + +.large_bg_black, .tp-caption.large_bg_black { + background-color: #000; + border-color: #ffd658; + font-size: 40px; + font-weight: 800; + line-height: 40px; + padding: 10px 20px 15px +} + +.mediumwhitebg, .tp-caption.mediumwhitebg { + background-color: #fff; + border-color: #000; + border-style: none; + border-width: 0; + color: #000; + font-family: "Open Sans"; + font-size: 30px; + font-weight: 300; + line-height: 30px; + padding: 5px 15px 10px; + text-decoration: none; + text-shadow: none +} + +.maincaption, .tp-caption.maincaption { + background-color: transparent; + border-color: #000; + border-style: none; + border-width: 0; + color: #212a40; + font-family: roboto; + font-size: 33px; + font-weight: 500; + line-height: 43px; + text-decoration: none; + text-shadow: none +} + +.miami_subtitle, .miami_title_60px, .tp-caption.miami_subtitle, .tp-caption.miami_title_60px { + text-decoration: none; + background-color: transparent; + border-color: #000; + border-style: none; + border-width: 0; + font-family: "Source Sans Pro"; + text-shadow: none +} + +.miami_title_60px, .tp-caption.miami_title_60px { + color: #fff; + font-size: 60px; + font-weight: 700; + letter-spacing: 1px; + line-height: 60px +} + +.miami_subtitle, .tp-caption.miami_subtitle { + color: rgba(255, 255, 255, .65); + font-size: 17px; + font-weight: 400; + letter-spacing: 2px; + line-height: 24px +} + +.Miami_nostyle, .divideline30px, .tp-caption.Miami_nostyle, .tp-caption.divideline30px { + border-color: #222; + border-style: none; + border-width: 0 +} + +.divideline30px, .tp-caption.divideline30px { + background: #fff; + height: 2px; + min-width: 30px; + text-decoration: none +} + +.miami_content_dark, .miami_content_light, .miami_title_60px_dark, .tp-caption.miami_content_dark, .tp-caption.miami_content_light, .tp-caption.miami_title_60px_dark { + border-style: none; + border-width: 0; + text-decoration: none; + text-shadow: none; + background-color: transparent; + border-color: #000; + font-family: "Source Sans Pro" +} + +.miami_content_light, .tp-caption.miami_content_light { + color: #fff; + font-size: 22px; + font-weight: 400; + letter-spacing: 0; + line-height: 28px +} + +.miami_title_60px_dark, .tp-caption.miami_title_60px_dark { + color: #333; + font-size: 60px; + font-weight: 700; + letter-spacing: 1px; + line-height: 60px +} + +.miami_content_dark, .tp-caption.miami_content_dark { + color: #666; + font-size: 22px; + font-weight: 400; + letter-spacing: 0; + line-height: 28px +} + +.divideline30px_dark, .tp-caption.divideline30px_dark { + background-color: #333; + border-color: #222; + border-style: none; + border-width: 0; + height: 2px; + min-width: 30px; + text-decoration: none +} + +.ellipse70px, .tp-caption.ellipse70px { + background-color: rgba(0, 0, 0, .14902); + border-color: #222; + border-radius: 50px; + border-style: none; + border-width: 0; + cursor: pointer; + line-height: 1px; + min-height: 70px; + min-width: 70px; + text-decoration: none +} + +.arrowicon, .tp-caption.arrowicon { + border-color: #222; + border-style: none; + border-width: 0; + line-height: 1px +} + +.MarkerDisplay, .tp-caption.MarkerDisplay { + background-color: transparent; + border-color: #000; + border-radius: 0; + border-style: none; + border-width: 0; + font-family: Permanent Marker; + font-style: normal; + padding: 0; + text-decoration: none; + text-shadow: none +} + +.Restaurant-Cursive, .Restaurant-Display, .tp-caption.Restaurant-Cursive, .tp-caption.Restaurant-Display { + padding: 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: #fff; + font-style: normal +} + +.Restaurant-Display, .tp-caption.Restaurant-Display { + font-family: Roboto; + font-size: 120px; + font-weight: 700; + line-height: 120px +} + +.Restaurant-Cursive, .tp-caption.Restaurant-Cursive { + font-family: Nothing you could do; + font-size: 30px; + font-weight: 400; + letter-spacing: 2px; + line-height: 30px +} + +.Restaurant-ScrollDownText, .tp-caption.Restaurant-ScrollDownText { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: #fff; + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 400; + letter-spacing: 2px; + line-height: 17px; + padding: 0; + text-decoration: none +} + +.Restaurant-Description, .Restaurant-Price, .tp-caption.Restaurant-Description, .tp-caption.Restaurant-Price { + border-radius: 0; + font-family: Roboto; + font-style: normal; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + color: #fff; + font-weight: 300; + letter-spacing: 3px; + line-height: 30px; + padding: 0 +} + +.Restaurant-Description, .tp-caption.Restaurant-Description { + font-size: 20px +} + +.Restaurant-Price, .tp-caption.Restaurant-Price { + font-size: 30px +} + +.Restaurant-Menuitem, .tp-caption.Restaurant-Menuitem { + background-color: rgba(0, 0, 0, 1); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 400; + letter-spacing: 2px; + line-height: 17px; + padding: 10px 30px; + text-align: left; + text-decoration: none +} + +.Furniture-LogoText, .Furniture-Plus, .tp-caption.Furniture-LogoText, .tp-caption.Furniture-Plus { + border-color: transparent; + border-style: none; + border-width: 0; + color: rgba(230, 207, 163, 1); + font-family: Raleway; + font-style: normal; + text-decoration: none; + text-shadow: none +} + +.Furniture-LogoText, .tp-caption.Furniture-LogoText { + background-color: transparent; + border-radius: 0; + font-size: 160px; + font-weight: 300; + line-height: 150px; + padding: 0 +} + +.Furniture-Plus, .tp-caption.Furniture-Plus { + background-color: rgba(255, 255, 255, 1); + border-radius: 30px; + box-shadow: rgba(0, 0, 0, .1) 0 1px 3px; + font-size: 20px; + font-weight: 400; + line-height: 20px; + padding: 6px 7px 4px +} + +.Furniture-Subtitle, .Furniture-Title, .tp-caption.Furniture-Subtitle, .tp-caption.Furniture-Title { + text-shadow: none; + color: rgba(0, 0, 0, 1); + font-family: Raleway; + font-style: normal; + line-height: 20px; + padding: 0; + text-decoration: none +} + +.Furniture-Title, .tp-caption.Furniture-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px; + font-weight: 700; + letter-spacing: 3px +} + +.Furniture-Subtitle, .tp-caption.Furniture-Subtitle { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 17px; + font-weight: 300 +} + +.Fashion-SmallText, .Gym-Display, .Gym-SmallText, .Gym-Subline, .tp-caption.Fashion-SmallText, .tp-caption.Gym-Display, .tp-caption.Gym-SmallText, .tp-caption.Gym-Subline { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-style: normal; + padding: 0; + text-decoration: none +} + +.Gym-Display, .tp-caption.Gym-Display { + font-size: 80px; + font-weight: 900; + line-height: 70px +} + +.Gym-Subline, .tp-caption.Gym-Subline { + font-size: 30px; + font-weight: 100; + letter-spacing: 5px; + line-height: 30px +} + +.Gym-SmallText, .tp-caption.Gym-SmallText { + font-size: 17px; + font-weight: 300; + line-height: 22; + text-shadow: none +} + +.Fashion-SmallText, .tp-caption.Fashion-SmallText { + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + line-height: 20px +} + +.Fashion-BigDisplay, .Fashion-TextBlock, .tp-caption.Fashion-BigDisplay, .tp-caption.Fashion-TextBlock { + color: rgba(0, 0, 0, 1); + font-family: Raleway; + font-style: normal; + letter-spacing: 2px; + padding: 0; + text-decoration: none +} + +.Fashion-BigDisplay, .tp-caption.Fashion-BigDisplay { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 60px; + font-weight: 900; + line-height: 60px +} + +.Fashion-TextBlock, .tp-caption.Fashion-TextBlock { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px; + font-weight: 400; + line-height: 40px +} + +.Sports-Display, .Sports-DisplayFat, .tp-caption.Sports-Display, .tp-caption.Sports-DisplayFat { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-width: 0; + text-decoration: none; + font-style: normal; + padding: 0; + border-style: none; + font-family: Raleway; + color: rgba(255, 255, 255, 1); + font-size: 130px; + line-height: 130px +} + +.Sports-Display, .tp-caption.Sports-Display { + font-weight: 100; + letter-spacing: 13px +} + +.Sports-DisplayFat, .tp-caption.Sports-DisplayFat { + font-weight: 900 +} + +.Sports-Subline, .tp-caption.Sports-Subline { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(0, 0, 0, 1); + font-family: Raleway; + font-size: 32px; + font-style: normal; + font-weight: 400; + letter-spacing: 4px; + line-height: 32px; + padding: 0; + text-decoration: none +} + +.Instagram-Caption, .tp-caption.Instagram-Caption { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Roboto; + font-size: 20px; + font-style: normal; + font-weight: 900; + line-height: 20px; + padding: 0; + text-decoration: none +} + +.News-Subtitle, .News-Title, .tp-caption.News-Subtitle, .tp-caption.News-Title { + padding: 0; + font-style: normal; + border-style: none; + color: rgba(255, 255, 255, 1); + font-family: Roboto Slab +} + +.News-Title, .tp-caption.News-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-width: 0; + font-size: 70px; + font-weight: 400; + line-height: 60px; + text-decoration: none +} + +.News-Subtitle, .News-Subtitle:hover, .tp-caption.News-Subtitle, .tp-caption.News-Subtitle:hover { + border-color: transparent; + text-decoration: none; + background-color: rgba(255, 255, 255, 0); + border-radius: 0; + border-width: 0 +} + +.News-Subtitle, .tp-caption.News-Subtitle { + font-size: 15px; + font-weight: 300; + line-height: 24px +} + +.News-Subtitle:hover, .tp-caption.News-Subtitle:hover { + border-style: solid; + color: rgba(255, 255, 255, .65) +} + +.Photography-Display, .tp-caption.Photography-Display { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 80px; + font-style: normal; + font-weight: 100; + letter-spacing: 5px; + line-height: 70px; + padding: 0; + text-decoration: none +} + +.Photography-ImageHover, .Photography-Menuitem, .Photography-Subline, .tp-caption.Photography-ImageHover, .tp-caption.Photography-Menuitem, .tp-caption.Photography-Subline { + font-style: normal; + text-decoration: none; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px +} + +.Photography-Subline, .tp-caption.Photography-Subline { + background-color: transparent; + border-color: transparent; + color: rgba(119, 119, 119, 1); + font-family: Raleway; + font-weight: 300; + letter-spacing: 3px; + line-height: 30px; + padding: 0 +} + +.Photography-ImageHover, .tp-caption.Photography-ImageHover { + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + color: rgba(255, 255, 255, 1); + font-weight: 400; + line-height: 22; + padding: 0 +} + +.Photography-ImageHover:hover, .tp-caption.Photography-ImageHover:hover { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Photography-Menuitem, .tp-caption.Photography-Menuitem { + background-color: rgba(0, 0, 0, .65); + border-color: transparent; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-weight: 300; + letter-spacing: 2px; + line-height: 20px; + padding: 3px 5px 3px 8px +} + +.Photography-Menuitem:hover, .tp-caption.Photography-Menuitem:hover { + background-color: rgba(0, 255, 222, .65); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Photography-Textblock, .tp-caption.Photography-Textblock { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 17px; + font-style: normal; + font-weight: 300; + letter-spacing: 2px; + line-height: 30px; + padding: 0; + text-decoration: none +} + +.Photography-ImageHover2, .Photography-Subline-2, .tp-caption.Photography-ImageHover2, .tp-caption.Photography-Subline-2 { + font-style: normal; + padding: 0; + text-decoration: none; + background-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px +} + +.Photography-Subline-2, .tp-caption.Photography-Subline-2 { + border-color: transparent; + color: rgba(255, 255, 255, .35); + font-family: Raleway; + font-weight: 300; + letter-spacing: 3px; + line-height: 30px +} + +.Photography-ImageHover2, .tp-caption.Photography-ImageHover2 { + border-color: rgba(255, 255, 255, 0); + color: rgba(255, 255, 255, 1); + font-family: Arial; + font-weight: 400; + line-height: 22 +} + +.Photography-ImageHover2:hover, .tp-caption.Photography-ImageHover2:hover { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.WebProduct-Title, .tp-caption.WebProduct-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(51, 51, 51, 1); + font-family: Raleway; + font-size: 90px; + font-style: normal; + font-weight: 100; + line-height: 90px; + padding: 0; + text-decoration: none +} + +.WebProduct-Content, .WebProduct-SubTitle, .tp-caption.WebProduct-Content, .tp-caption.WebProduct-SubTitle { + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + text-decoration: none; + font-family: Raleway; + font-style: normal; + background-color: transparent; + color: rgba(153, 153, 153, 1); + padding: 0 +} + +.WebProduct-SubTitle, .tp-caption.WebProduct-SubTitle { + font-size: 15px; + font-weight: 400; + line-height: 20px +} + +.WebProduct-Content, .tp-caption.WebProduct-Content { + font-size: 16px; + font-weight: 600; + line-height: 24px +} + +.WebProduct-Menuitem, .tp-caption.WebProduct-Menuitem { + background-color: rgba(51, 51, 51, 1); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 15px; + font-style: normal; + font-weight: 500; + letter-spacing: 2px; + line-height: 20px; + padding: 3px 5px 3px 8px; + text-align: left; + text-decoration: none +} + +.WebProduct-Menuitem:hover, .tp-caption.WebProduct-Menuitem:hover { + background-color: rgba(255, 255, 255, 1); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(153, 153, 153, 1); + text-decoration: none +} + +.WebProduct-Content-Light, .WebProduct-SubTitle-Light, .WebProduct-Title-Light, .tp-caption.WebProduct-Content-Light, .tp-caption.WebProduct-SubTitle-Light, .tp-caption.WebProduct-Title-Light { + border-color: transparent; + font-family: Raleway; + font-style: normal; + text-align: left; + background-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + padding: 0; + text-decoration: none +} + +.WebProduct-Title-Light, .tp-caption.WebProduct-Title-Light { + color: rgba(255, 255, 255, 1); + font-size: 90px; + font-weight: 100; + line-height: 90px +} + +.WebProduct-SubTitle-Light, .tp-caption.WebProduct-SubTitle-Light { + color: rgba(255, 255, 255, .35); + font-size: 15px; + font-weight: 400; + line-height: 20px +} + +.WebProduct-Content-Light, .tp-caption.WebProduct-Content-Light { + color: rgba(255, 255, 255, .65); + font-size: 16px; + font-weight: 600; + line-height: 24px +} + +.FatRounded, .FatRounded:hover, .tp-caption.FatRounded, .tp-caption.FatRounded:hover { + border-style: none; + border-width: 0; + text-decoration: none; + border-color: rgba(211, 211, 211, 1); + border-radius: 50px; + color: rgba(255, 255, 255, 1) +} + +.FatRounded, .tp-caption.FatRounded { + background-color: rgba(0, 0, 0, .5); + font-family: Raleway; + font-size: 30px; + font-style: normal; + font-weight: 900; + line-height: 30px; + padding: 20px 22px 20px 25px; + text-align: left; + text-shadow: none +} + +.FatRounded:hover, .tp-caption.FatRounded:hover { + background-color: rgba(0, 0, 0, 1) +} + +.NotGeneric-Title, .tp-caption.NotGeneric-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 70px; + font-style: normal; + font-weight: 800; + line-height: 70px; + padding: 10px 0; + text-decoration: none +} + +.NotGeneric-CallToAction, .NotGeneric-SubTitle, .tp-caption.NotGeneric-CallToAction, .tp-caption.NotGeneric-SubTitle { + font-style: normal; + text-align: left; + font-family: Raleway; + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: transparent; + border-radius: 0; + font-weight: 500 +} + +.NotGeneric-SubTitle, .tp-caption.NotGeneric-SubTitle { + border-color: transparent; + border-style: none; + border-width: 0; + font-size: 13px; + letter-spacing: 4px; + line-height: 20px; + padding: 0 +} + +.NotGeneric-CallToAction, .tp-caption.NotGeneric-CallToAction { + border-color: rgba(255, 255, 255, .5); + border-style: solid; + border-width: 1px; + font-size: 14px; + letter-spacing: 3px; + line-height: 14px; + padding: 10px 30px +} + +.NotGeneric-CallToAction:hover, .tp-caption.NotGeneric-CallToAction:hover { + background-color: transparent; + border-color: rgba(255, 255, 255, 1); + border-radius: 0; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.NotGeneric-Icon, .tp-caption.NotGeneric-Icon { + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + border-radius: 0; + border-style: solid; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 30px; + font-style: normal; + font-weight: 400; + letter-spacing: 3px; + line-height: 30px; + padding: 0; + text-align: left; + text-decoration: none +} + +.NotGeneric-Menuitem, .NotGeneric-Menuitem:hover, .tp-caption.NotGeneric-Menuitem, .tp-caption.NotGeneric-Menuitem:hover { + background-color: transparent; + border-radius: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none; + border-style: solid; + border-width: 1px +} + +.NotGeneric-Menuitem, .tp-caption.NotGeneric-Menuitem { + border-color: rgba(255, 255, 255, .15); + font-family: Raleway; + font-size: 14px; + font-style: normal; + font-weight: 500; + letter-spacing: 3px; + line-height: 14px; + padding: 27px 30px; + text-align: left +} + +.NotGeneric-Menuitem:hover, .tp-caption.NotGeneric-Menuitem:hover { + border-color: rgba(255, 255, 255, 1) +} + +.MarkerStyle, .tp-caption.MarkerStyle { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: "Permanent Marker"; + font-size: 17px; + font-style: normal; + font-weight: 100; + line-height: 30px; + padding: 0; + text-align: left; + text-decoration: none +} + +.Gym-Menuitem, .Gym-Menuitem:hover, .tp-caption.Gym-Menuitem, .tp-caption.Gym-Menuitem:hover { + text-decoration: none; + color: rgba(255, 255, 255, 1); + background-color: rgba(0, 0, 0, 1); + border-radius: 3px; + border-style: solid; + border-width: 2px +} + +.Gym-Menuitem, .tp-caption.Gym-Menuitem { + border-color: rgba(255, 255, 255, 0); + font-family: Raleway; + font-size: 20px; + font-style: normal; + font-weight: 300; + letter-spacing: 2px; + line-height: 20px; + padding: 3px 5px 3px 8px; + text-align: left +} + +.Gym-Menuitem:hover, .tp-caption.Gym-Menuitem:hover { + border-color: rgba(255, 255, 255, .25) +} + +.Newspaper-Title-Centered, .tp-caption.Newspaper-Title-Centered { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: "Roboto Slab"; + font-size: 50px; + font-style: normal; + font-weight: 400; + line-height: 55px; + padding: 0 0 10px; + text-align: center; + text-decoration: none +} + +.Hero-Button, .NotGeneric-BigButton, .NotGeneric-Button, .tp-caption.Hero-Button, .tp-caption.NotGeneric-BigButton, .tp-caption.NotGeneric-Button { + font-style: normal; + text-align: left; + font-weight: 500; + letter-spacing: 3px; + line-height: 14px +} + +.Hero-Button, .tp-caption.Hero-Button { + background-color: transparent; + border-color: rgba(255, 255, 255, .5); + border-radius: 0; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 14px; + padding: 10px 30px; + text-decoration: none +} + +.Hero-Button:hover, .tp-caption.Hero-Button:hover { + background-color: rgba(255, 255, 255, 1); + border-color: rgba(255, 255, 255, 1); + border-radius: 0; + border-style: solid; + border-width: 1px; + color: rgba(0, 0, 0, 1); + text-decoration: none +} + +.NotGeneric-BigButton, .NotGeneric-BigButton:hover, .NotGeneric-Button, .NotGeneric-Button:hover, .tp-caption.NotGeneric-BigButton, .tp-caption.NotGeneric-BigButton:hover, .tp-caption.NotGeneric-Button, .tp-caption.NotGeneric-Button:hover { + border-radius: 0; + text-decoration: none; + color: rgba(255, 255, 255, 1); + background-color: transparent; + border-style: solid; + border-width: 1px +} + +.NotGeneric-Button, .tp-caption.NotGeneric-Button { + border-color: rgba(255, 255, 255, .5); + font-family: Raleway; + font-size: 14px; + padding: 10px 30px +} + +.NotGeneric-Button:hover, .tp-caption.NotGeneric-Button:hover { + border-color: rgba(255, 255, 255, 1) +} + +.NotGeneric-BigButton, .tp-caption.NotGeneric-BigButton { + border-color: rgba(255, 255, 255, .15); + font-family: Raleway; + font-size: 14px; + padding: 27px 30px +} + +.NotGeneric-BigButton:hover, .tp-caption.NotGeneric-BigButton:hover { + border-color: rgba(255, 255, 255, 1) +} + +.WebProduct-Button, .tp-caption.WebProduct-Button { + background-color: rgba(51, 51, 51, 1); + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: none; + border-width: 2px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 16px; + font-style: normal; + font-weight: 600; + letter-spacing: 1px; + line-height: 48px; + padding: 0 40px; + text-align: left; + text-decoration: none +} + +.WebProduct-Button:hover, .tp-caption.WebProduct-Button:hover { + background-color: rgba(255, 255, 255, 1); + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: none; + border-width: 2px; + color: rgba(51, 51, 51, 1); + text-decoration: none +} + +.Restaurant-Button, .tp-caption.Restaurant-Button { + background-color: rgba(10, 10, 10, 0); + border-color: rgba(255, 255, 255, .5); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 500; + letter-spacing: 3px; + line-height: 17px; + padding: 12px 35px; + text-align: left; + text-decoration: none +} + +.Gym-Button, .Gym-Button-Light, .tp-caption.Gym-Button, .tp-caption.Gym-Button-Light { + font-size: 15px; + font-style: normal; + font-weight: 600; + line-height: 15px; + text-align: left +} + +.Restaurant-Button:hover, .tp-caption.Restaurant-Button:hover { + background-color: transparent; + border-color: rgba(255, 224, 129, 1); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Gym-Button, .Gym-Button:hover, .tp-caption.Gym-Button, .tp-caption.Gym-Button:hover { + border-radius: 30px; + border-style: solid; + color: rgba(255, 255, 255, 1); + text-decoration: none; + border-color: transparent; + border-width: 0 +} + +.Gym-Button, .tp-caption.Gym-Button { + background-color: rgba(139, 192, 39, 1); + font-family: Raleway; + letter-spacing: 1px; + padding: 13px 35px +} + +.Gym-Button:hover, .tp-caption.Gym-Button:hover { + background-color: rgba(114, 168, 0, 1) +} + +.Gym-Button-Light, .tp-caption.Gym-Button-Light { + background-color: transparent; + border-color: rgba(255, 255, 255, .25); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + padding: 12px 35px; + text-decoration: none +} + +.Sports-Button-Light, .Sports-Button-Red, .tp-caption.Sports-Button-Light, .tp-caption.Sports-Button-Red { + font-style: normal; + text-align: left; + font-family: Raleway; + font-weight: 600; + font-size: 17px; + letter-spacing: 2px; + line-height: 17px; + padding: 12px 35px +} + +.Gym-Button-Light:hover, .tp-caption.Gym-Button-Light:hover { + background-color: rgba(114, 168, 0, 0); + border-color: rgba(139, 192, 39, 1); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Sports-Button-Light, .Sports-Button-Light:hover, .tp-caption.Sports-Button-Light, .tp-caption.Sports-Button-Light:hover { + border-style: solid; + color: rgba(255, 255, 255, 1); + text-decoration: none; + border-radius: 0; + border-width: 2px; + background-color: transparent +} + +.Sports-Button-Light, .tp-caption.Sports-Button-Light { + border-color: rgba(255, 255, 255, .5) +} + +.Sports-Button-Light:hover, .tp-caption.Sports-Button-Light:hover { + border-color: rgba(255, 255, 255, 1) +} + +.Sports-Button-Red, .tp-caption.Sports-Button-Red { + background-color: rgba(219, 28, 34, 1); + border-color: rgba(219, 28, 34, 0); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Sports-Button-Red:hover, .tp-caption.Sports-Button-Red:hover { + background-color: rgba(0, 0, 0, 1); + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Photography-Button, .tp-caption.Photography-Button { + background-color: transparent; + border-color: rgba(255, 255, 255, .25); + border-radius: 30px; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 15px; + font-style: normal; + font-weight: 600; + letter-spacing: 1px; + line-height: 15px; + padding: 13px 35px; + text-align: left; + text-decoration: none +} + +.Photography-Button:hover, .tp-caption.Photography-Button:hover { + background-color: transparent; + border-color: rgba(255, 255, 255, 1); + border-radius: 30px; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Newspaper-Button-2, .Newspaper-Button-2:hover, .tp-caption.Newspaper-Button-2, .tp-caption.Newspaper-Button-2:hover { + background-color: transparent; + border-radius: 3px; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Newspaper-Button-2, .tp-caption.Newspaper-Button-2 { + border-color: rgba(255, 255, 255, .5); + font-family: Roboto; + font-size: 15px; + font-style: normal; + font-weight: 900; + line-height: 15px; + padding: 10px 30px; + text-align: left +} + +.Feature-Examples, .Feature-Tour, .tp-caption.Feature-Examples, .tp-caption.Feature-Tour { + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 700; + line-height: 17px; + text-align: left +} + +.Newspaper-Button-2:hover, .tp-caption.Newspaper-Button-2:hover { + border-color: rgba(255, 255, 255, 1) +} + +.Feature-Tour, .Feature-Tour:hover, .tp-caption.Feature-Tour, .tp-caption.Feature-Tour:hover { + border-radius: 30px; + border-style: solid; + text-decoration: none; + border-color: transparent; + border-width: 0; + color: rgba(255, 255, 255, 1) +} + +.Feature-Tour, .tp-caption.Feature-Tour { + background-color: rgba(139, 192, 39, 1); + padding: 17px 35px +} + +.Feature-Tour:hover, .tp-caption.Feature-Tour:hover { + background-color: rgba(114, 168, 0, 1) +} + +.Feature-Examples, .tp-caption.Feature-Examples { + background-color: transparent; + border-color: rgba(33, 42, 64, .15); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(33, 42, 64, .5); + padding: 15px 35px; + text-decoration: none +} + +.Feature-Examples:hover, .tp-caption.Feature-Examples:hover { + background-color: transparent; + border-color: rgba(139, 192, 39, 1); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(139, 192, 39, 1); + text-decoration: none +} + +.menutab, .subcaption, .tp-caption.menutab, .tp-caption.subcaption { + border-radius: 0; + border-style: none; + border-width: 0; + text-decoration: none; + background-color: transparent; + border-color: rgba(0, 0, 0, 1); + font-family: roboto; + font-style: normal; + padding: 0; + text-align: left; + text-shadow: none +} + +.subcaption, .tp-caption.subcaption { + color: rgba(111, 124, 130, 1); + font-size: 19px; + font-weight: 400; + line-height: 24px +} + +.menutab, .tp-caption.menutab { + color: rgba(41, 46, 49, 1); + font-size: 25px; + font-weight: 300; + line-height: 30px +} + +.menutab:hover, .tp-caption.menutab:hover { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(213, 0, 0, 1); + text-decoration: none +} + +.maincontent, .minitext, .tp-caption.maincontent, .tp-caption.minitext { + text-shadow: none; + background-color: transparent; + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: none; + border-width: 0; + font-family: roboto; + font-style: normal; + padding: 0; + text-align: left; + text-decoration: none +} + +.maincontent, .tp-caption.maincontent { + color: rgba(41, 46, 49, 1); + font-size: 21px; + font-weight: 300; + line-height: 26px +} + +.minitext, .tp-caption.minitext { + color: rgba(185, 186, 187, 1); + font-size: 15px; + font-weight: 400; + line-height: 20px +} + +.Feature-Buy, .Feature-Examples-Light, .tp-caption.Feature-Buy, .tp-caption.Feature-Examples-Light { + font-size: 17px; + font-family: Roboto; + font-style: normal; + font-weight: 700; + line-height: 17px; + text-align: left +} + +.Feature-Buy, .Feature-Buy:hover, .tp-caption.Feature-Buy, .tp-caption.Feature-Buy:hover { + border-color: transparent; + border-radius: 30px; + border-style: solid; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Feature-Buy, .tp-caption.Feature-Buy { + background-color: rgba(0, 154, 238, 1); + padding: 17px 35px +} + +.Feature-Buy:hover, .tp-caption.Feature-Buy:hover { + background-color: rgba(0, 133, 214, 1) +} + +.Feature-Examples-Light, .Feature-Examples-Light:hover, .tp-caption.Feature-Examples-Light, .tp-caption.Feature-Examples-Light:hover { + color: rgba(255, 255, 255, 1); + background-color: transparent; + border-radius: 30px; + border-style: solid; + border-width: 2px; + text-decoration: none +} + +.Feature-Examples-Light, .tp-caption.Feature-Examples-Light { + border-color: rgba(255, 255, 255, .15); + padding: 15px 35px +} + +.Feature-Examples-Light:hover, .tp-caption.Feature-Examples-Light:hover { + border-color: rgba(255, 255, 255, 1) +} + +.Facebook-Likes, .Twitter-Favorites, .Twitter-Link, .tp-caption.Facebook-Likes, .tp-caption.Twitter-Favorites, .tp-caption.Twitter-Link { + font-size: 15px; + border-style: none; + border-width: 0; + text-decoration: none; + border-color: transparent; + font-family: Roboto; + font-style: normal; + font-weight: 500; + text-align: left +} + +.Facebook-Likes, .tp-caption.Facebook-Likes { + background-color: rgba(59, 89, 153, 1); + border-radius: 0; + color: rgba(255, 255, 255, 1); + line-height: 22px; + padding: 5px 15px +} + +.Twitter-Favorites, .tp-caption.Twitter-Favorites { + background-color: rgba(255, 255, 255, 0); + border-radius: 0; + color: rgba(136, 153, 166, 1); + line-height: 22px; + padding: 0 +} + +.Twitter-Link, .tp-caption.Twitter-Link { + background-color: rgba(255, 255, 255, 1); + border-radius: 30px; + color: rgba(135, 153, 165, 1); + line-height: 15px; + padding: 11px 11px 9px +} + +.Twitter-Link:hover, .tp-caption.Twitter-Link:hover { + background-color: rgba(0, 132, 180, 1); + border-color: transparent; + border-radius: 30px; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Twitter-Content, .Twitter-Retweet, .tp-caption.Twitter-Content, .tp-caption.Twitter-Retweet { + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-family: Roboto; + font-style: normal; + font-weight: 500; + text-align: left; + text-decoration: none +} + +.Twitter-Retweet, .tp-caption.Twitter-Retweet { + background-color: rgba(255, 255, 255, 0); + color: rgba(136, 153, 166, 1); + font-size: 15px; + line-height: 22px; + padding: 0 +} + +.Twitter-Content, .tp-caption.Twitter-Content { + background-color: rgba(255, 255, 255, 1); + color: rgba(41, 47, 51, 1); + font-size: 20px; + line-height: 28px; + padding: 30px 30px 70px +} + +.revtp-form input[type=text], .revtp-form input[type=email], .revtp-searchform input[type=text], .revtp-searchform input[type=email] { + font-family: Arial, sans-serif; + font-size: 15px; + color: #000; + background-color: #fff; + line-height: 46px; + padding: 0 20px; + cursor: text; + border: 0; + width: 400px; + margin-bottom: 0; + -webkit-transition: background-color .5s; + -moz-transition: background-color .5s; + -o-transition: background-color .5s; + -ms-transition: background-color .5s; + transition: background-color .5s; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0 +} + +.BigBold-SubTitle, .BigBold-Title, .tp-caption.BigBold-SubTitle, .tp-caption.BigBold-Title { + font-style: normal; + text-align: left; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0 +} + +.BigBold-Title, .tp-caption.BigBold-Title { + color: rgba(255, 255, 255, 1); + font-size: 110px; + line-height: 100px; + font-weight: 800; + font-family: Raleway; + padding: 10px 0 +} + +.BigBold-SubTitle, .tp-caption.BigBold-SubTitle { + color: rgba(255, 255, 255, .5); + font-size: 15px; + line-height: 24px; + font-weight: 500; + font-family: Raleway; + padding: 0; + letter-spacing: 1px +} + +.BigBold-Button, .BigBold-Button:hover, .tp-caption.BigBold-Button, .tp-caption.BigBold-Button:hover { + border-radius: 0; + text-decoration: none; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + background-color: transparent +} + +.BigBold-Button, .tp-caption.BigBold-Button { + font-size: 13px; + line-height: 13px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 15px 50px; + border-color: rgba(255, 255, 255, .5); + text-align: left; + letter-spacing: 1px +} + +.BigBold-Button:hover, .tp-caption.BigBold-Button:hover { + border-color: rgba(255, 255, 255, 1) +} + +.FoodCarousel-Content, .tp-caption.FoodCarousel-Content { + color: rgba(41, 46, 49, 1); + font-size: 17px; + line-height: 28px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 30px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 0; + text-align: left +} + +.FoodCarousel-Button, .FoodCarousel-CloseButton, .tp-caption.FoodCarousel-Button, .tp-caption.FoodCarousel-CloseButton { + font-style: normal; + border-style: solid; + border-width: 1px; + font-weight: 700; + font-family: Raleway; + text-decoration: none; + text-align: left; + letter-spacing: 1px +} + +.FoodCarousel-Button, .tp-caption.FoodCarousel-Button { + color: rgba(41, 46, 49, 1); + font-size: 13px; + line-height: 13px; + padding: 15px 70px 15px 50px; + background-color: rgba(255, 255, 255, 1); + border-color: rgba(41, 46, 49, 1); + border-radius: 0 +} + +.FoodCarousel-Button:hover, .tp-caption.FoodCarousel-Button:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 0 +} + +.FoodCarousel-CloseButton, .tp-caption.FoodCarousel-CloseButton { + color: rgba(41, 46, 49, 1); + font-size: 20px; + line-height: 20px; + padding: 14px 14px 14px 16px; + background-color: transparent; + border-color: rgba(41, 46, 49, 0); + border-radius: 30px +} + +.FoodCarousel-CloseButton:hover, .tp-caption.FoodCarousel-CloseButton:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 0); + border-style: solid; + border-width: 1px; + border-radius: 30px +} + +.Video-SubTitle, .Video-Title, .tp-caption.Video-SubTitle, .tp-caption.Video-Title { + font-family: Raleway; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none; + padding: 5px; + border-color: transparent; + border-radius: 0; + text-align: left +} + +.Video-SubTitle, .tp-caption.Video-SubTitle { + font-size: 12px; + line-height: 12px; + font-weight: 600; + font-style: normal; + background-color: rgba(0, 0, 0, .35); + letter-spacing: 2px +} + +.Video-Title, .tp-caption.Video-Title { + font-size: 30px; + line-height: 30px; + font-weight: 900; + font-style: normal; + background-color: rgba(0, 0, 0, 1) +} + +.RotatingWords-TitleWhite, .Travel-BigCaption, .Travel-SmallCaption, .tp-caption.RotatingWords-TitleWhite, .tp-caption.Travel-BigCaption, .tp-caption.Travel-SmallCaption { + border-color: transparent; + font-style: normal; + background-color: transparent; + border-radius: 0; + text-align: left +} + +.Travel-BigCaption, .tp-caption.Travel-BigCaption { + color: rgba(255, 255, 255, 1); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-family: Roboto; + padding: 0; + text-decoration: none; + border-style: none; + border-width: 0 +} + +.Travel-SmallCaption, .tp-caption.Travel-SmallCaption { + color: rgba(255, 255, 255, 1); + font-size: 25px; + line-height: 30px; + font-weight: 300; + font-family: Roboto; + padding: 0; + text-decoration: none; + border-style: none; + border-width: 0 +} + +.Travel-CallToAction, .Travel-CallToAction:hover, .tp-caption.Travel-CallToAction, .tp-caption.Travel-CallToAction:hover { + text-decoration: none; + color: rgba(255, 255, 255, 1); + border-color: rgba(255, 255, 255, 1); + border-style: solid; + border-width: 2px; + border-radius: 5px +} + +.Travel-CallToAction, .tp-caption.Travel-CallToAction { + font-size: 25px; + line-height: 25px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 20px; + background-color: rgba(255, 255, 255, .05); + text-align: left; + letter-spacing: 1px +} + +.Travel-CallToAction:hover, .tp-caption.Travel-CallToAction:hover { + background-color: rgba(255, 255, 255, .15) +} + +.RotatingWords-TitleWhite, .tp-caption.RotatingWords-TitleWhite { + color: rgba(255, 255, 255, 1); + font-size: 70px; + line-height: 70px; + font-weight: 800; + font-family: Raleway; + padding: 0; + text-decoration: none; + border-style: none; + border-width: 0 +} + +.RotatingWords-Button, .RotatingWords-SmallText, .tp-caption.RotatingWords-Button, .tp-caption.RotatingWords-SmallText { + color: rgba(255, 255, 255, 1); + line-height: 20px; + font-style: normal; + font-family: Raleway; + text-decoration: none; + background-color: transparent; + border-radius: 0; + text-align: left +} + +.RotatingWords-Button, .tp-caption.RotatingWords-Button { + font-size: 20px; + font-weight: 700; + padding: 20px 50px; + border-color: rgba(255, 255, 255, .15); + border-style: solid; + border-width: 2px; + letter-spacing: 3px +} + +.RotatingWords-Button:hover, .tp-caption.RotatingWords-Button:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1); + border-style: solid; + border-width: 2px; + border-radius: 0 +} + +.RotatingWords-SmallText, .tp-caption.RotatingWords-SmallText { + font-size: 14px; + font-weight: 400; + padding: 0; + border-color: transparent; + border-style: none; + border-width: 0; + text-shadow: none +} + +.ContentZoom-SmallSubtitle, .ContentZoom-SmallTitle, .tp-caption.ContentZoom-SmallSubtitle, .tp-caption.ContentZoom-SmallTitle { + font-style: normal; + font-family: Raleway; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0; + text-align: left; + font-weight: 600; + padding: 0 +} + +.ContentZoom-SmallTitle, .tp-caption.ContentZoom-SmallTitle { + color: rgba(41, 46, 49, 1); + font-size: 33px; + line-height: 45px +} + +.ContentZoom-SmallSubtitle, .tp-caption.ContentZoom-SmallSubtitle { + color: rgba(111, 124, 130, 1); + font-size: 16px; + line-height: 24px +} + +.ContentZoom-SmallIcon, .tp-caption.ContentZoom-SmallIcon { + color: rgba(41, 46, 49, 1); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Raleway; + padding: 10px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0; + text-align: left +} + +.ContentZoom-SmallIcon:hover, .tp-caption.ContentZoom-SmallIcon:hover { + color: rgba(111, 124, 130, 1); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0 +} + +.ContentZoom-DetailTitle, .tp-caption.ContentZoom-DetailTitle { + color: rgba(41, 46, 49, 1); + font-size: 70px; + line-height: 70px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0; + text-align: left +} + +.ContentZoom-DetailContent, .ContentZoom-DetailSubTitle, .tp-caption.ContentZoom-DetailContent, .tp-caption.ContentZoom-DetailSubTitle { + border-radius: 0; + background-color: transparent; + color: rgba(111, 124, 130, 1); + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0; + text-decoration: none; + border-color: transparent; + border-style: none; + border-width: 0; + text-align: left +} + +.ContentZoom-DetailSubTitle, .tp-caption.ContentZoom-DetailSubTitle { + font-size: 25px; + line-height: 25px +} + +.ContentZoom-DetailContent, .tp-caption.ContentZoom-DetailContent { + font-size: 17px; + line-height: 28px +} + +.ContentZoom-Button, .ContentZoom-ButtonClose, .tp-caption.ContentZoom-Button, .tp-caption.ContentZoom-ButtonClose { + border-style: solid; + border-width: 1px; + font-size: 13px; + line-height: 13px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + text-decoration: none; + text-align: left; + letter-spacing: 1px +} + +.ContentZoom-Button, .tp-caption.ContentZoom-Button { + color: rgba(41, 46, 49, 1); + padding: 15px 50px; + background-color: transparent; + border-color: rgba(41, 46, 49, .5); + border-radius: 0 +} + +.ContentZoom-Button:hover, .tp-caption.ContentZoom-Button:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 0 +} + +.ContentZoom-ButtonClose, .tp-caption.ContentZoom-ButtonClose { + color: rgba(41, 46, 49, 1); + padding: 14px 14px 14px 16px; + background-color: transparent; + border-color: rgba(41, 46, 49, .5); + border-radius: 30px +} + +.ContentZoom-ButtonClose:hover, .tp-caption.ContentZoom-ButtonClose:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 30px +} + +.Newspaper-Subtitle, .Newspaper-Title, .tp-caption.Newspaper-Subtitle, .tp-caption.Newspaper-Title { + text-decoration: none; + border-radius: 0; + font-style: normal; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0 +} + +.Newspaper-Title, .tp-caption.Newspaper-Title { + color: rgba(255, 255, 255, 1); + font-size: 50px; + line-height: 55px; + font-weight: 400; + font-family: "Roboto Slab"; + padding: 0 0 10px +} + +.Newspaper-Subtitle, .tp-caption.Newspaper-Subtitle { + color: rgba(168, 216, 238, 1); + font-size: 15px; + line-height: 20px; + font-weight: 900; + font-family: Roboto; + padding: 0 +} + +.Newspaper-Button, .tp-caption.Newspaper-Button { + color: rgba(255, 255, 255, 1); + font-size: 13px; + line-height: 17px; + font-weight: 700; + font-style: normal; + font-family: Roboto; + padding: 12px 35px; + text-decoration: none; + background-color: rgba(255, 255, 255, 0); + border-color: rgba(255, 255, 255, .25); + border-style: solid; + border-width: 1px; + border-radius: 0; + letter-spacing: 2px; + text-align: left +} + +.Newspaper-Button:hover, .tp-caption.Newspaper-Button:hover { + color: rgba(0, 0, 0, 1); + text-decoration: none; + background-color: rgba(255, 255, 255, 1); + border-color: rgba(255, 255, 255, 1); + border-style: solid; + border-width: 1px; + border-radius: 0 +} + +.rtwhitemedium, .tp-caption.rtwhitemedium { + font-size: 22px; + line-height: 26px; + color: #fff; + text-decoration: none; + background-color: transparent; + border-width: 0; + border-color: #000; + border-style: none; + text-shadow: none +} + +@media only screen and (max-width: 767px) { + .revtp-form input[type=text], .revtp-form input[type=email], .revtp-searchform input[type=text], .revtp-searchform input[type=email] { + width: 200px !important + } +} + +.revtp-form input[type=submit], .revtp-searchform input[type=submit] { + font-family: Arial, sans-serif; + line-height: 46px; + letter-spacing: 1px; + text-transform: uppercase; + font-size: 15px; + font-weight: 700; + padding: 0 20px; + border: 0; + background: #009aee; + color: #fff; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0 +} + +iframe { + border: 0; +} + +.hermes .tp-arr-imgholder { + background-size: cover; +} + +/* Bullets +-------------------------------------------------------*/ +.tp-bullet { + background: rgba(255, 255, 255, 0); + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + width: 12px !important; + height: 12px !important; + border: 2px solid rgba(255, 255, 255, 0.7) !important; + display: inline-block; + -webkit-transition: background-color 0.2s, border-color 0.2s; + -moz-transition: background-color 0.2s, border-color 0.2s; + -o-transition: background-color 0.2s, border-color 0.2s; + -ms-transition: background-color 0.2s, border-color 0.2s; + transition: background-color 0.2s, border-color 0.2s; + float: none !important; +} + +.tp-bullet.selected, +.tp-bullet:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background-color: #fff; + width: 12px !important; + height: 12px !important; + border: 2px solid rgba(0, 0, 0, 0) !important; +} + +/* Scroll Down icon +-------------------------------------------------------*/ + +.scroll-down { + font-size: 20px; + width: 32px; + height: 32px; + background-color: rgba(255, 255, 255, .2); + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + text-align: center; + line-height: 32px; + z-index: 50 !important; + position: absolute; + bottom: 40px; + left: 50%; + margin-left: -16px; +} + +.scroll-down a { + line-height: 36px; + position: relative; + z-index: 50 !important; +} + +@-webkit-keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +@-moz-keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +@-o-keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +@keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +.scroll-down i { + color: #fff; + -webkit-animation: scroll-down-icon 1s infinite; + -moz-animation: scroll-down-icon 1s infinite; + -o-animation: scroll-down-icon 1s infinite; + animation: scroll-down-icon 1s infinite; + position: absolute; + left: 10px; +} + +/*Slides 2, 3*/ + +.tp-caption.hero-text { + color: #fff; + text-shadow: none; + font-weight: 700; + line-height: 60px; + font-family: "Montserrat", sans-serif; + letter-spacing: 0.02em; + margin: 0px; + border-width: 0px; + border-style: none; + white-space: nowrap; + padding: 0px 4px; + padding-top: 1px; + text-transform: uppercase; +} + +.tp-caption.hero-text.giant_nocaps { + font-size: 116px; + text-transform: none; +} + +.tp-caption.hero-text.huge_nocaps { + font-size: 76px; + text-transform: none; +} + +.tp-caption.hero-text.huge_white { + font-size: 76px; +} + +.tp-caption.hero-text.large_white { + font-size: 60px; +} + +.tp-caption.hero-text.medium { + font-size: 46px; +} + +.tp-caption.medium_text { + color: #fff; + font-weight: 400; + font-size: 15px; + line-height: 20px; + font-family: "Montserrat", sans-serif; + letter-spacing: 0.02em; + margin: 0px; + border-width: 0px; + border-style: none; + white-space: nowrap; + text-transform: uppercase; + text-shadow: none; +} + +.tp-caption.small_text { + color: #fff; + font-weight: 400; + font-size: 16px; + line-height: 20px; + font-family: "Montserrat", sans-serif; + margin: 0px; + border-width: 0px; + border-style: none; + white-space: nowrap; + text-shadow: none; +} + +.subheading_text { + font-family: "Pt Serif", serif; + font-size: 22px; + color: #fff; +} + +.tp-caption.hero-line { + content: ""; + border-bottom: 3px solid #fff; + width: 20%; +} + +.tp-caption a { + color: #fff; +} + +.tp-caption a:hover { + color: #fff; +} diff --git a/server/www/static/www/css/ribbon.css b/server/www/static/www/css/ribbon.css new file mode 100644 index 0000000..793169e --- /dev/null +++ b/server/www/static/www/css/ribbon.css @@ -0,0 +1,42 @@ +.wrapper { + border-radius: 10px; + -webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3); + -moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.3); + box-shadow: 0px 0px 8px rgba(0,0,0,0.3); + position: relative; + z-index: 90; +} + +.ribbon-wrapper { + width: 385px; + height: 288px; + overflow: hidden; + position: absolute; + top: -50px; + right: -150px; +} + +.ribbon-talos { + font: bold 15px Sans-Serif; + text-align: center; + text-shadow: rgba(255,255,255,0.5) 0px 1px 0px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + position: relative; + padding: 7px 0; + left: -5px; + top: 115px; + width: 320px; + background-color: #121212; + background-image: -webkit-gradient(linear, left top, left bottom, from(#BFDC7A), to(#8EBF45)); + background-image: -webkit-linear-gradient(top, #C37811, #f29614); + background-image: -moz-linear-gradient(top, #C37811, #f29614); + background-image: -ms-linear-gradient(top, #C37811, #f29614); + background-image: -o-linear-gradient(top, #C37811, #f29614); + color: #121212; + -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.3); + -moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.3); + box-shadow: 0px 0px 3px rgba(0,0,0,0.3); +} \ No newline at end of file diff --git a/server/www/static/www/css/sliders.css b/server/www/static/www/css/sliders.css new file mode 100644 index 0000000..0e98a36 --- /dev/null +++ b/server/www/static/www/css/sliders.css @@ -0,0 +1,11 @@ +/* + * Core Owl Carousel CSS File + * v1.3.3 + */ +.owl-carousel .owl-wrapper:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel,.owl-carousel .owl-wrapper{display:none;position:relative}.owl-carousel{width:100%;-ms-touch-action:pan-y}.owl-carousel .owl-wrapper-outer{overflow:hidden;position:relative;width:100%;z-index:4}.owl-carousel .owl-wrapper-outer.autoHeight{-webkit-transition:height .5s ease-in-out;-moz-transition:height .5s ease-in-out;-ms-transition:height .5s ease-in-out;-o-transition:height .5s ease-in-out;transition:height .5s ease-in-out}.owl-carousel .owl-item{float:left}.owl-controls .owl-buttons div,.owl-controls .owl-page{cursor:pointer}.owl-controls{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.grabbing{cursor:url(owl-carousel/grabbing.png) 8 8,move}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-origin{-webkit-perspective:1200px;-webkit-perspective-origin-x:50%;-webkit-perspective-origin-y:50%;-moz-perspective:1200px;-moz-perspective-origin-x:50%;-moz-perspective-origin-y:50%;perspective:1200px}.owl-fade-out{z-index:10;-webkit-animation:fadeOut .7s both ease;-moz-animation:fadeOut .7s both ease;animation:fadeOut .7s both ease}.owl-fade-in{-webkit-animation:fadeIn .7s both ease;-moz-animation:fadeIn .7s both ease;animation:fadeIn .7s both ease}.owl-backSlide-out{-webkit-animation:backSlideOut 1s both ease;-moz-animation:backSlideOut 1s both ease;animation:backSlideOut 1s both ease}.owl-backSlide-in{-webkit-animation:backSlideIn 1s both ease;-moz-animation:backSlideIn 1s both ease;animation:backSlideIn 1s both ease}.owl-goDown-out{-webkit-animation:scaleToFade .7s ease both;-moz-animation:scaleToFade .7s ease both;animation:scaleToFade .7s ease both}.owl-goDown-in{-webkit-animation:goDown .6s ease both;-moz-animation:goDown .6s ease both;animation:goDown .6s ease both}.owl-fadeUp-in{-webkit-animation:scaleUpFrom .5s ease both;-moz-animation:scaleUpFrom .5s ease both;animation:scaleUpFrom .5s ease both}.owl-fadeUp-out{-webkit-animation:scaleUpTo .5s ease both;-moz-animation:scaleUpTo .5s ease both;animation:scaleUpTo .5s ease both}@-webkit-keyframes empty{0%{opacity:1}}@-moz-keyframes empty{0%{opacity:1}}@keyframes empty{0%{opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes backSlideOut{25%{opacity:.5;-webkit-transform:translateZ(-500px)}100%,75%{opacity:.5;-webkit-transform:translateZ(-500px) translateX(-200%)}}@-moz-keyframes backSlideOut{25%{opacity:.5;-moz-transform:translateZ(-500px)}100%,75%{opacity:.5;-moz-transform:translateZ(-500px) translateX(-200%)}}@keyframes backSlideOut{25%{opacity:.5;transform:translateZ(-500px)}100%,75%{opacity:.5;transform:translateZ(-500px) translateX(-200%)}}@-webkit-keyframes backSlideIn{0%,25%{opacity:.5;-webkit-transform:translateZ(-500px) translateX(200%)}75%{opacity:.5;-webkit-transform:translateZ(-500px)}100%{opacity:1;-webkit-transform:translateZ(0) translateX(0)}}@-moz-keyframes backSlideIn{0%,25%{opacity:.5;-moz-transform:translateZ(-500px) translateX(200%)}75%{opacity:.5;-moz-transform:translateZ(-500px)}100%{opacity:1;-moz-transform:translateZ(0) translateX(0)}}@keyframes backSlideIn{0%,25%{opacity:.5;transform:translateZ(-500px) translateX(200%)}75%{opacity:.5;transform:translateZ(-500px)}100%{opacity:1;transform:translateZ(0) translateX(0)}}@-webkit-keyframes scaleToFade{to{opacity:0;-webkit-transform:scale(.8)}}@-moz-keyframes scaleToFade{to{opacity:0;-moz-transform:scale(.8)}}@keyframes scaleToFade{to{opacity:0;transform:scale(.8)}}@-webkit-keyframes goDown{from{-webkit-transform:translateY(-100%)}}@-moz-keyframes goDown{from{-moz-transform:translateY(-100%)}}@keyframes goDown{from{transform:translateY(-100%)}}@-webkit-keyframes scaleUpFrom{from{opacity:0;-webkit-transform:scale(1.5)}}@-moz-keyframes scaleUpFrom{from{opacity:0;-moz-transform:scale(1.5)}}@keyframes scaleUpFrom{from{opacity:0;transform:scale(1.5)}}@-webkit-keyframes scaleUpTo{to{opacity:0;-webkit-transform:scale(1.5)}}@-moz-keyframes scaleUpTo{to{opacity:0;-moz-transform:scale(1.5)}}@keyframes scaleUpTo{to{opacity:0;transform:scale(1.5)}} + + +/* + * jQuery FlexSlider v2.4.0 + */ +@font-face{font-family:flexslider-icon;src:url(fonts/flexslider-icon.eot);src:url(fonts/flexslider-icon.eot?#iefix) format('embedded-opentype'),url(fonts/flexslider-icon.woff) format('woff'),url(fonts/flexslider-icon.ttf) format('truetype'),url(fonts/flexslider-icon.svg#flexslider-icon) format('svg');font-weight:400;font-style:normal}.flex-container a:focus,.flex-container a:hover,.flex-slider a:focus,.flex-slider a:hover{outline:0}.flex-control-nav,.flex-direction-nav,.slides,.slides>li{margin:0;padding:0;list-style:none}.flex-pauseplay span{text-transform:capitalize}.flexslider{margin:0;padding:0;background:#fff;position:relative;zoom:1;-webkit-box-shadow:'' 0 1px 4px rgba(0,0,0,.2);-moz-box-shadow:'' 0 1px 4px rgba(0,0,0,.2);-o-box-shadow:'' 0 1px 4px rgba(0,0,0,.2);box-shadow:'' 0 1px 4px rgba(0,0,0,.2)}.flexslider .slides>li{display:none;-webkit-backface-visibility:hidden}.flex-pauseplay a,.no-js .flexslider .slides>li:first-child,html[xmlns] .flexslider .slides{display:block}.flexslider .slides:after{content:"\0020";display:block;clear:both;visibility:hidden;line-height:0;height:0}* html .flexslider .slides{height:1%}.flexslider .slides{zoom:1}.flexslider .slides img{max-width:100%;max-height:100%;margin:0 auto;vertical-align:middle;height:auto;width:100%}.flex-viewport{max-height:2000px;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.loading .flex-viewport{max-height:300px}.carousel li{margin-right:5px}.flex-direction-nav .flex-disabled{opacity:0!important;filter:alpha(opacity=0);cursor:default}.flex-pauseplay a{width:20px;height:20px;position:absolute;bottom:5px;left:10px;opacity:.8;z-index:10;overflow:hidden;cursor:pointer;color:#000}.flex-pauseplay a:before{font-family:flexslider-icon;font-size:20px;display:inline-block;content:'\f004'}.flex-pauseplay a:hover{opacity:1}.flex-pauseplay a .flex-play:before{content:'\f003'}.flex-control-nav{width:100%;position:absolute;bottom:20px;text-align:center}.flex-control-nav li{margin:0 6px;display:inline-block;zoom:1}.flex-control-paging li a{width:10px;height:10px;display:block;background:0 0;cursor:pointer;text-indent:-9999px;border:2px solid #fff;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;opacity:.5}.flex-control-paging li a:hover{opacity:1}.flex-control-paging li a.flex-active{background:#000;background:rgba(255,255,255,1);cursor:default;opacity:1}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;height:auto;display:block;opacity:.7;cursor:pointer;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}} \ No newline at end of file diff --git a/server/www/static/www/css/spacings.css b/server/www/static/www/css/spacings.css new file mode 100644 index 0000000..e65d78c --- /dev/null +++ b/server/www/static/www/css/spacings.css @@ -0,0 +1,920 @@ +.nomargin { + margin: 0!important; +} + +.nopadding { + padding: 0!important; +} + +.mt-0 { + margin-top: 0!important; +} +.mt-10 { + margin-top: 10px; +} +.mt-20 { + margin-top: 20px; +} +.mt-30 { + margin-top: 30px; +} +.mt-40 { + margin-top: 40px; +} +.mt-50 { + margin-top: 50px; +} +.mt-60 { + margin-top: 60px; +} +.mt-70 { + margin-top: 70px; +} +.mt-80 { + margin-top: 80px; +} +.mt-90 { + margin-top: 90px; +} +.mt-100 { + margin-top: 100px; +} +.mt-110 { + margin-top: 110px; +} +.mt-120 { + margin-top: 120px; +} +.mt-130 { + margin-top: 130px; +} +.mt-140 { + margin-top: 140px; +} +.mb-0 { + margin-bottom: 0!important; +} +.mb-10 { + margin-bottom: 10px; +} +.mb-20 { + margin-bottom: 20px; +} +.mb-30 { + margin-bottom: 30px; +} +.mb-40 { + margin-bottom: 40px; +} +.mb-50 { + margin-bottom: 50px; +} +.mb-60 { + margin-bottom: 60px; +} +.mb-70 { + margin-bottom: 70px; +} +.mb-80 { + margin-bottom: 80px; +} +.mb-90 { + margin-bottom: 90px; +} +.mb-100 { + margin-bottom: 100px; +} +.mb-110 { + margin-bottom: 110px; +} +.mb-120 { + margin-bottom: 120px; +} +.mb-130 { + margin-bottom: 130px; +} +.mb-140 { + margin-bottom: 140px; +} +.pt-0 { + padding-top: 0!important; +} +.pt-10 { + padding-top: 10px; +} +.pt-20 { + padding-top: 20px; +} +.pt-30 { + padding-top: 30px; +} +.pt-40 { + padding-top: 40px; +} +.pt-50 { + padding-top: 50px; +} +.pt-60 { + padding-top: 60px; +} +.pt-70 { + padding-top: 70px; +} +.pt-80 { + padding-top: 80px; +} +.pt-90 { + padding-top: 90px; +} +.pt-100 { + padding-top: 100px; +} +.pt-110 { + padding-top: 110px; +} +.pt-120 { + padding-top: 120px; +} +.pt-130 { + padding-top: 130px; +} +.pt-140 { + padding-top: 140px; +} +.pb-0 { + padding-bottom: 0!important; +} +.pb-10 { + padding-bottom: 10px; +} +.pb-20 { + padding-bottom: 20px; +} +.pb-30 { + padding-bottom: 30px; +} +.pb-40 { + padding-bottom: 40px; +} +.pb-50 { + padding-bottom: 50px; +} +.pb-60 { + padding-bottom: 60px; +} +.pb-70 { + padding-bottom: 70px; +} +.pb-80 { + padding-bottom: 80px; +} +.pb-90 { + padding-bottom: 90px; +} +.pb-100 { + padding-bottom: 100px; +} +.pb-110 { + padding-bottom: 110px; +} +.pb-120 { + padding-bottom: 120px; +} +.pb-130 { + padding-bottom: 130px; +} +.pb-140 { + padding-bottom: 140px; +} + +@media only screen and (max-width:1200px) { +.mt-lrg-0 { + margin-top: 0!important; +} +.mt-lrg-10 { + margin-top: 10px; +} +.mt-lrg-20 { + margin-top: 20px; +} +.mt-lrg-30 { + margin-top: 30px; +} +.mt-lrg-40 { + margin-top: 40px; +} +.mt-lrg-50 { + margin-top: 50px; +} +.mt-lrg-60 { + margin-top: 60px; +} +.mt-lrg-70 { + margin-top: 70px; +} +.mt-lrg-80 { + margin-top: 80px; +} +.mt-lrg-90 { + margin-top: 90px; +} +.mt-lrg-100 { + margin-top: 100px; +} +.mt-lrg-110 { + margin-top: 110px; +} +.mt-lrg-120 { + margin-top: 120px; +} +.mt-lrg-130 { + margin-top: 130px; +} +.mt-lrg-140 { + margin-top: 140px; +} +.mb-lrg-0 { + margin-bottom: 0!important; +} +.mb-lrg-10 { + margin-bottom: 10px; +} +.mb-lrg-20 { + margin-bottom: 20px; +} +.mb-lrg-30 { + margin-bottom: 30px; +} +.mb-lrg-40 { + margin-bottom: 40px; +} +.mb-lrg-50 { + margin-bottom: 50px; +} +.mb-lrg-60 { + margin-bottom: 60px; +} +.mb-lrg-70 { + margin-bottom: 70px; +} +.mb-lrg-80 { + margin-bottom: 80px; +} +.mb-lrg-90 { + margin-bottom: 90px; +} +.mb-lrg-100 { + margin-bottom: 100px; +} +.mb-lrg-110 { + margin-bottom: 110px; +} +.mb-lrg-120 { + margin-bottom: 120px; +} +.mb-lrg-130 { + margin-bottom: 130px; +} +.mb-lrg-140 { + margin-bottom: 140px; +} +.pt-lrg-0 { + padding-top: 0!important; +} +.pt-lrg-10 { + padding-top: 10px; +} +.pt-lrg-20 { + padding-top: 20px; +} +.pt-lrg-30 { + padding-top: 30px; +} +.pt-lrg-40 { + padding-top: 40px; +} +.pt-lrg-50 { + padding-top: 50px; +} +.pt-lrg-60 { + padding-top: 60px; +} +.pt-lrg-70 { + padding-top: 70px; +} +.pt-lrg-80 { + padding-top: 80px; +} +.pt-lrg-90 { + padding-top: 90px; +} +.pt-lrg-100 { + padding-top: 100px; +} +.pt-lrg-110 { + padding-top: 110px; +} +.pt-lrg-120 { + padding-top: 120px; +} +.pt-lrg-130 { + padding-top: 130px; +} +.pt-lrg-140 { + padding-top: 140px; +} +.pb-lrg-0 { + padding-bottom: 0!important; +} +.pb-lrg-10 { + padding-bottom: 10px; +} +.pb-lrg-20 { + padding-bottom: 20px; +} +.pb-lrg-30 { + padding-bottom: 30px; +} +.pb-lrg-40 { + padding-bottom: 40px; +} +.pb-lrg-50 { + padding-bottom: 50px; +} +.pb-lrg-60 { + padding-bottom: 60px; +} +.pb-lrg-70 { + padding-bottom: 70px; +} +.pb-lrg-80 { + padding-bottom: 80px; +} +.pb-lrg-90 { + padding-bottom: 90px; +} +.pb-lrg-100 { + padding-bottom: 100px; +} +.pb-lrg-110 { + padding-bottom: 110px; +} +.pb-lrg-120 { + padding-bottom: 120px; +} +.pb-lrg-130 { + padding-bottom: 130px; +} +.pb-lrg-140 { + padding-bottom: 140px; +} +} + +@media only screen and (max-width:992px) { +.mt-mdm-0 { + margin-top: 0!important; +} +.mt-mdm-10 { + margin-top: 10px; +} +.mt-mdm-20 { + margin-top: 20px; +} +.mt-mdm-30 { + margin-top: 30px; +} +.mt-mdm-40 { + margin-top: 40px; +} +.mt-mdm-50 { + margin-top: 50px; +} +.mt-mdm-60 { + margin-top: 60px; +} +.mt-mdm-70 { + margin-top: 70px; +} +.mt-mdm-80 { + margin-top: 80px; +} +.mt-mdm-90 { + margin-top: 90px; +} +.mt-mdm-100 { + margin-top: 100px; +} +.mt-mdm-110 { + margin-top: 110px; +} +.mt-mdm-120 { + margin-top: 120px; +} +.mt-mdm-130 { + margin-top: 130px; +} +.mt-mdm-140 { + margin-top: 140px; +} +.mb-mdm-0 { + margin-bottom: 0!important; +} +.mb-mdm-10 { + margin-bottom: 10px; +} +.mb-mdm-20 { + margin-bottom: 20px; +} +.mb-mdm-30 { + margin-bottom: 30px; +} +.mb-mdm-40 { + margin-bottom: 40px; +} +.mb-mdm-50 { + margin-bottom: 50px; +} +.mb-mdm-60 { + margin-bottom: 60px; +} +.mb-mdm-70 { + margin-bottom: 70px; +} +.mb-mdm-80 { + margin-bottom: 80px; +} +.mb-mdm-90 { + margin-bottom: 90px; +} +.mb-mdm-100 { + margin-bottom: 100px; +} +.mb-mdm-110 { + margin-bottom: 110px; +} +.mb-mdm-120 { + margin-bottom: 120px; +} +.mb-mdm-130 { + margin-bottom: 130px; +} +.mb-mdm-140 { + margin-bottom: 140px; +} +.pt-mdm-0 { + padding-top: 0!important; +} +.pt-mdm-10 { + padding-top: 10px; +} +.pt-mdm-20 { + padding-top: 20px; +} +.pt-mdm-30 { + padding-top: 30px; +} +.pt-mdm-40 { + padding-top: 40px; +} +.pt-mdm-50 { + padding-top: 50px; +} +.pt-mdm-60 { + padding-top: 60px; +} +.pt-mdm-70 { + padding-top: 70px; +} +.pt-mdm-80 { + padding-top: 80px; +} +.pt-mdm-90 { + padding-top: 90px; +} +.pt-mdm-100 { + padding-top: 100px; +} +.pt-mdm-110 { + padding-top: 110px; +} +.pt-mdm-120 { + padding-top: 120px; +} +.pt-mdm-130 { + padding-top: 130px; +} +.pt-mdm-140 { + padding-top: 140px; +} +.pb-mdm-0 { + padding-bottom: 0!important; +} +.pb-mdm-10 { + padding-bottom: 10px; +} +.pb-mdm-20 { + padding-bottom: 20px; +} +.pb-mdm-30 { + padding-bottom: 30px; +} +.pb-mdm-40 { + padding-bottom: 40px; +} +.pb-mdm-50 { + padding-bottom: 50px; +} +.pb-mdm-60 { + padding-bottom: 60px; +} +.pb-mdm-70 { + padding-bottom: 70px; +} +.pb-mdm-80 { + padding-bottom: 80px; +} +.pb-mdm-90 { + padding-bottom: 90px; +} +.pb-mdm-100 { + padding-bottom: 100px; +} +.pb-mdm-110 { + padding-bottom: 110px; +} +.pb-mdm-120 { + padding-bottom: 120px; +} +.pb-mdm-130 { + padding-bottom: 130px; +} +.pb-mdm-140 { + padding-bottom: 140px; +} +} + +@media only screen and (max-width:767px) { +.mt-sml-0 { + margin-top: 0!important; +} +.mt-sml-10 { + margin-top: 10px; +} +.mt-sml-20 { + margin-top: 20px; +} +.mt-sml-30 { + margin-top: 30px; +} +.mt-sml-40 { + margin-top: 40px; +} +.mt-sml-50 { + margin-top: 50px; +} +.mt-sml-60 { + margin-top: 60px; +} +.mt-sml-70 { + margin-top: 70px; +} +.mt-sml-80 { + margin-top: 80px; +} +.mt-sml-90 { + margin-top: 90px; +} +.mt-sml-100 { + margin-top: 100px; +} +.mt-sml-110 { + margin-top: 110px; +} +.mt-sml-120 { + margin-top: 120px; +} +.mt-sml-130 { + margin-top: 130px; +} +.mt-sml-140 { + margin-top: 140px; +} +.mb-sml-0 { + margin-bottom: 0!important; +} +.mb-sml-10 { + margin-bottom: 10px; +} +.mb-sml-20 { + margin-bottom: 20px; +} +.mb-sml-30 { + margin-bottom: 30px; +} +.mb-sml-40 { + margin-bottom: 40px; +} +.mb-sml-50 { + margin-bottom: 50px; +} +.mb-sml-60 { + margin-bottom: 60px; +} +.mb-sml-70 { + margin-bottom: 70px; +} +.mb-sml-80 { + margin-bottom: 80px; +} +.mb-sml-90 { + margin-bottom: 90px; +} +.mb-sml-100 { + margin-bottom: 100px; +} +.mb-sml-110 { + margin-bottom: 110px; +} +.mb-sml-120 { + margin-bottom: 120px; +} +.mb-sml-130 { + margin-bottom: 130px; +} +.mb-sml-140 { + margin-bottom: 140px; +} +.pt-sml-0 { + padding-top: 0!important; +} +.pt-sml-10 { + padding-top: 10px; +} +.pt-sml-20 { + padding-top: 20px; +} +.pt-sml-30 { + padding-top: 30px; +} +.pt-sml-40 { + padding-top: 40px; +} +.pt-sml-50 { + padding-top: 50px; +} +.pt-sml-60 { + padding-top: 60px; +} +.pt-sml-70 { + padding-top: 70px; +} +.pt-sml-80 { + padding-top: 80px; +} +.pt-sml-90 { + padding-top: 90px; +} +.pt-sml-100 { + padding-top: 100px; +} +.pt-sml-110 { + padding-top: 110px; +} +.pt-sml-120 { + padding-top: 120px; +} +.pt-sml-130 { + padding-top: 130px; +} +.pt-sml-140 { + padding-top: 140px; +} +.pb-sml-0 { + padding-bottom: 0!important; +} +.pb-sml-10 { + padding-bottom: 10px; +} +.pb-sml-20 { + padding-bottom: 20px; +} +.pb-sml-30 { + padding-bottom: 30px; +} +.pb-sml-40 { + padding-bottom: 40px; +} +.pb-sml-50 { + padding-bottom: 50px; +} +.pb-sml-60 { + padding-bottom: 60px; +} +.pb-sml-70 { + padding-bottom: 70px; +} +.pb-sml-80 { + padding-bottom: 80px; +} +.pb-sml-90 { + padding-bottom: 90px; +} +.pb-sml-100 { + padding-bottom: 100px; +} +.pb-sml-110 { + padding-bottom: 110px; +} +.pb-sml-120 { + padding-bottom: 120px; +} +.pb-sml-130 { + padding-bottom: 130px; +} +.pb-sml-140 { + padding-bottom: 140px; +} +} + +@media only screen and (max-width:480px) { +.mt-xsm-0 { + margin-top: 0!important; +} +.mt-xsm-10 { + margin-top: 10px; +} +.mt-xsm-20 { + margin-top: 20px; +} +.mt-xsm-30 { + margin-top: 30px; +} +.mt-xsm-40 { + margin-top: 40px; +} +.mt-xsm-50 { + margin-top: 50px; +} +.mt-xsm-60 { + margin-top: 60px; +} +.mt-xsm-70 { + margin-top: 70px; +} +.mt-xsm-80 { + margin-top: 80px; +} +.mt-xsm-90 { + margin-top: 90px; +} +.mt-xsm-100 { + margin-top: 100px; +} +.mt-xsm-110 { + margin-top: 110px; +} +.mt-xsm-120 { + margin-top: 120px; +} +.mt-xsm-130 { + margin-top: 130px; +} +.mt-xsm-140 { + margin-top: 140px; +} +.mb-xsm-0 { + margin-bottom: 0!important; +} +.mb-xsm-10 { + margin-bottom: 10px; +} +.mb-xsm-20 { + margin-bottom: 20px; +} +.mb-xsm-30 { + margin-bottom: 30px; +} +.mb-xsm-40 { + margin-bottom: 40px; +} +.mb-xsm-50 { + margin-bottom: 50px; +} +.mb-xsm-60 { + margin-bottom: 60px; +} +.mb-xsm-70 { + margin-bottom: 70px; +} +.mb-xsm-80 { + margin-bottom: 80px; +} +.mb-xsm-90 { + margin-bottom: 90px; +} +.mb-xsm-100 { + margin-bottom: 100px; +} +.mb-xsm-110 { + margin-bottom: 110px; +} +.mb-xsm-120 { + margin-bottom: 120px; +} +.mb-xsm-130 { + margin-bottom: 130px; +} +.mb-xsm-140 { + margin-bottom: 140px; +} +.pt-xsm-0 { + padding-top: 0!important; +} +.pt-xsm-10 { + padding-top: 10px; +} +.pt-xsm-20 { + padding-top: 20px; +} +.pt-xsm-30 { + padding-top: 30px; +} +.pt-xsm-40 { + padding-top: 40px; +} +.pt-xsm-50 { + padding-top: 50px; +} +.pt-xsm-60 { + padding-top: 60px; +} +.pt-xsm-70 { + padding-top: 70px; +} +.pt-xsm-80 { + padding-top: 80px; +} +.pt-xsm-90 { + padding-top: 90px; +} +.pt-xsm-100 { + padding-top: 100px; +} +.pt-xsm-110 { + padding-top: 110px; +} +.pt-xsm-120 { + padding-top: 120px; +} +.pt-xsm-130 { + padding-top: 130px; +} +.pt-xsm-140 { + padding-top: 140px; +} +.pb-xsm-0 { + padding-bottom: 0!important; +} +.pb-xsm-10 { + padding-bottom: 10px; +} +.pb-xsm-20 { + padding-bottom: 20px; +} +.pb-xsm-30 { + padding-bottom: 30px; +} +.pb-xsm-40 { + padding-bottom: 40px; +} +.pb-xsm-50 { + padding-bottom: 50px; +} +.pb-xsm-60 { + padding-bottom: 60px; +} +.pb-xsm-70 { + padding-bottom: 70px; +} +.pb-xsm-80 { + padding-bottom: 80px; +} +.pb-xsm-90 { + padding-bottom: 90px; +} +.pb-xsm-100 { + padding-bottom: 100px; +} +.pb-xsm-110 { + padding-bottom: 110px; +} +.pb-xsm-120 { + padding-bottom: 120px; +} +.pb-xsm-130 { + padding-bottom: 130px; +} +.pb-xsm-140 { + padding-bottom: 140px; +} +} \ No newline at end of file diff --git a/server/www/static/www/css/style.css b/server/www/static/www/css/style.css new file mode 100644 index 0000000..cb5510e --- /dev/null +++ b/server/www/static/www/css/style.css @@ -0,0 +1,3842 @@ +/*-------------------------------------------------------*/ +/* General +/*-------------------------------------------------------*/ +.float-left { + float: left; +} + +#talos-guy_xs { + display: none; +} + +.clearfix { + *zoom: 1; +} + +.clearfix:before, .clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.clear { + clear: both; +} + +.oh { + overflow: hidden; +} + +.relative { + position: relative; +} + +.section-wrap, .section-wrap-mp { + padding: 70px 0; + overflow: hidden; + background-attachment: fixed; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + background-position: center center; + background-repeat: no-repeat; +} + +.section-wrap-mp { + padding: 100px 0; +} + +.color-white { + color: #fff !important; +} + +.left { + float: left; +} + +.right { + float: right; +} + +.bg-light { + background-color: #f7f7f7; +} + +.bg-dark { + background-color: #385C70; +} + +.last { + margin-bottom: 0 !important; +} + +::-moz-selection { + color: #fff; + background: #000; +} + +::-webkit-selection { + color: #fff; + background: #000; +} + +::selection { + color: #fff; + background: #000; +} + +a { + text-decoration: none; + color: #F29614; + outline: none; + -webkit-transition: color 0.2s ease-in-out; + -moz-transition: color 0.2s ease-in-out; + -ms-transition: color 0.2s ease-in-out; + -o-transition: color 0.2s ease-in-out; + transition: color 0.2s ease-in-out; +} +a:hover, a:focus { + text-decoration: none; + color: #7a7a7a; + outline: none; +} + +:focus { + outline: none; +} + +ul { + list-style: none; + margin: 0; + padding: 0; +} + +.modal h4 { + color: #111; +} +.modal { + background-image: url('../img/talos_logo.png'); + background-color: #111; +} + +body { + margin: 0; + padding: 0; + font-family: "Helvetica"; + color: #eeeeee; + font-size: 15px; + line-height: 1.5; + font-smoothing: antialiased; + -webkit-font-smoothing: antialiased; + background: #111; + outline: 0; + overflow-x: hidden; + overflow-y: auto; +} + +video { + height: 100%; + width: 100%; +} + +body img { + border: none; + max-width: 100%; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; + user-select: none; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", sans-serif; + margin-top: 0; + text-transform: uppercase; + color: #fff; + letter-spacing: 0.05em; + font-weight: 700; +} + +h1 { + font-size: 28px; +} + +h2 { + font-size: 24px; +} + +h3 { + font-size: 21px; +} + +h4 { + font-size: 20px; +} + +h5 { + font-size: 18px; +} + +h6 { + font-size: 15px; +} + +p { + font-size: 15px; + color: #eeeeee; + font-weight: normal; + line-height: 25px; +} + +.subheading { + font-family: "Pt Serif", serif; + font-size: 16px; + font-style: italic; +} + +.heading { + margin-bottom: 60px; +} + +.bottom-line:after { + content: ""; + display: block; + width: 48px; + border-bottom: 3px solid #e8e8e8; + margin: 15px auto 15px; +} + +div.register-description p { + padding: 10px 35px 5px 35px; + color: #555; +} + +/*-------------------------------------------------------*/ +/* Preloader +/*-------------------------------------------------------*/ +.loader-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #fff; + z-index: 99999; +} + +.loader { + position: absolute; + left: 50%; + top: 50%; + font-size: 5px; + width: 5em; + height: 5em; + margin: -25px 0 0 -25px; + text-indent: -9999em; + border-top: 0.5em solid #121212; + border-right: 0.5em solid rgba(245, 245, 245, 0.5); + border-bottom: 0.5em solid rgba(245, 245, 245, 0.5); + border-left: 0.5em solid rgba(245, 245, 245, 0.5); + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation: load8 1.1s infinite linear; + animation: load8 1.1s infinite linear; +} + +.loader, +.loader:after { + -webkit-border-radius: 50%; + border-radius: 50%; + width: 10em; + height: 10em; +} + +@-webkit-keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +/*-------------------------------------------------------*/ +/* Navigation Onepage +/*-------------------------------------------------------*/ +.nav-type-1 .container-fluid { + padding: 0 50px; +} + +.navbar { + margin-bottom: 0; + border: none; + min-height: 60px; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + z-index: 1200; +} + +.navbar-nav { + margin: 0; + float: none; + display: inline-block; +} +.navbar-nav > li > a { + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + padding: 0 20px; + line-height: 90px; + color: #fff; + font-size: 13px; + letter-spacing: 0.02em; + font-weight: bold; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.navigation-overlay { + background-color: rgba(17, 17, 17, 0.5); + width: 100%; + line-height: 0; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.navigation-overlay.sticky { + background-color: #111111; + visibility: visible; + opacity: 1; +} +.navigation-overlay.sticky .navbar-nav > li > a, .navigation-overlay.sticky .menu-socials li > a { + line-height: 60px; +} + +.navbar-header { + width: 20%; + padding-right: 15px; +} + +.nav-wrap { + width: 60%; +} + +.menu-socials { + width: 20%; + float: right; + padding: 0 15px; +} +.menu-socials ul { + float: right; +} +.menu-socials li { + display: inline-block; +} +.menu-socials li > a { + font-size: 16px; + line-height: 90px; + margin-left: 22px; + color: #fff; + border-bottom: 1px solid #fff; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.menu-socials li > a:hover { + border-color: #F29614; +} +.talos_img_logo { + width: 40%; +} + +.logo-container { + padding: 0 15px; + float: left; +} + +.logo-wrap { + display: table; + width: 100%; +} +.logo-wrap > a { + display: table-cell; + vertical-align: middle; + height: 90px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.logo-wrap.shrink > a { + height: 60px; +} +.logo-wrap img { + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.logo-wrap.shrink img { + height: 48px; +} + +.talos_logo { + padding-right: 25px; +} + +.navbar-collapse.in { + overflow-x: hidden; +} + +.navbar-nav > li > a:hover, +.navbar-nav > .active > a, +.navbar-nav > .active > a:focus, +.navbar-nav > .active > a:hover, +.menu-socials li > a:hover { + opacity: 1; + color: #F29614 !important; +} + +.navbar-collapse { + padding: 0; + border-top: none; +} + +.nav .open > a, +.nav .open > a:focus, +.nav .open > a:hover, +.nav > li > a:focus, +.nav > li > a:hover { + background-color: transparent; + text-decoration: none; + border-color: #f2f2f2; +} + +@media (max-width: 991px) { + .navigation-overlay, + .navigation-overlay.sticky { + background-color: rgba(17, 17, 17, 0.9); + } + + .nav-wrap { + width: 100%; + padding: 0; + min-height: 0; + } + + .nav-type-1 .container-fluid { + padding: 0 15px; + } + + .navbar-header { + width: 100%; + padding-right: 0; + } + + .logo-wrap img { + height: 48px; + } + + .logo-wrap > a { + height: 60px; + } + + .navbar-nav { + width: 100%; + padding: 40px 0; + } + + .navigation-overlay.sticky .navbar-nav > li > a, + .navigation-overlay .navbar-nav > li > a { + padding: 10px 0; + line-height: 30px; + } +} +/* Navigation Toggle +-------------------------------------------------------*/ +.navbar-toggle { + margin-top: 13px; + border: none; + z-index: 50; + margin-right: 5px; +} +.navbar-toggle .icon-bar { + background-color: #fff; + width: 18px; +} +.navbar-toggle:focus, .navbar-toggle:hover { + background-color: transparent; +} +.navbar-toggle:focus .icon-bar, .navbar-toggle:hover .icon-bar { + background-color: #f2f2f2; +} + +/*Go to Top*/ +#back-to-top { + display: block; + z-index: 500; + width: 40px; + height: 40px; + text-align: center; + font-size: 22px; + position: fixed; + bottom: -40px; + right: 20px; + line-height: 35px; + -webkit-border-radius: 50%; + border-radius: 50%; + -webkit-transition: all 1s ease-in-out; + -moz-transition: all 1s ease-in-out; + -ms-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; + background-color: #fff; + text-decoration: none; + box-shadow: 1px 1.732px 12px 0px rgba(0, 0, 0, 0.14), 1px 1.732px 3px 0px rgba(0, 0, 0, 0.12); +} +#back-to-top i { + -webkit-transition: all 1s ease-in-out; + -moz-transition: all 1s ease-in-out; + -ms-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; +} +#back-to-top a { + width: 40px; + height: 40px; + display: block; + color: #111; +} +#back-to-top.show { + bottom: 20px; +} +#back-to-top:hover { + background-color: #111; +} +#back-to-top:hover i { + color: #fff; +} + +/*-------------------------------------------------------*/ +/* Navigation Multi-Page +/*-------------------------------------------------------*/ +.nav-type-2 .navbar { + min-height: 90px; +} +.nav-type-2 .nav-wrap { + width: 80%; +} +.nav-type-2 .navbar-nav > li > a { + padding: 0 15px; +} +.nav-type-2 .navbar-toggle:focus .icon-bar, .nav-type-2 .navbar-toggle:hover .icon-bar { + background-color: #111; +} +.nav-type-2 .navbar-nav > li > a { + color: #111; + -webkit-transition: color 0.3s ease-in-out; + -moz-transition: color 0.3s ease-in-out; + -ms-transition: color 0.3s ease-in-out; + -o-transition: color 0.3s ease-in-out; + transition: color 0.3s ease-in-out; +} + +.nav-type-2 .navbar-toggle .icon-bar, +.nav-type-4 .navbar-toggle .icon-bar { + background-color: #7a7a7a; +} + +.navigation.offset { + -webkit-transform: translate3d(0, -300px, 0); + -moz-transform: translate3d(0, -300px, 0); + -ms-transform: translate3d(0, -300px, 0); + -o-transform: translate3d(0, -300px, 0); + transform: translate3d(0, -300px, 0); + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.navigation.sticky { + position: fixed; + background-color: #fff; + visibility: hidden; + opacity: 0; + width: 100%; + height: 60px; + top: 0; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); + z-index: 1009; +} +.navigation.scrolling { + -webkit-transform: translate3d(0, 0px, 0); + -moz-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); +} +.navigation.sticky.scrolling { + opacity: 1; + visibility: visible; +} +.navigation.sticky .navbar-nav > li > a { + line-height: 60px; +} + +.navbar-nav .dropdown-menu { + left: 0; +} +.navbar-nav .dropdown-menu.menu-right { + left: auto; + right: 0; +} + +.dropdown-menu { + min-width: 200px; + margin: 0; + padding: 10px 0; + border-top: 3px solid #F29614; + border-left: 1px solid #ebebeb; + border-right: 1px solid #ebebeb; + border-bottom: none; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); + -ms-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); +} +.dropdown-menu > li > a { + padding: 10px 20px; + font-size: 13px; + color: #7a7a7a; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + font-weight: 500; +} +.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { + background-color: transparent; + color: #F29614; +} +.dropdown-menu .megamenu-wrap ul > li > a { + display: block; + clear: both; + font-weight: 500; + line-height: 1.42857143; + color: #7a7a7a; + white-space: nowrap; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.dropdown-submenu > a:after { + font-family: "FontAwesome"; + position: absolute; + content: "\f105"; + right: 15px; + color: #7a7a7a; +} + +.dropdown-menu, +.dropdown-submenu > .dropdown-menu { + display: block; + visibility: hidden; + opacity: 0; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + -ms-transition: all 0.1s ease-in-out; + -o-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; +} + +.dropdown:hover > .dropdown-menu, +.dropdown-submenu:hover > .dropdown-menu { + opacity: 1; + visibility: visible; +} + +.navbar .dropdown-menu { + margin-top: 0; +} + +.dropdown-submenu { + position: relative; +} +.dropdown-submenu .dropdown-menu { + top: 0; + left: 100%; + margin-top: -2px; +} + +/* Menu Search +-------------------------------------------------------*/ +.navbar-nav > li > a.nav-search { + position: relative; + display: block; + margin: 38px 0 37px; + width: 15px; + height: 15px; + padding-left: 10px; +} + +.navigation.sticky .navbar-nav > li > a.nav-search { + margin: 23px 0 22px; +} + +.search-wrap { + width: 100%; + height: 100%; + overflow: hidden; + display: none; + position: absolute; + top: 0; + left: 0; + z-index: 20; +} +.search-wrap .form-control { + height: 100%; + border: none; + font-size: 24px; +} +.search-wrap input, .search-wrap input:focus { + background-color: #fff !important; + border: none; +} + +.search-trigger { + z-index: 22; + position: absolute; + top: 50%; + margin-top: -8px; + right: 0; + opacity: 1; +} + +.search-close { + opacity: 0; + font-size: 16px; + z-index: 21; + position: absolute; + top: 50%; + margin-top: -10px; + right: 0; +} + +.nav-search.open .search-trigger { + opacity: 0; + z-index: 20; +} + +.nav-search.open .search-close { + opacity: 1; +} + +#mobile-search { + display: none; +} + +/*-------------------------------------------------------*/ +/* Navigation Portfolio +/*-------------------------------------------------------*/ +.nav-type-3 { + background-color: #fff; + position: fixed; + height: 100px; + width: 100%; + z-index: 1000; +} +.nav-type-3 .nav-wrap { + display: table; + height: 100px; + width: 100%; + float: left; +} +.nav-type-3 .logo-container a { + z-index: 11; + vertical-align: middle; + display: table-cell; + height: 100px; + padding: 0 20px; +} + +.full-nav, +#nav-icon { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.fs-menu { + position: fixed; + background-color: rgba(12, 12, 12, 0.95); + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + visibility: hidden; + -webkit-transition: all 0.2s linear; + -moz-transition: all 0.2s linear; + -ms-transition: all 0.2s linear; + -o-transition: all 0.2s linear; + transition: all 0.2s linear; + overflow: hidden; +} +.fs-menu.open { + opacity: .9; + visibility: visible; + z-index: 200; + -webkit-transition: all 0.2s linear; + -moz-transition: all 0.2s linear; + -ms-transition: all 0.2s linear; + -o-transition: all 0.2s linear; + transition: all 0.2s linear; +} +.fs-menu.open li { + -webkit-animation: fadeInUp .35s ease forwards; + -moz-animation: fadeInUp .35s ease forwards; + -ms-animation: fadeInUp .35s ease forwards; + -o-animation: fadeInUp .35s ease forwards; + animation: fadeInUp .35s ease forwards; + -webkit-animation-delay: .10s; + -moz-animation-delay: .10s; + -ms-animation-delay: .10s; + -o-animation-delay: .10s; + animation-delay: .10s; +} +.fs-menu.open li:nth-of-type(2) { + animation-delay: .15s; +} +.fs-menu.open li:nth-of-type(3) { + animation-delay: .20s; +} +.fs-menu.open li:nth-of-type(4) { + animation-delay: .25s; +} +.fs-menu.open li:nth-of-type(5) { + animation-delay: .30s; +} +.fs-menu.open li:nth-of-type(6) { + animation-delay: .35s; +} +.fs-menu.open li:nth-of-type(7) { + animation-delay: .40s; +} + +.overlay-menu { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + text-align: center; +} +.overlay-menu ul { + list-style: none; + padding: 0; + margin: 0 auto; + display: inline-block; + position: relative; + height: 100%; +} +.overlay-menu ul li { + display: block; + position: relative; + opacity: 0; + padding: 15px 0; +} +.overlay-menu ul li a { + display: block; + position: relative; + overflow: hidden; + font-family: "Montserrat", sans-serif; + font-size: 36px; + letter-spacing: 0.05em; + color: #fff; + font-weight: 700; + text-decoration: none; + text-transform: uppercase; + -webkit-transition: all 0.2s linear; + -moz-transition: all 0.2s linear; + -ms-transition: all 0.2s linear; + -o-transition: all 0.2s linear; + transition: all 0.2s linear; +} +.overlay-menu ul li.active > a, .overlay-menu ul li a:hover { + color: #F29614; +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + bottom: 20%; + } + 100% { + opacity: 1; + bottom: 0; + } +} +/* Nav icon */ +#nav-icon { + right: 40px; + top: 50%; + margin-top: -7px; + position: absolute; + margin-right: 0; + z-index: 300; + cursor: pointer; + width: 20px; + height: 20px; + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + -webkit-transition: 0.2s ease-in-out; + -moz-transition: 0.2s ease-in-out; + -ms-transition: 0.2s ease-in-out; + -o-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + cursor: pointer; +} +#nav-icon span { + display: block; + position: absolute; + height: 2px; + width: 100%; + background: #111; + opacity: 1; + left: 0; + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + -webkit-transition: 0.25s ease-in-out; + -moz-transition: 0.25s ease-in-out; + -ms-transition: 0.25s ease-in-out; + -o-transition: 0.25s ease-in-out; + transition: 0.25s ease-in-out; +} +#nav-icon span:nth-child(1) { + top: 0px; +} +#nav-icon span:nth-child(2), #nav-icon span:nth-child(3) { + top: 6px; +} +#nav-icon span:nth-child(4) { + top: 12px; +} +#nav-icon.open span:nth-child(1) { + top: 6px; + width: 0%; + left: 50%; +} +#nav-icon.open span:nth-child(2) { + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + background: #fff; +} +#nav-icon.open span:nth-child(3) { + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); + background: #fff; +} +#nav-icon.open span:nth-child(4) { + top: 6px; + width: 0%; + left: 50%; +} + +/*-------------------------------------------------------*/ +/* Navigation Leftside +/*-------------------------------------------------------*/ +.sidenav .container-fluid, .sidenav .container { + width: 90%; +} +.sidenav .result-boxes .container-fluid { + width: 100%; +} +.sidenav .header-wrap { + width: 300px; + height: 100%; + background-color: #111; + color: #fff; + padding: 70px 50px; +} +.sidenav .works-grid-3-col-wide .container-fluid { + padding: 0 15px; +} + +.content-wrap { + margin-left: 300px; + position: relative; + width: auto; +} + +.nav-type-4 { + position: fixed; + left: 0; + top: 0; + z-index: 500; + height: 100%; + width: 300px; +} +.nav-type-4 .navbar-header, .nav-type-4 .nav-wrap { + width: 100%; +} +.nav-type-4 .navbar-header { + padding: 0; +} +.nav-type-4 .navbar { + min-height: 100%; +} +.nav-type-4 .logo-container { + width: 100%; + padding: 0; +} +.nav-type-4 .logo-wrap > a { + height: auto; + text-align: center; +} +.nav-type-4 .nav { + width: 100%; + margin-top: 40px; +} +.nav-type-4 .navbar-nav > li { + float: none; +} +.nav-type-4 .navbar-nav > li > a { + padding: 17px 0; + line-height: 1; + color: #fff; +} +.nav-type-4 .social-icons a { + float: none !important; +} +.nav-type-4 .social-icons a:hover { + color: #111; +} + +/*-------------------------------------------------------*/ +/* Content Home +/*-------------------------------------------------------*/ +/* Intro +-------------------------------------------------------*/ +.intro-heading { + font-size: 28px; + margin-bottom: 40px; +} + +.heading-frame { + padding: 38px 50px; + display: inline-block; +} + +.intro-text { + font-size: 17px; + line-height: 32px; +} + +/* Results +-------------------------------------------------------*/ +.result-box { + padding: 30px 0; +} + +.result-box-first { + background-color: #385C70; +} + +.result-box-second { + background-color: #45738C; +} + +.result-box-third { + background-color: #385C70; +} + +.result-wrap { + width: 550px; + margin: 0 auto; +} +.result-wrap i { + font-size: 55px; + color: #fff; + float: left; + margin-top: 3px; +} + +.statistic span { + font-size: 36px; + font-family: "Montserrat", sans-serif; + color: #fff; + display: block; + line-height: 1; + margin-bottom: 9px; + margin-left: 20px; + float: left; +} +.statistic span.counter-text { + font-size: 13px; + text-transform: uppercase; + color: #f5f9fa; + margin-bottom: 0; +} + +/* Install +-------------------------------------------------------*/ +.install-item-box { + background-color: #121212; + /*padding: 60px 40px;*/ + /*margin-bottom: 30px;*/ + min-height:250px; +} +.install-item-box h3 { + font-size: 15px; + margin-bottom: 21px; +} +.install-item-box > a { + display: inline-block; + margin-bottom: 27px; +} +.install-item-box i { + display: block; + font-size: 24px; + line-height: 70px; + color: #fff; +} + +/*Hi Icons*/ +.hi-icon { + display: inline-block; + font-size: 0px; + cursor: pointer; + width: 70px; + height: 70px; + -webkit-border-radius: 50%; + border-radius: 50%; + text-align: center; + position: relative; + z-index: 1; + color: #fff; +} +.hi-icon:after { + pointer-events: none; + position: absolute; + width: 100%; + height: 100%; + -webkit-border-radius: 50%; + border-radius: 50%; + content: ''; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/* Effect 1 */ +.icon-effect-1 .hi-icon { + background-color: transparent; + color: #F29614; + border: 2px solid #F29614; + -webkit-transition: background 0.2s, color 0.2s; + -moz-transition: background 0.2s, color 0.2s; + -ms-transition: background 0.2s, color 0.2s; + -o-transition: background 0.2s, color 0.2s; + transition: background 0.2s, color 0.2s; +} +.icon-effect-1 .hi-icon:after { + top: -5px; + left: -5px; + padding: 5px; + -webkit-box-shadow: 0 0 0 2px #111; + -moz-box-shadow: 0 0 0 2px #111; + -ms-box-shadow: 0 0 0 2px #111; + box-shadow: 0 0 0 2px #111; + -webkit-transition: transform 0.2s, opacity 0.2s; + -moz-transition: transform 0.2s, opacity 0.2s; + -ms-transition: transform 0.2s, opacity 0.2s; + -o-transition: transform 0.2s, opacity 0.2s; + transition: transform 0.2s, opacity 0.2s; + -webkit-transform: scale(0.8); + -moz-transform: scale(0.8); + -ms-transform: scale(0.8); + -o-transform: scale(0.8); + transform: scale(0.8); + opacity: 0; +} +.icon-effect-1 .hi-icon:hover { + background: #111111; + color: #fff; + border-color: transparent; +} +.icon-effect-1 .hi-icon:hover:after { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + opacity: 1; +} + +/* Promo Section +-------------------------------------------------------*/ +.promo-section img { + width: 100%; +} + +.promo-description { + padding: 50px 0 50px 50px; + cursor: move; + cursor: -webkit-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.promo-description > h3 { + margin-bottom: 22px; +} +.promo-description > p { + color: #a6a6a6; +} + +.promo-section .customNavigation > a, +.from-blog .customNavigation > a { + background-color: transparent; + cursor: pointer; + color: #fff; + font-size: 24px; +} +.promo-section .customNavigation > a:first-child, .promo-section .customNavigation > a:first-child, +.from-blog .customNavigation > a:first-child, +.from-blog .customNavigation > a:first-child { + margin-right: 10px; +} +.promo-section .customNavigation > a:hover, .promo-section .customNavigation > a:hover, +.from-blog .customNavigation > a:hover, +.from-blog .customNavigation > a:hover { + opacity: .8; +} + +/* Portfolio +-------------------------------------------------------*/ +.works-grid-3-col-wide .grayscale img { + filter: url("data:image/svg+xml;utf8,#grayscale"); + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + filter: grayscale(100%); + filter: gray; +} + +.work-item:hover img { + -webkit-filter: none; + -moz-filter: none; + -ms-filter: none; + filter: none; +} + +.works-grid-3-col-wide .container-fluid { + padding: 0 50px; +} + +.grid-3-col.grid-gutter { + margin: 0 0 -5px -5px; +} +.grid-3-col.grid-gutter .work-item { + padding: 0 0 5px 5px; + width: 33.333%; + height: auto; + float: left; + overflow: hidden; +} + +.work-img { + position: relative; + overflow: hidden; +} +.work-img img { + overflow: hidden; + width: 100%; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.work-img a.btn { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + height: auto; + width: auto; +} + +.work-img > a, +.work-overlay { + width: 100%; + height: 100%; + display: block; + position: relative; +} + +.work-overlay { + background-color: rgba(20, 20, 20, 0.7); + border: 10px solid rgba(255, 255, 255, 0.2); + position: absolute; + top: 0; + left: 0; + opacity: 0; + z-index: -1; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.work-description { + position: absolute; + display: block; + left: 8%; + top: 8%; + width: 80%; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.work-description h3 { + font-size: 16px; + margin-bottom: 5px; + color: #fff; +} +.work-description a { + color: #fff; +} +.work-description span { + font-size: 13px; + color: #fff; + display: inline-block; +} + +.work-description h3, +.work-description span { + -webkit-transform: translateX(-360px); + -moz-transform: translateX(-360px); + -ms-transform: translateX(-360px); + -o-transform: translateX(-360px); + transform: translateX(-360px); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.work-item:hover img { + -webkit-transform: scale3d(1.1, 1.1, 1); + -moz-transform: scale3d(1.1, 1.1, 1); + -ms-transform: scale3d(1.1, 1.1, 1); + -o-transform: scale3d(1.1, 1.1, 1); + transform: scale3d(1.1, 1.1, 1); +} + +.work-item:hover .work-description h3, +.work-item:hover .work-description span { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); +} + +.work-item:hover .work-description span { + -webkit-transition-delay: 0.1s; + -moz-transition-delay: 0.1s; + -o-transition-delay: 0.1s; + transition-delay: 0.1s; +} + +.work-item:hover .work-overlay { + opacity: 1; + z-index: 1; +} + +/* Call to Action +-------------------------------------------------------*/ +.call-to-action { + padding: 20px 0; + background-color: #fff; +} +.call-to-action h2 { + font-size: 19px; + margin-top: 15px; +} + +/* Process +-------------------------------------------------------*/ +/*5 columns*/ +.col-xs-5ths, +.col-sm-5ths, +.col-md-5ths, +.col-lg-5ths { + position: relative; + min-height: 1px; + padding-right: 10px; + padding-left: 10px; +} + +.col-xs-5ths { + width: 20%; + float: left; +} + +@media (min-width: 767px) { + .col-sm-5ths { + width: 20%; + float: left; + } +} +@media (min-width: 992px) { + .col-md-5ths { + width: 20%; + float: left; + } +} +@media (min-width: 1200px) { + .col-lg-5ths { + width: 20%; + float: left; + } +} +.process-wrap i { + font-size: 32px; + width: 120px; + height: 120px; + line-height: 120px; + text-align: center; + display: inline-block; + border: 2px solid rgba(255, 255, 255, 0.5); + -webkit-border-radius: 50%; + border-radius: 50%; + color: #fff; +} + +.process-wrap h3 { + color: #fff; + font-size: 13px; + margin: 30px 0 20px; +} + +/* Our Team +-------------------------------------------------------*/ +.our-team .team-row { + margin-left: -40px; + margin-right: -40px; +} + +.our-team .team-wrap { + padding: 0 40px; +} + +.our-team .container-fluid { + padding: 0 50px; +} + +.team-img img { + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + overflow: hidden; + width: 100%; +} + +.team-img:hover .team-details { + opacity: 1; + margin-top: -80px; +} + +.team-img:hover .overlay { + opacity: 1; +} + +.team-member, +.team-img { + position: relative; + overflow: hidden; +} + +.team-title { + margin: 30px 0 7px; +} + +.overlay { + background-color: rgba(20, 20, 20, 0.7); + position: absolute; + top: 0; + width: 100%; + height: 100%; + opacity: 0; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.team-details { + opacity: 0; + position: absolute; + top: 50%; + left: 0; + padding: 5%; + overflow: hidden; + width: 100%; + z-index: 2; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.team-details p { + color: #fff; +} +.team-details .socials i { + color: #fff; +} + +.socials a { + display: inline-block; + width: 37px; + height: 37px; + background-color: transparent; +} +.socials a:hover i { + color: #fff; + background-color: #F29614; +} +.socials i { + line-height: 37px; + color: #616161; + font-size: 14px; + width: 37px; + height: 37px; + border-radius: 50%; + text-align: center; + -webkit-transition: all 0.2s linear; + -moz-transition: all 0.2s linear; + -ms-transition: all 0.2s linear; + -o-transition: all 0.2s linear; + transition: all 0.2s linear; +} + +/* About us +-------------------------------------------------------*/ +.about-description h4, +.about-description p:first-of-type { + margin-bottom: 15px; +} + +/* Progress Bars +-------------------------------------------------------*/ +#skills { + margin-top: 35px; +} + +.progress-bar { + -webkit-transition: width 1.5s ease-in-out; + -moz-transition: width 1.5s ease-in-out; + -ms-transition: width 1.5s ease-in-out; + -o-transition: width 1.5s ease-in-out; + transition: width 1.5s ease-in-out; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -ms-box-shadow: none; + box-shadow: none; +} + +.skills-progress h6, +.skills-progress h6 span { + color: #111; + font-family: "Montserrat", sans-serif; + font-size: 13px; + margin-top: 0; + margin-bottom: 10px; + text-transform: uppercase; + letter-spacing: 0.02em; +} + +.progress-solid.meter { + height: 8px; + position: relative; + background: #fbfbfb; + margin-bottom: 30px; +} + +.meter .progress-bar { + display: block; + height: 8px; + position: relative; + overflow: hidden; + background-color: #F29614; +} + +.skills-progress h6 span { + float: right; +} + +.row.mt-minus-30 { + margin-top: -30px; +} + +/* From Blog +-------------------------------------------------------*/ +.blog-col { + padding: 0 5px; +} +.blog-col h4 { + font-size: 15px; + margin-top: 10px; + margin-bottom: 4px; + line-height: 1.5; +} +.blog-col h4 a { + color: #111; +} + +.from-blog .customNavigation > a { + color: #111; +} + +.entry-box { + padding: 40px; + background-color: #fff; +} + +.entry-meta li { + display: inline-block; + font-size: 13px; + color: #919191; + margin-bottom: 15px; + white-space: nowrap; +} +.entry-meta a { + color: #919191; +} +.entry-meta li:before { + content: "|"; + opacity: 0.5; + margin: 0 7px; +} +.entry-meta li:first-child:before { + content: ""; + margin: 0; +} + +.entry-meta a:hover, +.blog-col h4 a:hover { + color: #111; +} + +.entry-img { + position: relative; + overflow: hidden; +} +.entry-img img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + width: 100%; +} + +.read-more { + font-size: 12px; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + letter-spacing: 0.02em; + font-weight: bold; + color: #111; +} +.read-more:hover { + color: #111; +} + +.blog-col-3 .entry-img:hover img { + opacity: 0.8; + -webkit-transform: scale(1.1, 1.1); + -moz-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} + +.flex-direction-nav a { + display: block; + font-size: 16px; + width: 40px; + height: 40px; + background-color: rgba(0, 0, 0, 0.5); + margin: -20px 0 0; + position: absolute; + top: 50%; + z-index: 10; + overflow: hidden; + opacity: 0; + cursor: pointer; + text-align: center; + color: #fff; + line-height: 40px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.flex-direction-nav .flex-prev { + left: -40px; +} +.flex-direction-nav .flex-next { + right: -40px; +} + +.flexslider:hover .flex-direction-nav a { + opacity: 1; +} + +.flexslider:hover .flex-direction-nav .flex-next { + right: 0; +} + +.flexslider:hover .flex-direction-nav .flex-prev { + left: 0; +} + +.flexslider .flex-direction-nav .flex-nav-next:hover a, +.flexslider .flex-direction-nav .flex-nav-prev:hover a { + color: #000; + background-color: #fff; +} + +/* Testimonials +-------------------------------------------------------*/ +.testimonial-text { + cursor: move; + cursor: -webkit-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +.parallax-testimonials .bottom-line:after { + border-color: #fff; +} + +.testimonial-text { + font-size: 24px; + line-height: 39px; + color: #fff; + font-style: italic; + margin: 30px 0; + font-family: "Pt Serif", serif; +} + +.testimonial i { + font-size: 28px; + color: #fff; +} +.testimonial span, .testimonial h6 { + display: block; + color: #fff; +} +.testimonial span { + font-size: 13px; +} +.testimonial h6 { + font-size: 13px; + margin-bottom: 5px; +} + +.parallax-testimonials .owl-pagination { + position: relative; + margin-top: 50px; +} + +.parallax-testimonials .owl-carousel { + position: static; +} + +/* Clients +-------------------------------------------------------*/ +.client-logo { + border-bottom: 1px solid #dedede; + border-right: 1px solid #dedede; + text-align: center; +} +.client-logo:last-child { + border-right: none; +} + +.second-row .client-logo { + border-bottom: none; +} + +/* Contact +-------------------------------------------------------*/ +.contact-row { + margin-left: -8px; + margin-right: -8px; +} + +.contact-name, +.contact-email { + padding: 0 8px; +} + +.contact-item { + position: relative; + padding-left: 70px; + padding-top: 5px; + margin-top: 30px; +} +.contact-item:first-of-type { + margin-top: 38px; +} +.contact-item h6 { + font-size: 12px; + margin-top: 5px; + margin-bottom: 7px; +} +.contact-item p, .contact-item span, .contact-item a { + font-size: 16px; +} +.contact-item a:hover { + color: #111; +} + +.contact-icon { + width: 50px; + height: 50px; + -webkit-border-radius: 50%; + border-radius: 50%; + border: 2px solid #F29614; + text-align: center; + position: absolute; + left: 0; +} +.contact-icon i { + font-size: 18px; + color: #F29614; + line-height: 47px; +} + +.gmap { + position: relative; + width: 100%; + height: 450px; +} + +#contact-form .message { + height: 50px; + width: 100%; + font-size: 13px; + line-height: 50px; + text-align: center; + float: none; + margin-top: 20px; + display: none; + color: #fff; +} + +#contact-form .message.error { + background-color: #f44336; +} + +#contact-form .message.success { + background-color: #4CAF50; +} + +/* Owl Carousel +-------------------------------------------------------*/ +.owl-pagination { + position: absolute; + left: 0; + display: block; + text-align: center; + width: 100%; +} + +.owl-buttons { + position: static; +} + +.owl-prev, .owl-next { + display: block; + position: absolute; + top: 50%; + margin-top: -23px; + text-align: center; + line-height: 46px; + z-index: 10; + width: 46px; + height: 46px; + background-color: #fff; + opacity: 0; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.owl-prev:hover i, .owl-next:hover i { + color: #F29614; +} + +.owl-prev { + left: -40px; +} + +.owl-next { + right: -40px; +} + +#owl-slider-one-img:hover .owl-prev, +#owl-slider-small-img:hover .owl-prev { + opacity: 1; + left: 0; +} + +#owl-slider-one-img:hover .owl-next, +#owl-slider-small-img:hover .owl-next { + opacity: 1; + right: 0; +} + +.owl-page { + display: inline-block; + padding: 6px 6px; + position: relative; +} +.owl-page span { + display: block; + position: relative; + width: 10px; + height: 10px; + opacity: 0.8; + -webkit-border-radius: 20px; + border-radius: 20px; + background: transparent; + z-index: 100; + border: 2px solid #fff; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.owl-page span:hover { + opacity: 1; +} + +.owl-theme .owl-controls .owl-page.active span { + display: block; + width: 10px; + height: 10px; + margin: 0; + opacity: 1; + background: #fff; +} + +/*-------------------------------------------------------*/ +/* Page Title / Breadcrumbs +/*-------------------------------------------------------*/ +.page-title { + position: relative; + width: 100%; + overflow: hidden; + background-attachment: fixed !important; + background-repeat: no-repeat; + background-position: 50% 0; + display: block; +} +.page-title .container { + height: 600px; +} +.page-title .heading-frame { + border-color: #fff; +} + +.title-holder { + position: relative; + display: table; + width: 100%; + height: 100%; +} + +.title-text { + display: table-cell; + height: 100%; + vertical-align: middle; +} +.title-text h1 { + margin: 30px 0; + font-size: 32px; +} + +.page-title .breadcrumb { + width: auto; + background-color: transparent; + padding: 0; + margin: -10px 0 0 0; + font-size: 13px; +} +.page-title .breadcrumb a, .page-title .breadcrumb > .active { + color: #fff; +} +.page-title .breadcrumb > li + li:before { + color: #fff; + opacity: 0.5; +} + +/*-------------------------------------------------------*/ +/* Blog Standard +/*-------------------------------------------------------*/ +.blog-content .entry-img img { + -webkit-transition: opacity 0.3s ease-in-out; + -moz-transition: opacity 0.3s ease-in-out; + -ms-transition: opacity 0.3s ease-in-out; + -o-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: relative; +} +.blog-content .entry-img a:hover img { + opacity: .8; +} +.blog-content .entry-img, .blog-content .entry-slider, .blog-content .entry-video { + position: relative; + overflow: hidden; + margin-bottom: 34px; +} +.blog-content .entry-meta li:first-child:before { + margin: 0 0 0 -3px; +} +.blog-content .entry-title h2 > a { + font-size: 21px; + color: #111; +} +.blog-content .entry-meta li { + margin-bottom: 7px; +} +.blog-content .entry-content { + margin-top: 17px; +} + +.blog-standard .sidebar, +.blog-single .sidebar { + padding-left: 65px; +} + +.entry-item { + margin-bottom: 60px; + position: relative; + overflow: hidden; +} + +.blog-standard .entry { + margin-top: 35px; +} +.blog-standard .entry-title, .blog-standard .entry-meta { + padding-left: 93px; +} +.blog-standard .entry-item > .entry-date { + float: left; + padding: 13px 19px; + width: 70px; + height: 70px; + border: 3px solid #111; + font-family: "Montserrat", sans-serif; + color: #3b3b3b; + font-weight: bold; + text-align: center; +} +.blog-standard .blog-content .entry-date span { + display: block; +} +.blog-standard .blog-content .entry-date span:first-child { + font-size: 21px; + line-height: 1; +} +.blog-standard .blog-content .entry-date span:last-child { + font-size: 13px; + text-transform: uppercase; +} + +.entry-content > i { + margin-left: 3px; + font-size: 14px; + vertical-align: middle; +} + +/* Quote Post +-------------------------------------------------------*/ +.blog-content .entry.blockquote { + padding-left: 0; +} + +.blog-content .entry-item blockquote > p > a, +.blog-content .entry-item blockquote > p { + color: #111; + font-size: 22px; + line-height: 34px; + font-style: italic; + font-family: "Pt Serif", serif; +} + +.blog-content .entry-item blockquote > p > a:hover { + color: #7a7a7a; +} + +.blockquote-style-1 > i { + font-size: 22px; + color: #d1d1d1; + margin-bottom: 13px; +} + +/* Video Post +-------------------------------------------------------*/ +.entry-video iframe { + width: 100%; + display: block; + border: 0; +} + +/* Pagination +-------------------------------------------------------*/ +.pagination { + margin: 0 auto; + border-radius: 0; + display: block; + text-align: center; + padding-top: 42px; + border-top: 1px solid #e5e5e5; +} +.pagination a, .pagination span { + background-color: #fff; + font-size: 12px; + display: inline-block; + height: 25px; + line-height: 20px; + text-align: center; + margin: 0 9px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + font-family: "Montserrat", sans-serif; + font-weight: bold; + text-transform: uppercase; +} +.pagination span.pagination-dots { + margin: 0 3px; +} +.pagination i:first-child { + margin-right: -5px; +} +.pagination i:last-child { + margin-left: -7px; +} +.pagination a { + color: #757575; +} +.pagination a:hover { + color: #111; +} +.pagination a > i { + font-size: 10px; + margin: 0 3px; +} +.pagination .current { + color: #3b3b3b; +} +.pagination > i { + font-size: 14px; + vertical-align: middle; +} + +/*-------------------------------------------------------*/ +/* Blog Sidebar +/*-------------------------------------------------------*/ +.sidebar .widget { + margin-top: 60px; + position: relative; +} +.sidebar .widget:first-child { + margin-top: 0; +} +.sidebar .widget ul li { + padding: 10px 0; + border-bottom: 1px solid #e5e5e5; +} +.sidebar .widget ul li:last-child { + padding-bottom: 0; + border-bottom: none; +} +.sidebar .widget ul li:first-child { + padding-top: 0; +} +.sidebar .widget ul li a { + color: #7a7a7a; +} +.sidebar .widget ul li a:hover { + color: #111; +} + +.widget-title { + font-size: 15px; + margin-bottom: 28px; +} + +.blog-sidebar .searchbox { + border: 2px solid #e5e5e5; + margin-bottom: 0; + padding: 0 20px; +} + +input[type="search"] { + color: #111; +} + +input.searchbox:focus { + border-color: #F29614; + color: #111; +} + +.search-button { + position: absolute; + top: 12px; + right: 15px; + background-color: transparent; + border: none; +} +.search-button i { + color: #a1a1a1; +} + +/* Latest Posts +-------------------------------------------------------*/ +.blog-sidebar .widget.latest-posts ul li { + border-bottom: none; + line-height: 19px; +} +.blog-sidebar .latest-posts img { + margin-right: 24px; + float: left; +} +.blog-sidebar .latest-posts li { + padding: 17px 0 !important; +} +.blog-sidebar .latest-posts li:first-child { + padding-top: 0 !important; +} +.blog-sidebar .latest-posts li:last-child { + padding-bottom: 0 !important; +} + +.widget.latest-posts ul li a { + font-size: 11px; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + color: #111; + vertical-align: top; + line-height: 1; +} +.widget.latest-posts .entry-meta > span { + color: #7a7a7a; + font-size: 13px; + font-family: "Pt Serif", serif; + text-transform: none; + margin-top: 5px; + display: block; +} +.widget.latest-posts ul li a:hover { + color: #111; +} + +/* Popular Tags +-------------------------------------------------------*/ +.tags a { + background-color: transparent; + border: 3px solid #e5e5e5; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + padding: 9px 16px; + line-height: 1; + margin: 0 8px 8px 0; + font-size: 10px; + color: #ababab; + display: inline-block; + float: left; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.tags a:hover { + border-color: #111; + color: #000; +} + +/*-------------------------------------------------------*/ +/* Blog Single Post +/*-------------------------------------------------------*/ +.blog-single .entry-item { + margin-bottom: 0; +} +.blog-single .entry-title { + margin-top: 70px; + text-align: center; +} +.blog-single .entry-meta { + text-align: center; +} +.blog-single .blog-content .entry-title h2 { + font-size: 28px; +} +.blog-single .blog-content .entry-content { + margin-top: 50px; +} +.blog-single .blog-content blockquote { + margin: 60px 0; +} +.blog-single .blog-content .entry-content > p { + margin-bottom: 24px; +} + +.entry-content .entry-tags h6, +.entry-share h6 { + display: inline-block; + margin-right: 2px; + font-size: 14px; +} + +.entry-content .entry-tags h6 { + margin-right: 7px; +} +.entry-content .entry-tags a { + font-style: italic; + font-size: 14px; + line-height: 37px; + font-family: "Pt Serif", serif; + color: #7a7a7a; +} +.entry-content .entry-tags a:hover { + color: #111; +} +.entry-content .entry-share { + float: right; +} + +.entry-share .socials i, .entry-share .socials a { + width: 32px; + height: 32px; + line-height: 32px; +} +.entry-share .socials { + margin-top: 0; + display: inline-block; +} + +.entry-tags h6, +.entry-share h6 { + font-size: 15px; + text-transform: none; + letter-spacing: normal; +} + +.entry-comments .comment-avatar { + position: absolute; + display: block; +} +.entry-comments .comment-content { + padding-left: 132px; +} +.entry-comments .comment-author { + display: block; + margin-bottom: 5px; + font-family: "Montserrat", sans-serif; + font-weight: bold; + font-size: 15px; + color: #111; +} +.entry-comments h6 { + font-size: 14px; +} +.entry-comments .comment-content span a { + font-size: 13px; + color: #7a7a7a; +} + +.comment-content p { + margin-top: 15px; +} + +.comment-content > a { + font-family: "Montserrat", sans-serif; + color: #111; + font-size: 14px; +} + +.comment-reply { + padding-left: 48px; +} + +.comment-body { + padding: 35px 0; + border-bottom: 1px solid #dbdbdb; +} + +.comment-list > li:last-child .comment-body { + border-bottom: none; + padding-bottom: 0; +} + +/*-------------------------------------------------------*/ +/* Home Owl Slider +/*-------------------------------------------------------*/ +.hero-wrap { + width: 100%; + display: block; + position: relative; + overflow: hidden; + background-attachment: scroll; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + background-position: center center; + background-repeat: no-repeat; +} + +.hero-holder { + display: table; + position: relative; + width: 100%; + height: 100%; +} + +.hero-message { + display: table-cell; + vertical-align: middle; + height: 100%; + width: 100%; + text-align: center; +} +.hero-message h1 { + color: #fff; + font-size: 56px; + font-weight: 700; + line-height: 1; +} + +.hero-subtitle { + text-transform: none; + font-weight: normal; + color: #fff; + line-height: 1.5; + font-size: 20px; + max-width: 800px; + margin: 24px auto 0; +} + +.buttons-holder > a { + margin: 5px; +} + +/*-------------------------------------------------------*/ +/* Home Text Rotator +/*-------------------------------------------------------*/ +.hero-message.text-rotator h1 { + font-size: 70px; +} + +/*-------------------------------------------------------*/ +/* Home Video Bg +/*-------------------------------------------------------*/ +.video-wrap { + position: absolute; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + z-index: 0; +} + +.video-overlay { + background-color: rgba(40, 40, 40, 0.5); + height: 100%; + width: 100%; +} + +.video-img { + background: url(../video/video.jpg) center center no-repeat; + background-size: cover; + z-index: -101; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; +} + +/*-------------------------------------------------------*/ +/* Home Angles +/*-------------------------------------------------------*/ +.main-wrapper-onepage.angles .result-box { + padding: 30% 0; +} + +.section-wrap.angle-top, +.section-wrap.angle-bottom { + overflow: visible; +} + +.bg-light.angle-top:before, +.bg-light.angle-bottom:after { + background-color: #f7f7f7; +} + +.bg-dark.angle-top:before, +.bg-dark.angle-bottom:after { + background-color: #242424; +} + +.angle-top:before { + background: none repeat scroll 0 0 #fff; + content: ""; + margin-top: -199px; + min-height: 150px; + position: absolute; + -webkit-transform: skewY(-2deg); + -moz-transform: skewY(-2deg); + -ms-transform: skewY(-2deg); + -o-transform: skewY(-2deg); + transform: skewY(-2deg); + width: 100%; + z-index: 1; +} + +.angle-bottom:after { + background: none repeat scroll 0 0 #fff; + content: ""; + margin-top: 40px; + min-height: 150px; + position: absolute; + -webkit-transform: skewY(-2deg); + -moz-transform: skewY(-2deg); + -ms-transform: skewY(-2deg); + -o-transform: skewY(-2deg); + transform: skewY(-2deg); + width: 100%; + z-index: 1; +} + +#portfolio.angle-bottom:after { + margin-top: 140px; +} + +.main-wrapper-onepage.angles .process, +.main-wrapper-onepage.angles .parallax-testimonials { + padding: 200px 0; +} + +.main-wrapper-onepage.angles .footer.minimal { + text-align: left; +} + +.main-wrapper-onepage.angles .gmap { + height: 600px; +} + +/* Services +-------------------------------------------------------*/ +.services.style-2 a { + position: absolute; + font-size: 36px; + line-height: 1; + color: #c1c1c1; +} +.services.style-2 .install-item-box { + padding: 0 0 0 60px; + margin-bottom: 50px; +} +.services.style-2 .install-item-box h3 { + margin-bottom: 10px; +} + +/* Latest Works +-------------------------------------------------------*/ +.portfolio-filter { + list-style: none; + margin-bottom: 40px; + cursor: default; + font-size: 13px; + text-align: center; +} +.portfolio-filter a.active, .portfolio-filter a:hover { + color: #111; + border-color: #111; +} +.portfolio-filter a { + display: inline-block; + margin: 0 5px 5px 0; + color: #ababab; + text-decoration: none; + padding: 7px 15px; + border: 3px solid #e5e5e5; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + font-size: 12px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.work-container { + margin-bottom: 40px; +} + +.work-item .work-overlay:hover, +.work-item:hover .portfolio-overlay { + opacity: 1; + z-index: 1; +} + +.portfolio-overlay { + position: absolute; + overflow: hidden; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + z-index: -1; + text-align: center; + background-color: rgba(0, 0, 0, 0.5); + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.project-icons { + position: absolute; + top: 0; + width: 100%; + text-align: center; + margin-top: -20px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.project-icons a { + display: inline-block; + width: 40px; + height: 40px; + font-size: 14px; + margin: 0 3px; + line-height: 40px; + text-align: center; + color: #111; + background-color: #fff; + border-radius: 100px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.project-icons a:hover { + color: #fff; + background-color: #F29614; +} + +.work-item:hover .portfolio-overlay .project-icons { + position: absolute; + top: 50%; +} + +.works-grid.titles .work-description h3, +.works-grid.titles .work-description span, +#owl-related-works .work-description h3, +#owl-related-works .work-description span { + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; +} + +.works-grid.titles .work-description, +#owl-related-works .work-description { + position: relative; + top: 0; + left: 0; + width: 100%; + margin-top: 20px; + text-align: center; +} + +.works-grid.titles .work-description a, +#owl-related-works .work-description a { + color: #111; +} +.works-grid.titles .work-description a:hover, +#owl-related-works .work-description a:hover { + color: #F29614; +} + +/* Call to Action Style-2 +-------------------------------------------------------*/ +.call-to-action.style-2 { + padding: 200px 0; +} +.call-to-action.style-2 h2 { + font-size: 32px; + color: #fff; + margin: 0 0 25px; +} +.call-to-action.style-2 a { + margin: 10px 4px 0; +} + +/* Ipad with Features +-------------------------------------------------------*/ +.promo-device img { + display: inline-block; +} + +.features-icons a { + position: absolute; +} + +.features-text { + padding-left: 100px; +} + +.features-icons .install-item-box { + padding: 0; + margin-bottom: 50px; + background-color: transparent; +} + +/* Pricing Tables +-------------------------------------------------------*/ +.pricing-3-col { + background-color: #f7f7f7; + text-align: center; +} + +.pricing-title { + background-color: #303030; + padding: 45px 30px; +} +.pricing-title h3 { + font-size: 18px; + color: #fff; + margin-bottom: 30px; +} + +.best-price { + background-color: #F29614; +} + +.pricing-price { + font-size: 25px; + color: #111; + background-color: #fff; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 110px; + height: 110px; + display: inline-block; + position: absolute; + left: 50%; + margin-left: -55px; + line-height: 1.3; + padding: 28px 25px; + -webkit-box-shadow: 0px 0px 5px 0px rgba(14, 16, 9, 0.1); + -moz-box-shadow: 0px 0px 5px 0px rgba(14, 16, 9, 0.1); + -ms-box-shadow: 0px 0px 5px 0px rgba(14, 16, 9, 0.1); + box-shadow: 0px 0px 5px 0px rgba(14, 16, 9, 0.1); +} + +.pricing-currency { + font-family: "Montserrat", sans-serif; +} + +.pricing-term { + font-size: 12px; + display: block; +} + +.pricing-features { + padding: 100px 40px 40px; + color: #7a7a7a; +} +.pricing-features li { + padding: 10px 0; +} + +.pricing-button { + padding: 0 40px 50px 40px; +} + +/* Fun Facts style-2 +-------------------------------------------------------*/ +.result-boxes.style-2 .result-box { + padding: 20px 0; + text-align: center; +} +.result-boxes.style-2 .statistic span.counter-text { + color: #fff; + font-size: 13px; +} +.result-boxes.style-2 .statistic span { + float: none; + margin-left: 0; + line-height: 1.2; + font-size: 50px; +} +.result-boxes.style-2 .result-wrap { + width: auto; +} + +/* Testimonials style-2 +-------------------------------------------------------*/ +.testimonials.style-2 .testimonial-text { + color: #7a7a7a; +} +.testimonials.style-2 .owl-carousel { + position: static; +} +.testimonials.style-2 .owl-pagination { + position: static; + margin-top: 30px; +} +.testimonials.style-2 .owl-page span { + border-color: #a7a7a7; +} +.testimonials.style-2 .owl-page.active span { + background-color: #7a7a7a; + border-color: #7a7a7a; +} +.testimonials.style-2 .testimonial span { + color: #ababab; + display: inline-block; + font-weight: bold; + font-size: 14px; +} +.testimonials.style-2 .testimonial-text { + margin: 10px 0 20px; + font-family: "Open Sans", sans-serif; + font-size: 20px; +} + +/* Page Title Style-2 +-------------------------------------------------------*/ +.page-title.style-2 { + background-color: #f7f7f7; + padding: 60px 0; +} +.page-title.style-2 .container { + height: auto; +} +.page-title.style-2 .title-text h1 { + margin: 0; + font-size: 28px; +} +.page-title.style-2 .breadcrumb { + position: absolute; + right: 0; + width: auto; + background-color: transparent; + top: 50%; + padding: 0; +} +.page-title.style-2 .breadcrumb a, .page-title.style-2 .breadcrumb > li + li:before { + color: #7a7a7a; +} +.page-title.style-2 .breadcrumb > .active, .page-title.style-2 .breadcrumb a:hover { + color: #111; +} + +/*-------------------------------------------------------*/ +/* Portfolio +/*-------------------------------------------------------*/ +.works-grid.titles h3, +#owl-related-works h3 { + font-size: 14px; +} + +.call-to-action.bg-light { + background-color: #f7f7f7; +} + +.portfolio-description { + padding-left: 10%; +} +.portfolio-description p, .portfolio-description ul, .portfolio-description a.btn { + margin-bottom: 30px; +} +.portfolio-description h2 { + font-size: 22px; + margin-bottom: 15px; +} +.portfolio-description ul > li { + line-height: 30px; + color: #111; +} +.portfolio-description ul > li a { + color: #7a7a7a; +} +.portfolio-description ul > li a:hover { + color: #F29614; +} + +.related-projects .work-container { + margin-bottom: 0; +} +.related-projects .heading-inline, .related-projects .customNavigation { + display: inline-block; +} +.related-projects .customNavigation a { + background-color: #f2f2f2; + color: #111; + width: 30px; + height: 30px; + text-align: center; + padding: 0; + line-height: 30px; + border: none; +} +.related-projects .customNavigation i { + font-size: 14px; + line-height: 30px; +} +.related-projects .customNavigation a:hover { + background-color: #F29614; + color: #fff; +} + +#owl-related-works .owl-item .work-item { + margin: auto 15px; +} + +/*-------------------------------------------------------*/ +/* 404 +/*-------------------------------------------------------*/ +.page-404 h1 { + font-size: 200px; +} +.page-404 a, .page-404 p { + font-size: 14px; +} + +/* Intro +-------------------------------------------------------*/ +.section-wrap.intro { + padding: 80px 0 60px; +} + +.intro.style-2 .intro-text p { + font-size: 50px; + font-weight: 700; + line-height: 1.5; + font-family: "Montserrat", sans-serif; + color: #111; +} + +/* Portfolio Masonry +-------------------------------------------------------*/ +.masonry-grid { + width: 100%; +} +.masonry-grid .work-item { + width: 50%; + float: left; +} +.masonry-grid .work-item.quarter { + width: 25%; +} +.masonry-grid .work-description { + width: 100%; + text-align: center; + margin-top: -24px; + top: 50%; + left: 0; + padding: 0 15px; +} +.masonry-grid .work-img img { + -webkit-transition: all 1.5s linear; + -moz-transition: all 1.5s linear; + -ms-transition: all 1.5s linear; + -o-transition: all 1.5s linear; + transition: all 1.5s linear; +} +.masonry-grid .work-description h3, .masonry-grid .work-description span { + -webkit-transform: translate(0); + -moz-transform: translate(0); + -ms-transform: translate(0); + -o-transform: translate(0); + transform: translate(0); +} +.masonry-grid .work-description h3 { + font-size: 20px; +} +.masonry-grid .work-overlay { + border: none; +} + +/*-------------------------------------------------------*/ +/* Portfolio About Me +/*-------------------------------------------------------*/ +.about-me .my-photo { + width: 100%; +} + +.about-me .info { + padding-left: 7%; +} + +/*-------------------------------------------------------*/ +/* Youtube Video bg +/*-------------------------------------------------------*/ +#ytb-wrap { + background-size: cover; +} +#ytb-wrap .hero-text { + color: #fff; + text-shadow: none; + font-weight: 700; + line-height: 1; + font-family: "Montserrat", sans-serif; + letter-spacing: 0.02em; + margin: 0px; + border-width: 0px; + border-style: none; + font-size: 100px; + text-transform: none; +} + +/*-------------------------------------------------------*/ +/* Typography +/*-------------------------------------------------------*/ +.section-headings p { + margin-bottom: 30px; +} + +blockquote { + padding: 0 0 20px; + margin: 0; + border: none; +} + +blockquote > p { + font-size: 18px; + line-height: 30px; + font-style: italic; + margin-bottom: 5px !important; + position: relative; +} + +blockquote > span { + font-size: 14px; +} + +.blockquote-style-1 { + padding: 8% 10%; + border: 4px solid #e5e5e5; +} + +.blockquote-style-2 { + padding: 20px 40px; + border-left: 3px solid #333333; +} + +.dropcap.style-1 { + float: left; + color: #333; + font-size: 52px; + line-height: 46px; + padding-top: 4px; + padding-right: 10px; +} + +.dropcap.style-2 { + float: left; + color: #fff; + text-align: center; + background-color: #333333; + width: 38px; + height: 38px; + font-size: 24px; + line-height: 38px; + margin: 10px 10px 0 0; +} + +.highlight { + padding: 3px 5px; + color: #fff; + background-color: #F29614; +} + +.bullets li, +.arrows li, +.arrows-2 li, +.numbers li { + margin-bottom: 10px; +} + +.bullets { + list-style-type: disc; + margin-left: 17px; +} + +.bullets li:before { + font-size: 18px; + color: #333333; + padding-right: 0.5em; + line-height: 1; + vertical-align: middle; +} + +.arrows i { + margin-right: 5px; +} + +.arrows i, +.arrows-2 i { + color: #333333; +} + +.arrows-2 i { + font-size: 12px; + margin-right: 7px; +} + +ol.numbers { + padding-left: 20px; +} + +.section-columns p { + margin-bottom: 40px; +} + +/*-------------------------------------------------------*/ +/* Shortcodes +/*-------------------------------------------------------*/ +/* Accordions +-------------------------------------------------------*/ +.accordion > .panel-content { + padding: 10px 0 10px 20px; +} +.accordion > .acc-panel > a { + display: block; + position: relative; + text-decoration: none; + font-size: 12px; + padding: 13px 20px; + background-color: #fff; + color: #7a7a7a; + margin-bottom: 10px; + border: 3px solid #d1d1d1; + -webkit-border-radius: 0; + border-radius: 0; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + font-weight: 700; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.accordion > .acc-panel > a.active { + color: #111; + background-color: #fff; + border-color: #333; +} +.accordion > .acc-panel > a:after { + font-family: "ElegantIcons"; + position: absolute; + right: 10px; + top: 2px; + color: #7a7a7a; + font-weight: normal; + font-size: 26px; +} +.accordion > .acc-panel > a:after { + content: "\35"; +} +.accordion > .acc-panel > a.active:after { + content: "\33"; + color: #333; +} +.accordion > .acc-panel > a:hover { + color: #fff; + background-color: #333; + border-color: #333; +} +.accordion > .acc-panel > a:hover:after { + color: #fff; +} + +/* Tabs +-------------------------------------------------------*/ +.nav.nav-tabs { + border-bottom: none; +} +.nav.nav-tabs > li { + margin-bottom: 0; +} +.nav.nav-tabs > li.active > a { + border: 3px solid #333; + background-color: #fff; + padding: 13px 20px; + color: #333; +} +.nav.nav-tabs > li > a { + padding: 13px 20px; + background-color: #fff; + border: 3px solid #d1d1d1; + -webkit-border-radius: 0; + border-radius: 0; + margin-right: 10px; + font-family: "Montserrat", sans-serif; + color: #7a7a7a; + font-size: 12px; + text-transform: uppercase; + font-weight: 700; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.nav.nav-tabs > li > a:hover { + color: #fff; + background-color: #333; + border-color: #111; +} + +.tab-content { + padding: 20px 0; +} +.tab-content > .tab-pane > p { + margin-bottom: 20px; +} + +/* Buttons +-------------------------------------------------------*/ +.section-buttons .btn { + margin-bottom: 20px; +} + +.btn { + font-family: "Montserrat", sans-serif; + font-weight: 700; + text-transform: uppercase; + text-decoration: none; + text-align: center; + letter-spacing: 0.02em; + -webkit-border-radius: 0; + border-radius: 0; + border: 3px solid transparent; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + color: #fff; + background-color: #111; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.btn.btn-color { + background-color: #F29614; + color: #111; +} +.btn.btn-transparent { + background-color: transparent; + border: 3px solid #fff; +} +.btn.btn-stroke { + color: #111; + border: 3px solid #111; + background-color: transparent; +} +.btn.btn-dark { + background-color: #333; +} +.btn.btn-white { + background-color: #fff; + color: #111; +} +.btn.btn-light { + background-color: #f5f5f5; + color: #111; +} +.btn:hover { + -webkit-transition: all 0.2 ease-in-out; + -moz-transition: all 0.2 ease-in-out; + -ms-transition: all 0.2 ease-in-out; + -o-transition: all 0.2 ease-in-out; + transition: all 0.2 ease-in-out; + color: #fff; + background-color: #F29614; + border-color: transparent; +} +.btn:focus { + outline: none; + color: #fff; +} +.btn.btn-white:focus { + color: #111; +} +.btn.btn-color:hover { + background-color: #111; +} + +.btn-lg { + font-size: 14px; + padding: 13px 34px; +} + +.btn-md { + font-size: 11px; + padding: 10px 25px; +} + +.btn-sm { + font-size: 10px; + padding: 8px 22px; +} + +/* Pie Charts +-------------------------------------------------------*/ +.pie-chart { + margin-bottom: 40px; +} + +.chart { + position: relative; + display: inline-block; + width: 174px; + height: 174px; + text-align: center; +} +.chart canvas { + position: absolute; + top: 0; + left: 0; +} + +.percent { + display: inline-block; + line-height: 174px; + z-index: 2; + font-size: 24px; + font-family: "Montserrat", sans-serif; + color: #111; +} +.percent:after { + content: '%'; + margin-left: 0.1em; + font-size: .9em; +} + +/* Alert Boxes +-------------------------------------------------------*/ +.alert { + padding: 14px 20px; + margin-bottom: 20px; + border: none; + -webkit-border-radius: 0; + border-radius: 0; + color: #fff; +} + +.alert-dismissible .close { + right: 0; + top: 0; + color: inherit; + position: relative; +} + +.close { + opacity: 1; + text-shadow: none; +} + +.alert-success { + background-color: #aec2a1; +} + +.alert-info { + background-color: #a0b7cb; +} + +.alert-warning { + background-color: #ccbfa9; +} + +.alert-danger { + background-color: #cba0a0; +} + +/*-------------------------------------------------------*/ +/* Form Elements +/*-------------------------------------------------------*/ +input[type="text"], +input[type="password"], +input[type="email"], +input[type="url"], +input[type="tel"], +input[type="number"], +input[type="date"], +input[type="search"], +select, +textarea { + position: relative; + height: 47px; + line-height: 47px; + border: 2px solid #e3e3e3; + background-color: transparent; + width: 100%; + margin-bottom: 16px; + padding: 0 16px; + color: #7a7a7a; + -webkit-transition: border-color 0.3s ease-in-out; + -moz-transition: border-color 0.3s ease-in-out; + -ms-transition: border-color 0.3s ease-in-out; + -o-transition: border-color 0.3s ease-in-out; + transition: border-color 0.3s ease-in-out; +} + +textarea#comment { + height: 190px; + padding: 0 16px; + margin-bottom: 25px; +} + +input[type="text"]:focus, +input[type="password"]:focus, +input[type="date"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="month"]:focus, +input[type="week"]:focus, +input[type="email"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="time"]:focus, +input[type="url"]:focus, +textarea:focus { + border-color: #F29614; + outline: none; + box-shadow: none; +} + +textarea { + height: auto; + padding: 0px 16px; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #7a7a7a; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #7a7a7a; + opacity: 1; +} + +input::-moz-placeholder, +textarea::-moz-placeholder { + color: #7a7a7a; + opacity: 1; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #7a7a7a; +} + +select { + line-height: 1; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; +} + +select::-ms-expand { + display: none; +} + +.select { + position: relative; + cursor: pointer; +} +.select i { + position: absolute; + top: 14px; + right: 18px; + pointer-events: none; + font-size: 18px; +} + +/* Checkboxes & Radio Buttons +-------------------------------------------------------*/ +input[type="checkbox"] { + display: none; +} + +input[type="checkbox"] + label:before { + width: 22px; + height: 22px; + background-color: #e3e3e3; + content: ""; + display: inline-block; + font-size: 13px; + margin: -4px 12px 0 0; + text-align: center; + vertical-align: middle; + cursor: pointer; +} + +input[type="checkbox"]:checked + label:before { + content: "\f00c"; + font-family: "FontAwesome"; + color: #111; +} + +input[type="checkbox"] + label, +input[type="radio"] + label { + cursor: pointer; + margin-bottom: 0; + font-family: "Open Sans", sans-serif; + text-transform: none; + letter-spacing: normal; + color: #7a7a7a; + font-size: 15px; +} + +.radio-buttons > li, +.checkboxes > li { + padding: 7px 0; +} + +input[type="radio"] { + display: none; +} + +input[type="radio"] + label:before { + display: inline-block; + content: ""; + width: 22px; + height: 22px; + background-color: #e3e3e3; + border-radius: 40px; + margin: -3px 10px 0 0; + outline: none; + vertical-align: middle; + cursor: pointer; + margin-bottom: 0; +} + +input[type="radio"]:checked + label:before { + width: 22px; + height: 22px; + background-color: #111; + border: 6px solid #e3e3e3; +} + +input[type="radio"]:focus { + outline: none; +} + +label { + font-weight: normal; + color: #111; + font-size: 12px; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + letter-spacing: 0.05em; + vertical-align: middle; +} + +/*-------------------------------------------------------*/ +/* Footer +/*-------------------------------------------------------*/ +.footer.minimal { + padding: 40px 0; + text-align: center; +} +.footer.minimal .copyright { + display: block; + margin-top: 30px; + font-size: 10px; + font-family: "Montserrat", sans-serif; + text-transform: uppercase; + letter-spacing: 0.05em; +} +.footer.minimal .copyright a { + color: #909090; +} + +.socials.footer-socials a { + margin: 0 2px; +} +.socials.footer-socials a:hover i { + color: #fff; + background-color: #F29614; +} +.socials.footer-socials i { + width: 37px; + height: 37px; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #1b1b1b; + color: #dbdbdb; + line-height: 37px; + text-align: center; + font-size: 14px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +/*-------------------------------------------------------*/ +/* Footer Type-2 +/*-------------------------------------------------------*/ +.footer.footer-type-2 { + background-color: #111; +} + +.footer-widgets { + padding: 100px 0; +} +.footer-widgets h5 { + margin-bottom: 24px; + font-size: 16px; + color: #fff; +} +.footer-widgets a { + color: #7a7a7a; +} +.footer-widgets a:hover { + color: #fff; +} + +.footer-links ul > li { + padding: 13px 0; + border-bottom: 1px solid #292929; + line-height: 24px; +} +.footer-links li { + padding-bottom: 7px; +} +.footer-links li:last-child { + padding-bottom: 0; +} + +.footer-get-in-touch p { + margin-bottom: 7px; +} + +p.footer-address { + margin-bottom: 24px; +} + +.footer-entry { + padding: 9px 0 14px; + border-bottom: 1px solid #292929; +} +.footer-entry p { + margin-bottom: 1px; +} +.footer-entry span { + color: #4c4c4c; + font-size: 12px; +} + +.footer-entry:first-child, +.footer-links li:first-child { + padding-top: 0; +} + +.footer-entry:last-child, +.footer-links li:last-child { + border-bottom: none; + padding-bottom: 0; +} + +.footer-socials .social-icons a { + margin-right: 3px; + float: left; + display: inline-block; + width: 32px; + height: 32px; + overflow: hidden; + background-color: transparent; + color: #7a7a7a; + line-height: 32px; + text-align: center; + font-size: 13px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.social-icons.light a { + background-color: #f7f7f7; +} +.social-icons i { + display: block; + width: 32px; + height: 32px; + line-height: 32px; + position: relative; +} +.social-icons a:hover { + color: #fff; +} + +.bottom-footer { + background-color: #0c0c0c; + padding: 34px 0; +} + +.copyright span { + font-size: 13px; + line-height: 32px; +} +.copyright span a { + color: #7a7a7a; +} +.copyright span a:hover { + color: #fff; +} + +/*-------------------------------------------------------*/ +/* Footer Type-3 +/*-------------------------------------------------------*/ +.footer-type-3 { + padding: 100px 0; + font-size: 13px; + line-height: 37px; +} +.footer-type-3 .footer-socials { + text-align: right; +} +.footer-type-3 .footer-socials i { + background-color: transparent; + color: #7a7a7a; +} +.footer-type-3 .footer-socials a:hover i { + background-color: transparent; + color: #111; +} +.footer-type-3 a { + color: #7a7a7a; +} +.footer-type-3 a:hover { + color: #111; +} + + +/*# sourceMappingURL=style.css.map */ +/*-------------------------------------------------------*/ +/* Profile Page +/*-------------------------------------------------------*/ + +.profile_container .icon{ + padding-right: 10px; +} diff --git a/server/www/static/www/css/style.css.map b/server/www/static/www/css/style.css.map new file mode 100644 index 0000000..d9e0a5d --- /dev/null +++ b/server/www/static/www/css/style.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["sass/_general.scss","sass/_variables.scss","sass/_mixins.scss","sass/_navigation.scss","sass/_layout.scss","sass/_shortcodes.scss","sass/_footer.scss"], +"names": [], +"file": "style.css" +} diff --git a/server/www/static/www/css/talos-guy.css b/server/www/static/www/css/talos-guy.css new file mode 100644 index 0000000..9f22f99 --- /dev/null +++ b/server/www/static/www/css/talos-guy.css @@ -0,0 +1,228 @@ +@keyframes type{ + from { width: 0; } +} + +@keyframes type2{ + 0%{width: 0;} + 50%{width: 0;} + 100%{ width: 100; } +} + +@keyframes blink{ + to{opacity: .0;} +} + +::selection{ + background: black; +} + +@import "compass/css3"; + +.talos_character { + height: 800px; +} + +.bodytalos, .headtalos, .eyestalos, .leftarmtalos, .rightarmtalos, .chairtalos, .leftshoetalos, .rightshoetalos, .legstalos, .laptoptalos { + background: url('../img/talos-guy.png') 0 0 no-repeat; + width: 200px; + height: 200px; +// border: 1px dotted red; +} + +.newcharactertalos, .torsotalos, .bodytalos, .headtalos, .eyestalos, .leftarmtalos, .rightarmtalos, .chairtalos, .leftshoetalos, .rightshoetalos, .legstalos, .laptoptalos { + background-size: 750px; + position: absolute; + display: block; +} + +.newcharactertalos { + width: 400px; + height: 800px; + left: 60%; + top: 380px; + margin-left: -200px; +} + +$swayspeed: 20s; + +.torsotalos { + position: absolute; + display: block; + top: 138px; + left: 0px; + width: 389px; + height: 252px; + animation: sway $swayspeed ease infinite; + transform-origin: 50% 100%; +} + +.bodytalos { + position: absolute; + display: block; + top: 0px; + left: 0px; + width: 389px; + height: 253px; +} + +.headtalos { + position: absolute; + top: -148px; + left: 106px; + width: 160px; + height: 194px; + background-position: 0px -265px; + transform-origin: 50% 85%; + animation: headTilt $swayspeed ease infinite; +} + +.eyestalos { + position: absolute; + top: 92px; + left: 34px; + width: 73px; + height: 18px; + background-position: -162px -350px; + animation: blinktalos 10s steps(1) infinite, pan 10s ease-in-out infinite; +} + +.leftarmtalos { + position: absolute; + top: 159px; + left: 0; + width: 165px; + height: 73px; + background-position: -265px -341px; + transform-origin: 9% 35%; + transform: rotateZ(0deg); + animation: typeLeft 0.4s linear infinite; +} + +.rightarmtalos { + position: absolute; + top: 148px; + left: 231px; + width: 157px; + height: 91px; + background-position: -442px -323px; + transform-origin: 90% 25%; + animation: typeLeft 0.4s linear infinite; +} + +.chairtalos { + position: absolute; + top: 360px; + left: 55px; + width: 260px; + height: 365px; + background-position: -12px -697px; +} + +.legstalos { + position: absolute; + top: 308px; + left: 4px; + width: 370px; + height: 247px; + background-position: -381px -443px; +} + +.leftshoetalos { + position: absolute; + top: 521px; + left: 54px; + width: 130px; + height: 92px; + background-position: -315px -749px; +} + +.rightshoetalos { + position: absolute; + top: 524px; + left: 187px; + width: 135px; + height: 81px; + background-position: -453px -749px; + transform-origin: 35% 12%; + animation: tapRight 1s linear infinite; +} + +.laptoptalos { + position: absolute; + top: 186px; + left: 9px; + width: 365px; + height: 216px; + background-position: -2px -466px; + transform-origin: 50% 100%; + animation: tapWobble 0.4s linear infinite; +} + +@keyframes sway { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(4deg); } + 45% { transform: rotateZ(4deg); } + 50% { transform: rotateZ(0deg); } + 70% { transform: rotateZ(0deg); } + 75% { transform: rotateZ(-4deg); } + 90% { transform: rotateZ(-4deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes headTilt { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(-4deg); } + 35% { transform: rotateZ(-4deg); } + 38% { transform: rotateZ(2deg); } + 42% { transform: rotateZ(2deg); } + 45% { transform: rotateZ(-4deg); } + 50% { transform: rotateZ(0deg); } + 70% { transform: rotateZ(0deg); } + 82% { transform: rotateZ(0deg); } + 85% { transform: rotateZ(4deg); } + 90% { transform: rotateZ(4deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes typeLeft { + 0% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(7deg); } + 75% { transform: rotateZ(-6deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes typeRight { + 0% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(-6deg); } + 75% { transform: rotateZ(7deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes tapWobble { + 0% { transform: rotateZ(-0.2deg); } + 50% { transform: rotateZ(0.2deg); } + 100% { transform: rotateZ(-0.2deg); } +} + +@keyframes tapRight { + 0% { transform: rotateZ(0deg); } + 90% { transform: rotateZ(-6deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes blinktalos { + 0% { background-position: -162px -350px; } + 94% { background-position: -162px -350px; } + 98% { background-position: -162px -368px; } + 100% { background-position: -162px -350px; } +} + +@keyframes pan { + 0% { transform: translateX(-2px); } + 49% { transform: translateX(-2px); } + 50% { transform: translateX(2px); } + 99% { transform: translateX(2px); } + 100% { transform: translateX(-2px); } +} diff --git a/server/www/static/www/css/talos-guy_small.css b/server/www/static/www/css/talos-guy_small.css new file mode 100644 index 0000000..2ee1199 --- /dev/null +++ b/server/www/static/www/css/talos-guy_small.css @@ -0,0 +1,228 @@ +@keyframes type{ + from { width: 0; } +} + +@keyframes type2{ + 0%{width: 0;} + 50%{width: 0;} + 100%{ width: 30; } +} + +@keyframes blink{ + to{opacity: .0;} +} + +::selection{ + background: black; +} + +@import "compass/css3"; + +.talos_character { + height: 800px; +} + +.bodytalos, .headtalos, .eyestalos, .leftarmtalos, .rightarmtalos, .chairtalos, .leftshoetalos, .rightshoetalos, .legstalos, .laptoptalos { + background: url('../img/talos-guy.png') 0 0 no-repeat; + width: 200px; + height: 200px; +// border: 1px dotted red; +} + +.newcharactertalos, .torsotalos, .bodytalos, .headtalos, .eyestalos, .leftarmtalos, .rightarmtalos, .chairtalos, .leftshoetalos, .rightshoetalos, .legstalos, .laptoptalos { + background-size: 450px; + position: absolute; + display: block; +} + +.newcharactertalos { + width: 400px; + height: 800px; + left: 57%; + top: 550px; + margin-left: -200px; +} + +$swayspeed: 20s; + +.torsotalos { + position: absolute; + display: block; + top: 138px; + left: 0px; + width: 289px; + height: 152px; + animation: sway $swayspeed ease infinite; + transform-origin: 20% 100%; +} + +.bodytalos { + position: absolute; + display: block; + top: -50px; + left: 80px; + width: 235px; + height: 153px; +} + +.headtalos { + position: absolute; + top: -142px; + left: 132px; + width: 100px; + height: 118px; + background-position: 10px -158px; + transform-origin: 50% 85%; + animation: headTilt $swayspeed ease infinite; +} + +.eyestalos { + position: absolute; + top: 49px; + left: 24px; + width: 53px; + height: 18px; + background-position: -152px -458px; + animation: blinktalos 10s steps(1) infinite, pan 10s ease-in-out infinite; +} + +.leftarmtalos { + position: absolute; + top: 49px; + left: 80px; + width: 103px; + height: 47px; + background-position: -159px -208px; + transform-origin: 9% 35%; + transform: rotateZ(0deg); + animation: typeLeft 0.4s linear infinite; +} + +.rightarmtalos { + position: absolute; + top: 49px; + left: 219px; + width: 103px; + height: 47px; + background-position: -265px -200px; + transform-origin: 90% 25%; + animation: typeLeft 0.4s linear infinite; +} + +.chairtalos { + position: absolute; + top: 160px; + left: 118px; + width: 160px; + height: 215px; + background-position: -5px -417px; +} + +.legstalos { + position: absolute; + top: 118px; + left: 90px; + width: 225px; + height: 155px; + background-position: -228px -263px; +} + +.leftshoetalos { + position: absolute; + top: 254px; + left: 110px; + width: 80px; + height: 55px; + background-position: -188px -450px; +} + +.rightshoetalos { + position: absolute; + top: 245px; + left: 205px; + width: 85px; + height: 58px; + background-position: -275px -445px; + transform-origin: 35% 12%; + animation: tapRight 1s linear infinite; +} + +.laptoptalos { + position: absolute; + top: 55px; + left: 86px; + width: 225px; + height: 140px; + background-position: 0 -275px; + transform-origin: 50% 100%; + animation: tapWobble 0.4s linear infinite; +} + +@keyframes sway { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(4deg); } + 45% { transform: rotateZ(4deg); } + 50% { transform: rotateZ(0deg); } + 70% { transform: rotateZ(0deg); } + 75% { transform: rotateZ(-4deg); } + 90% { transform: rotateZ(-4deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes headTilt { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(-4deg); } + 35% { transform: rotateZ(-4deg); } + 38% { transform: rotateZ(2deg); } + 42% { transform: rotateZ(2deg); } + 45% { transform: rotateZ(-4deg); } + 50% { transform: rotateZ(0deg); } + 70% { transform: rotateZ(0deg); } + 82% { transform: rotateZ(0deg); } + 85% { transform: rotateZ(4deg); } + 90% { transform: rotateZ(4deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes typeLeft { + 0% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(7deg); } + 75% { transform: rotateZ(-6deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes typeRight { + 0% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(-6deg); } + 75% { transform: rotateZ(7deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes tapWobble { + 0% { transform: rotateZ(-0.2deg); } + 50% { transform: rotateZ(0.2deg); } + 100% { transform: rotateZ(-0.2deg); } +} + +@keyframes tapRight { + 0% { transform: rotateZ(0deg); } + 90% { transform: rotateZ(-6deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes blinktalos { + 0% { background-position: -90px -201px; } + 94% { background-position: -90px -201px; } + 98% { background-position: -90px -228px; } + 100% { background-position: -90px -201px; } +} + +@keyframes pan { + 0% { transform: translateX(-2px); } + 49% { transform: translateX(-2px); } + 50% { transform: translateX(2px); } + 99% { transform: translateX(2px); } + 100% { transform: translateX(-2px); } +} diff --git a/server/www/static/www/css/talos-guy_xs.css b/server/www/static/www/css/talos-guy_xs.css new file mode 100644 index 0000000..2c98811 --- /dev/null +++ b/server/www/static/www/css/talos-guy_xs.css @@ -0,0 +1,228 @@ +@keyframes type{ + from { width: 0; } +} + +@keyframes type2{ + 0%{width: 0;} + 50%{width: 0;} + 100%{ width: 30; } +} + +@keyframes blink{ + to{opacity: .0;} +} + +::selection{ + background: black; +} + +@import "compass/css3"; + +.talos_character_xs { + height: 800px; +} + +.bodytalos_xs, .headtalos_xs, .eyestalos_xs, .leftarmtalos_xs, .rightarmtalos_xs, .chairtalos_xs, .leftshoetalos_xs, .rightshoetalos_xs, .legstalos_xs, .laptoptalos_xs { + background: url('../img/talos-guy.png') 0 0 no-repeat; + width: 200px; + height: 200px; +// border: 1px dotted red; +} + +.newcharactertalos_xs, .torsotalos_xs, .bodytalos_xs, .headtalos_xs, .eyestalos_xs, .leftarmtalos_xs, .rightarmtalos_xs, .chairtalos_xs, .leftshoetalos_xs, .rightshoetalos_xs, .legstalos_xs, .laptoptalos_xs { + background-size: 200px; + position: absolute; + display: block; +} + +.newcharactertalos_xs { + width: 400px; + height: 800px; + left: 54%; + top: 520px; + margin-left: -200px; +} + +$swayspeed: 20s; + +.torsotalos_xs { + position: absolute; + display: block; + top: 138px; + left: 0px; + width: 289px; + height: 152px; + animation: sway_xs $swayspeed ease infinite; + transform-origin: 20% 100%; +} + +.bodytalos_xs { + position: absolute; + display: block; + top: -102px; + left: 146px; + width: 105px; + height: 70px; +} + +.headtalos_xs { + position: absolute; + top: -142px; + left: 172px; + width: 40px; + height: 53px; + background-position: 1px -70px; + transform-origin: 50% 85%; + animation: headTilt_xs $swayspeed ease infinite; +} + +.eyestalos_xs { + position: absolute; + top: 27px; + left: 7px; + width: 25px; + height: 18px; + background-position: -40px -93px; + animation: blinktalos_xs 10s steps(1) infinite, pan_xs 10s ease-in-out infinite; +} + +.leftarmtalos_xs { + position: absolute; + top: -62px; + left: 143px; + width: 47px; + height: 25px; + background-position: -69px -90px; + transform-origin: 9% 35%; + transform: rotateZ(0deg); + animation: typeLeft_xs 0.4s linear infinite; +} + +.rightarmtalos_xs { + position: absolute; + top: -62px; + left: 205px; + width: 47px; + height: 25px; + background-position: -116px -86px; + transform-origin: 90% 25%; + animation: typeLeft_xs 0.4s linear infinite; +} + +.chairtalos_xs { + position: absolute; + top: -10px; + left: 158px; + width: 75px; + height: 100px; + background-position: 0px -185px; +} + +.legstalos_xs { + position: absolute; + top: -30px; + left: 145px; + width: 110px; + height: 75px; + background-position: -100px -115px; +} + +.leftshoetalos_xs { + position: absolute; + top: 27px; + left: 152px; + width: 40px; + height: 35px; + background-position: -83px -195px; +} + +.rightshoetalos_xs { + position: absolute; + top: 26px; + left: 197px; + width: 50px; + height: 50px; + background-position: -118px -195px; + transform-origin: 35% 12%; + animation: tapRight_xs 1s linear infinite; +} + +.laptoptalos_xs { + position: absolute; + top: -57px; + left: 146px; + width: 100px; + height: 60px; + background-position: 0px -123px; + transform-origin: 50% 100%; + animation: tabWobble_xs 0.4s linear infinite; +} + +@keyframes sway_xs { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(4deg); } + 45% { transform: rotateZ(4deg); } + 50% { transform: rotateZ(0deg); } + 70% { transform: rotateZ(0deg); } + 75% { transform: rotateZ(-4deg); } + 90% { transform: rotateZ(-4deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes headTilt_xs { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(-4deg); } + 35% { transform: rotateZ(-4deg); } + 38% { transform: rotateZ(2deg); } + 42% { transform: rotateZ(2deg); } + 45% { transform: rotateZ(-4deg); } + 50% { transform: rotateZ(0deg); } + 70% { transform: rotateZ(0deg); } + 82% { transform: rotateZ(0deg); } + 85% { transform: rotateZ(4deg); } + 90% { transform: rotateZ(4deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes typeLeft_xs { + 0% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(7deg); } + 75% { transform: rotateZ(-6deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes typeRight_xs { + 0% { transform: rotateZ(0deg); } + 25% { transform: rotateZ(-6deg); } + 75% { transform: rotateZ(7deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes tabWobble_xs { + 0% { transform: rotateZ(-0.2deg); } + 50% { transform: rotateZ(0.2deg); } + 100% { transform: rotateZ(-0.2deg); } +} + +@keyframes tapRight_xs { + 0% { transform: rotateZ(0deg); } + 90% { transform: rotateZ(-6deg); } + 100% { transform: rotateZ(0deg); } +} + +@keyframes blinktalos_xs { + 0% { background-position: -40px -93px; } + 94% { background-position: -40px -93px; } + 98% { background-position: -40px -100px; } + 100% { background-position: -40px -93px; } +} + +@keyframes pan_xs { + 0% { transform: translateX(0px); } + 49% { transform: translateX(0px); } + 50% { transform: translateX(2px); } + 99% { transform: translateX(2px); } + 100% { transform: translateX(0px); } +} diff --git a/server/www/static/www/font-icons.css b/server/www/static/www/font-icons.css new file mode 100644 index 0000000..713200b --- /dev/null +++ b/server/www/static/www/font-icons.css @@ -0,0 +1,10 @@ +/*! + * Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.6.1');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.1') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.6.1') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.6.1') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.6.1') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} + +/* Stroke Gap Icons */ +@font-face{font-family:Stroke-Gap-Icons;src:url(fonts/Stroke-Gap-Icons.eot)}@font-face{font-family:Stroke-Gap-Icons;src:url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAIP4AAoAAAAAg7AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAfQ4AAH0O2y4JFk9TLzIAAH4EAAAAYAAAAGAIIv19Y21hcAAAfmQAAABMAAAATBpVzR5nYXNwAAB+sAAAAAgAAAAIAAAAEGhlYWQAAH64AAAANgAAADYAUlk+aGhlYQAAfvAAAAAkAAAAJAPkAqlobXR4AAB/FAAAAzAAAAMwkQcUJ21heHAAAIJEAAAABgAAAAYAzFAAbmFtZQAAgkwAAAGKAAABipxmbApwb3N0AACD2AAAACAAAAAgAAMAAAEABAQAAQEBEVN0cm9rZS1HYXAtSWNvbnMAAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHiGf4mPh9BR0AAAYJDx0AAAYOER0AAAAJHQAAfQUSAM0CAAEAEQAhACMAJQAoAC0AMgA3ADwAQQBGAEsAUABVAFoAXwBkAGkAbgBzAHgAfQCCAIcAjACRAJYAmwCgAKUAqgCvALQAuQC+AMMAyADNANIA1wDcAOEA5gDrAPAA9QD6AP8BBAEJAQ4BEwEYAR0BIgEnASwBMQE2ATsBQAFFAUoBTwFUAVkBXgFjAWgBbQFyAXcBfAGBAYYBiwGQAZUBmgGfAaQBqQGuAbMBuAG9AcIBxwHMAdEB1gHbAeAB5QHqAe8B9AH5Af4CAwIIAg0CEgIXAhwCIQImAisCMAI1AjoCPwJEAkkCTgJTAlgCXQJiAmcCbAJxAnYCewKAAoUCigKPApQCmQKeAqMCqAKtArICtwK8AsECxgLLAtAC1QLaAt8C5ALpAu4C8wL4Av0DAgMHAwwDEQMWAxsDIAMlAyoDLwM0AzkDPgNDA0gDTQNSA1cDXANhA2YDawNwA3UDegN/A4QDiQOOA5MDmAOdA6IDpwOsA7EDtgO7A8ADxQPKA88D1APZA94D4wPoA+0D8gP3A/wEAQQGBAsEEFN0cm9rZS1HYXAtSWNvbnNTdHJva2UtR2FwLUljb25zdTB1MXUyMHVFNjAwdUU2MDF1RTYwMnVFNjAzdUU2MDR1RTYwNXVFNjA2dUU2MDd1RTYwOHVFNjA5dUU2MEF1RTYwQnVFNjBDdUU2MER1RTYwRXVFNjBGdUU2MTB1RTYxMXVFNjEydUU2MTN1RTYxNHVFNjE1dUU2MTZ1RTYxN3VFNjE4dUU2MTl1RTYxQXVFNjFCdUU2MUN1RTYxRHVFNjFFdUU2MUZ1RTYyMHVFNjIxdUU2MjJ1RTYyM3VFNjI0dUU2MjV1RTYyNnVFNjI3dUU2Mjh1RTYyOXVFNjJBdUU2MkJ1RTYyQ3VFNjJEdUU2MkV1RTYyRnVFNjMwdUU2MzF1RTYzMnVFNjMzdUU2MzR1RTYzNXVFNjM2dUU2Mzd1RTYzOHVFNjM5dUU2M0F1RTYzQnVFNjNDdUU2M0R1RTYzRXVFNjNGdUU2NDB1RTY0MXVFNjQydUU2NDN1RTY0NHVFNjQ1dUU2NDZ1RTY0N3VFNjQ4dUU2NDl1RTY0QXVFNjRCdUU2NEN1RTY0RHVFNjRFdUU2NEZ1RTY1MHVFNjUxdUU2NTJ1RTY1M3VFNjU0dUU2NTV1RTY1NnVFNjU3dUU2NTh1RTY1OXVFNjVBdUU2NUJ1RTY1Q3VFNjVEdUU2NUV1RTY1RnVFNjYwdUU2NjF1RTY2MnVFNjYzdUU2NjR1RTY2NXVFNjY2dUU2Njd1RTY2OHVFNjY5dUU2NkF1RTY2QnVFNjZDdUU2NkR1RTY2RXVFNjZGdUU2NzB1RTY3MXVFNjcydUU2NzN1RTY3NHVFNjc1dUU2NzZ1RTY3N3VFNjc4dUU2Nzl1RTY3QXVFNjdCdUU2N0N1RTY3RHVFNjdFdUU2N0Z1RTY4MHVFNjgxdUU2ODJ1RTY4M3VFNjg0dUU2ODV1RTY4NnVFNjg3dUU2ODh1RTY4OXVFNjhBdUU2OEJ1RTY4Q3VFNjhEdUU2OEV1RTY4RnVFNjkwdUU2OTF1RTY5MnVFNjkzdUU2OTR1RTY5NXVFNjk2dUU2OTd1RTY5OHVFNjk5dUU2OUF1RTY5QnVFNjlDdUU2OUR1RTY5RXVFNjlGdUU2QTB1RTZBMXVFNkEydUU2QTN1RTZBNHVFNkE1dUU2QTZ1RTZBN3VFNkE4dUU2QTl1RTZBQXVFNkFCdUU2QUN1RTZBRHVFNkFFdUU2QUZ1RTZCMHVFNkIxdUU2QjJ1RTZCM3VFNkI0dUU2QjV1RTZCNnVFNkI3dUU2Qjh1RTZCOXVFNkJBdUU2QkJ1RTZCQ3VFNkJEdUU2QkV1RTZCRnVFNkMwdUU2QzF1RTZDMnVFNkMzdUU2QzR1RTZDNXVFNkM2dUU2QzcAAAIBiQDKAMwCAAEA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tovAi8C2tsCLwIu2YItWi1ZgYFaLCIv3NBVoi25ui2iLaKhurouui6ioi66Lrm6oaIsI+1SrFcuLi2tLi4urBffUixXLi4trS4uLqwWL+zQVy4uLa0uLi6sF+9SLFcuLi2tLi4urBQ74lNsV+2SLi6v3RIuL97T8VIuL+7T3RYuLa/tli4v39PiUiwVL+7QV/BSLi/d0+BSLi/t0Bfv0qxX31IuL9zT71IuL+zQF9yRMFauLi2pri4usBTpKFfdWi4tr+1aLi6sFDvg09/QV+9SLBWiLbqiLrouuqKiuiwj31IsFrouobotoi2hubmiLCPvU6xV5i319i3mLeZl9nYsI99SLBZ2LmZmLnYudfZl5iwj71IsF90T8dBVri4vUZLLMy0vKsbOL1KuLizRycsxLSkukcgUO+CNrFfuyi3r4A6uNmvvl93aLmvflq4kF+/TMFfgUi4tr/BSLi6sF99hrFfuci6L3BPdui6L7BAX7dKsV90yLgrv7OouCWwXn+8QVaItuqIuui66oqK6Lrouobotoi2hubmiLCIvrFXmLfX2LeYt5mX2di52LmZmLnYudfZl5iwgr6xX3VIuLa/tUi4urBYv7dBX3VIuLa/tUi4urBQ6LixX4lIuLa/yUi4urBYv4dBWri4v8lGuLi/iUBfcE/FQVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sFy4sVq4uLa2uLi6sF/CTLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBYvLFauLi2tri4urBfdE+/QVK4uL93Tri4v7dAVLqxWri4v3NGuLi/s0BfdUaxUri4v39OuLi/v0BUurFauLi/e0a4uL+7QF91RrFSuLi/e064uL+7QFS6sVq4uL93Rri4v7dAUOi4sV+JSLi2v8lIuLqwWL+HQVq4uL/JRri4v4lAX3BPxUFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBcuLFauLi2tri4urBfwkyxWri4tra4uLqwWLyxWri4tra4uLqwWLyxWri4tra4uLqwWLyxWri4tra4uLqwWLyxWri4tra4uLqwWL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Ffe0i4v4FPu0i4v8FAW793QV91SLi2v7VIuLqwWLSxX3VIuLa/tUi4urBYtLFfdUi4tr+1SLi6sFi/dUFeuLi2sri4urBfgE/BQV++SLi6v3xIuL+BRsi4uryosFDvck95QV92SLi2v7ZIuLqwWLSxX3ZIuLa/tki4urBYtLFfdki4tr+2SLi6sFi/d0FeuLi2sri4urBffU/BQV/ESLi/hUq4uL/DT4BIuL+FT8JIuLq/hEiwUO95TbFVyLY66DuAj7N4ut95arh237cvcyi4t7BYtoqG6ui66LqKiLrgiLm/cyi233cquPrfuW+zeLBYNeY2hciwj3lCsV/JSLi/ckq4uL+wT4VIuL9wSriwUr6xVri4v3ZPuUi4v7ZGuLi/eE99SLBfuUSxXbi4trO4uLqwWLSxX3VIuLa/tUi4urBYtLFfdUi4tr+1SLi6sFDvg094QV+ySLi/ckq4uL+wT3BIsF0PdfFaF1+1X7VXWh91X3VQX7ifwvFWuLi/cE+wSLi6v3JIsFYXcVoXX7VftVdaH3VfdVBfs690cVa4uL9wT3BIuLazuLBWv7BBWri4sra4uL6wX3JPckFeuLi2sri4urBfgE/JMV+wSLi6vbi4vbq4sFa/cUFauLiytri4vrBftk+2QV64uLayuLi6sFDveU6xVci2Oug7gI+zeLr/ek+FCLr/uk+zeLBYNeY2hciwj7cvcEFfcyi4t7BYtoqG6ui66LqKiLrgiLm/cyi2/3ZPwYi2/7ZAX4cvtkFfyUi4v3JKuLi/sE+FSLi/cEq4sFDvg0axX71IuL+ASri4v75PeUi4v35KuLBfv0yxX4FIuLa/wUi4urBfekaxX7NIuL9wT3NIuL+wQF+xSrFeuLi7sri4tbBXv7BBWri4v7dGuLi/d0BeuLFauLi/t0a4uL93QFDvgEqxX7dIsFO4tLzIvai9rLzNuLCPeEiwXOi8hGi0CLPEtKO4sI+3T3lBVNi1lZi02LTb1ZyYsI93SLBcmLvb2LyYvKWLxeiwj7hIsFe1sVq4uL+xRri4v3FAVbWxX3FIuLa/sUi4urBfdU9zQVa4uLqwWLpaGhpYsIi2sFgouEhIuCCItrBcL7QRWEkoGLhYQIdKIFnp6pi554CHV0BV1eFYKUhpeLmIuYkJeUlAiidAWIiImHi4eLh42HjogIdHQF9yK4FYSSgYuF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) format('woff');font-weight:400;font-style:normal}.icon{font-family:Stroke-Gap-Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-WorldWide:before{content:"\e600"}.icon-WorldGlobe:before{content:"\e601"}.icon-Underpants:before{content:"\e602"}.icon-Tshirt:before{content:"\e603"}.icon-Trousers:before{content:"\e604"}.icon-Tie:before{content:"\e605"}.icon-TennisBall:before{content:"\e606"}.icon-Telesocpe:before{content:"\e607"}.icon-Stop:before{content:"\e608"}.icon-Starship:before{content:"\e609"}.icon-Starship2:before{content:"\e60a"}.icon-Speaker:before{content:"\e60b"}.icon-Speaker2:before{content:"\e60c"}.icon-Soccer:before{content:"\e60d"}.icon-Snikers:before{content:"\e60e"}.icon-Scisors:before{content:"\e60f"}.icon-Puzzle:before{content:"\e610"}.icon-Printer:before{content:"\e611"}.icon-Pool:before{content:"\e612"}.icon-Podium:before{content:"\e613"}.icon-Play:before{content:"\e614"}.icon-Planet:before{content:"\e615"}.icon-Pause:before{content:"\e616"}.icon-Next:before{content:"\e617"}.icon-MusicNote2:before{content:"\e618"}.icon-MusicNote:before{content:"\e619"}.icon-MusicMixer:before{content:"\e61a"}.icon-Microphone:before{content:"\e61b"}.icon-Medal:before{content:"\e61c"}.icon-ManFigure:before{content:"\e61d"}.icon-Magnet:before{content:"\e61e"}.icon-Like:before{content:"\e61f"}.icon-Hanger:before{content:"\e620"}.icon-Handicap:before{content:"\e621"}.icon-Forward:before{content:"\e622"}.icon-Footbal:before{content:"\e623"}.icon-Flag:before{content:"\e624"}.icon-FemaleFigure:before{content:"\e625"}.icon-Dislike:before{content:"\e626"}.icon-DiamondRing:before{content:"\e627"}.icon-Cup:before{content:"\e628"}.icon-Crown:before{content:"\e629"}.icon-Column:before{content:"\e62a"}.icon-Click:before{content:"\e62b"}.icon-Cassette:before{content:"\e62c"}.icon-Bomb:before{content:"\e62d"}.icon-BatteryLow:before{content:"\e62e"}.icon-BatteryFull:before{content:"\e62f"}.icon-Bascketball:before{content:"\e630"}.icon-Astronaut:before{content:"\e631"}.icon-WineGlass:before{content:"\e632"}.icon-Water:before{content:"\e633"}.icon-Wallet:before{content:"\e634"}.icon-Umbrella:before{content:"\e635"}.icon-TV:before{content:"\e636"}.icon-TeaMug:before{content:"\e637"}.icon-Tablet:before{content:"\e638"}.icon-Soda:before{content:"\e639"}.icon-SodaCan:before{content:"\e63a"}.icon-SimCard:before{content:"\e63b"}.icon-Signal:before{content:"\e63c"}.icon-Shaker:before{content:"\e63d"}.icon-Radio:before{content:"\e63e"}.icon-Pizza:before{content:"\e63f"}.icon-Phone:before{content:"\e640"}.icon-Notebook:before{content:"\e641"}.icon-Mug:before{content:"\e642"}.icon-Mastercard:before{content:"\e643"}.icon-Ipod:before{content:"\e644"}.icon-Info:before{content:"\e645"}.icon-Icecream2:before{content:"\e646"}.icon-Icecream1:before{content:"\e647"}.icon-Hourglass:before{content:"\e648"}.icon-Help:before{content:"\e649"}.icon-Goto:before{content:"\e64a"}.icon-Glasses:before{content:"\e64b"}.icon-Gameboy:before{content:"\e64c"}.icon-ForkandKnife:before{content:"\e64d"}.icon-Export:before{content:"\e64e"}.icon-Exit:before{content:"\e64f"}.icon-Espresso:before{content:"\e650"}.icon-Drop:before{content:"\e651"}.icon-Download:before{content:"\e652"}.icon-Dollars:before{content:"\e653"}.icon-Dollar:before{content:"\e654"}.icon-DesktopMonitor:before{content:"\e655"}.icon-Corkscrew:before{content:"\e656"}.icon-CoffeeToGo:before{content:"\e657"}.icon-Chart:before{content:"\e658"}.icon-ChartUp:before{content:"\e659"}.icon-ChartDown:before{content:"\e65a"}.icon-Calculator:before{content:"\e65b"}.icon-Bread:before{content:"\e65c"}.icon-Bourbon:before{content:"\e65d"}.icon-BottleofWIne:before{content:"\e65e"}.icon-Bag:before{content:"\e65f"}.icon-Arrow:before{content:"\e660"}.icon-Antenna2:before{content:"\e661"}.icon-Antenna1:before{content:"\e662"}.icon-Anchor:before{content:"\e663"}.icon-Wheelbarrow:before{content:"\e664"}.icon-Webcam:before{content:"\e665"}.icon-Unlinked:before{content:"\e666"}.icon-Truck:before{content:"\e667"}.icon-Timer:before{content:"\e668"}.icon-Time:before{content:"\e669"}.icon-StorageBox:before{content:"\e66a"}.icon-Star:before{content:"\e66b"}.icon-ShoppingCart:before{content:"\e66c"}.icon-Shield:before{content:"\e66d"}.icon-Seringe:before{content:"\e66e"}.icon-Pulse:before{content:"\e66f"}.icon-Plaster:before{content:"\e670"}.icon-Plaine:before{content:"\e671"}.icon-Pill:before{content:"\e672"}.icon-PicnicBasket:before{content:"\e673"}.icon-Phone2:before{content:"\e674"}.icon-Pencil:before{content:"\e675"}.icon-Pen:before{content:"\e676"}.icon-PaperClip:before{content:"\e677"}.icon-On-Off:before{content:"\e678"}.icon-Mouse:before{content:"\e679"}.icon-Megaphone:before{content:"\e67a"}.icon-Linked:before{content:"\e67b"}.icon-Keyboard:before{content:"\e67c"}.icon-House:before{content:"\e67d"}.icon-Heart:before{content:"\e67e"}.icon-Headset:before{content:"\e67f"}.icon-FullShoppingCart:before{content:"\e680"}.icon-FullScreen:before{content:"\e681"}.icon-Folder:before{content:"\e682"}.icon-Floppy:before{content:"\e683"}.icon-Files:before{content:"\e684"}.icon-File:before{content:"\e685"}.icon-FileBox:before{content:"\e686"}.icon-ExitFullScreen:before{content:"\e687"}.icon-EmptyBox:before{content:"\e688"}.icon-Delete:before{content:"\e689"}.icon-Controller:before{content:"\e68a"}.icon-Compass:before{content:"\e68b"}.icon-CompassTool:before{content:"\e68c"}.icon-ClipboardText:before{content:"\e68d"}.icon-ClipboardChart:before{content:"\e68e"}.icon-ChemicalGlass:before{content:"\e68f"}.icon-CD:before{content:"\e690"}.icon-Carioca:before{content:"\e691"}.icon-Car:before{content:"\e692"}.icon-Book:before{content:"\e693"}.icon-BigTruck:before{content:"\e694"}.icon-Bicycle:before{content:"\e695"}.icon-Wrench:before{content:"\e696"}.icon-Web:before{content:"\e697"}.icon-Watch:before{content:"\e698"}.icon-Volume:before{content:"\e699"}.icon-Video:before{content:"\e69a"}.icon-Users:before{content:"\e69b"}.icon-User:before{content:"\e69c"}.icon-UploadCLoud:before{content:"\e69d"}.icon-Typing:before{content:"\e69e"}.icon-Tools:before{content:"\e69f"}.icon-Tag:before{content:"\e6a0"}.icon-Speedometter:before{content:"\e6a1"}.icon-Share:before{content:"\e6a2"}.icon-Settings:before{content:"\e6a3"}.icon-Search:before{content:"\e6a4"}.icon-Screwdriver:before{content:"\e6a5"}.icon-Rolodex:before{content:"\e6a6"}.icon-Ringer:before{content:"\e6a7"}.icon-Resume:before{content:"\e6a8"}.icon-Restart:before{content:"\e6a9"}.icon-PowerOff:before{content:"\e6aa"}.icon-Pointer:before{content:"\e6ab"}.icon-Picture:before{content:"\e6ac"}.icon-OpenedLock:before{content:"\e6ad"}.icon-Notes:before{content:"\e6ae"}.icon-Mute:before{content:"\e6af"}.icon-Movie:before{content:"\e6b0"}.icon-Microphone2:before{content:"\e6b1"}.icon-Message:before{content:"\e6b2"}.icon-MessageRight:before{content:"\e6b3"}.icon-MessageLeft:before{content:"\e6b4"}.icon-Menu:before{content:"\e6b5"}.icon-Media:before{content:"\e6b6"}.icon-Mail:before{content:"\e6b7"}.icon-List:before{content:"\e6b8"}.icon-Layers:before{content:"\e6b9"}.icon-Key:before{content:"\e6ba"}.icon-Imbox:before{content:"\e6bb"}.icon-Eye:before{content:"\e6bc"}.icon-Edit:before{content:"\e6bd"}.icon-DSLRCamera:before{content:"\e6be"}.icon-DownloadCloud:before{content:"\e6bf"}.icon-CompactCamera:before{content:"\e6c0"}.icon-Cloud:before{content:"\e6c1"}.icon-ClosedLock:before{content:"\e6c2"}.icon-Chart2:before{content:"\e6c3"}.icon-Bulb:before{content:"\e6c4"}.icon-Briefcase:before{content:"\e6c5"}.icon-Blog:before{content:"\e6c6"}.icon-Agenda:before{content:"\e6c7"} + +/* Elegant Icons */ +@font-face{font-family:ElegantIcons;src:url(../fonts/ElegantIcons.eot);src:url(../fonts/ElegantIcons.eot?#iefix) format('embedded-opentype'),url(../fonts/ElegantIcons.woff) format('woff'),url(../fonts/ElegantIcons.ttf) format('truetype'),url(../fonts/ElegantIcons.svg#ElegantIcons) format('svg');font-weight:400;font-style:normal}[data-icon]:before{font-family:ElegantIcons;content:attr(data-icon);speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.arrow-up-down,.arrow_back,.arrow_carrot-2down,.arrow_carrot-2down_alt2,.arrow_carrot-2dwnn_alt,.arrow_carrot-2left,.arrow_carrot-2left_alt,.arrow_carrot-2left_alt2,.arrow_carrot-2right,.arrow_carrot-2right_alt,.arrow_carrot-2right_alt2,.arrow_carrot-2up,.arrow_carrot-2up_alt,.arrow_carrot-2up_alt2,.arrow_carrot-down,.arrow_carrot-down_alt,.arrow_carrot-down_alt2,.arrow_carrot-left,.arrow_carrot-left_alt,.arrow_carrot-left_alt2,.arrow_carrot-right,.arrow_carrot-right_alt,.arrow_carrot-right_alt2,.arrow_carrot-up,.arrow_carrot-up_alt2,.arrow_carrot_up_alt,.arrow_condense,.arrow_condense_alt,.arrow_down,.arrow_down_alt,.arrow_expand,.arrow_expand_alt,.arrow_expand_alt2,.arrow_expand_alt3,.arrow_left,.arrow_left-down,.arrow_left-down_alt,.arrow_left-right,.arrow_left-right_alt,.arrow_left-up,.arrow_left-up_alt,.arrow_left_alt,.arrow_move,.arrow_right,.arrow_right-down,.arrow_right-down_alt,.arrow_right-up,.arrow_right-up_alt,.arrow_right_alt,.arrow_triangle-down,.arrow_triangle-down_alt,.arrow_triangle-down_alt2,.arrow_triangle-left,.arrow_triangle-left_alt,.arrow_triangle-left_alt2,.arrow_triangle-right,.arrow_triangle-right_alt,.arrow_triangle-right_alt2,.arrow_triangle-up,.arrow_triangle-up_alt,.arrow_triangle-up_alt2,.arrow_up,.arrow_up-down_alt,.arrow_up_alt,.icon_adjust-horiz,.icon_adjust-vert,.icon_archive,.icon_archive_alt,.icon_bag,.icon_bag_alt,.icon_balance,.icon_blocked,.icon_book,.icon_book_alt,.icon_box-checked,.icon_box-empty,.icon_box-selected,.icon_briefcase,.icon_briefcase_alt,.icon_building,.icon_building_alt,.icon_calculator_alt,.icon_calendar,.icon_calulator,.icon_camera,.icon_camera_alt,.icon_cart,.icon_cart_alt,.icon_chat,.icon_chat_alt,.icon_check,.icon_check_alt,.icon_check_alt2,.icon_circle-empty,.icon_circle-slelected,.icon_clipboard,.icon_clock,.icon_clock_alt,.icon_close,.icon_close_alt,.icon_close_alt2,.icon_cloud,.icon_cloud-download,.icon_cloud-download_alt,.icon_cloud-upload,.icon_cloud-upload_alt,.icon_cloud_alt,.icon_cog,.icon_cogs,.icon_comment,.icon_comment_alt,.icon_compass,.icon_compass_alt,.icon_cone,.icon_cone_alt,.icon_contacts,.icon_contacts_alt,.icon_creditcard,.icon_currency,.icon_currency_alt,.icon_cursor,.icon_cursor_alt,.icon_datareport,.icon_datareport_alt,.icon_desktop,.icon_dislike,.icon_dislike_alt,.icon_document,.icon_document_alt,.icon_documents,.icon_documents_alt,.icon_download,.icon_drawer,.icon_drawer_alt,.icon_drive,.icon_drive_alt,.icon_easel,.icon_easel_alt,.icon_error-circle,.icon_error-circle_alt,.icon_error-oct,.icon_error-oct_alt,.icon_error-triangle,.icon_error-triangle_alt,.icon_film,.icon_floppy,.icon_floppy_alt,.icon_flowchart,.icon_flowchart_alt,.icon_folder,.icon_folder-add,.icon_folder-add_alt,.icon_folder-alt,.icon_folder-open,.icon_folder-open_alt,.icon_folder_download,.icon_folder_upload,.icon_genius,.icon_gift,.icon_gift_alt,.icon_globe,.icon_globe-2,.icon_globe_alt,.icon_grid-2x2,.icon_grid-3x3,.icon_group,.icon_headphones,.icon_heart,.icon_heart_alt,.icon_hourglass,.icon_house,.icon_house_alt,.icon_id,.icon_id-2,.icon_id-2_alt,.icon_id_alt,.icon_image,.icon_images,.icon_info,.icon_info_alt,.icon_key,.icon_key_alt,.icon_laptop,.icon_lifesaver,.icon_lightbulb,.icon_lightbulb_alt,.icon_like,.icon_like_alt,.icon_link,.icon_link_alt,.icon_loading,.icon_lock,.icon_lock-open,.icon_lock-open_alt,.icon_lock_alt,.icon_mail,.icon_mail_alt,.icon_map,.icon_map_alt,.icon_menu,.icon_menu-circle_alt,.icon_menu-circle_alt2,.icon_menu-square_alt,.icon_menu-square_alt2,.icon_mic,.icon_mic_alt,.icon_minus-06,.icon_minus-box,.icon_minus_alt,.icon_minus_alt2,.icon_mobile,.icon_mug,.icon_mug_alt,.icon_music,.icon_ol,.icon_paperclip,.icon_pause,.icon_pause_alt,.icon_pause_alt2,.icon_pencil,.icon_pencil-edit,.icon_pencil-edit_alt,.icon_pencil_alt,.icon_pens,.icon_pens_alt,.icon_percent,.icon_percent_alt,.icon_phone,.icon_piechart,.icon_pin,.icon_pin_alt,.icon_plus,.icon_plus-box,.icon_plus_alt,.icon_plus_alt2,.icon_printer,.icon_printer-alt,.icon_profile,.icon_pushpin,.icon_pushpin_alt,.icon_puzzle,.icon_puzzle_alt,.icon_question,.icon_question_alt,.icon_question_alt2,.icon_quotations,.icon_quotations_alt,.icon_quotations_alt2,.icon_refresh,.icon_ribbon,.icon_ribbon_alt,.icon_rook,.icon_search,.icon_search-2,.icon_search_alt,.icon_shield,.icon_shield_alt,.icon_star,.icon_star-half,.icon_star-half_alt,.icon_star_alt,.icon_stop,.icon_stop_alt,.icon_stop_alt2,.icon_table,.icon_tablet,.icon_tag,.icon_tag_alt,.icon_tags,.icon_tags_alt,.icon_target,.icon_tool,.icon_toolbox,.icon_toolbox_alt,.icon_tools,.icon_trash,.icon_trash_alt,.icon_ul,.icon_upload,.icon_vol-mute,.icon_vol-mute_alt,.icon_volume-high,.icon_volume-high_alt,.icon_volume-low,.icon_volume-low_alt,.icon_wallet,.icon_wallet_alt,.icon_zoom-in,.icon_zoom-in_alt,.icon_zoom-out,.icon_zoom-out_alt,.social_blogger,.social_blogger_circle,.social_blogger_square,.social_delicious,.social_delicious_circle,.social_delicious_square,.social_deviantart,.social_deviantart_circle,.social_deviantart_square,.social_dribbble,.social_dribbble_circle,.social_dribbble_square,.social_facebook,.social_facebook_circle,.social_facebook_square,.social_flickr,.social_flickr_circle,.social_flickr_square,.social_googledrive,.social_googledrive_alt2,.social_googledrive_square,.social_googleplus,.social_googleplus_circle,.social_googleplus_square,.social_instagram,.social_instagram_circle,.social_instagram_square,.social_linkedin,.social_linkedin_circle,.social_linkedin_square,.social_myspace,.social_myspace_circle,.social_myspace_square,.social_picassa,.social_picassa_circle,.social_picassa_square,.social_pinterest,.social_pinterest_circle,.social_pinterest_square,.social_rss,.social_rss_circle,.social_rss_square,.social_share,.social_share_circle,.social_share_square,.social_skype,.social_skype_circle,.social_skype_square,.social_spotify,.social_spotify_circle,.social_spotify_square,.social_stumbleupon_circle,.social_stumbleupon_square,.social_tumbleupon,.social_tumblr,.social_tumblr_circle,.social_tumblr_square,.social_twitter,.social_twitter_circle,.social_twitter_square,.social_vimeo,.social_vimeo_circle,.social_vimeo_square,.social_wordpress,.social_wordpress_circle,.social_wordpress_square,.social_youtube,.social_youtube_circle,.social_youtube_square{font-family:ElegantIcons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.arrow_up:before{content:"\21"}.arrow_down:before{content:"\22"}.arrow_left:before{content:"\23"}.arrow_right:before{content:"\24"}.arrow_left-up:before{content:"\25"}.arrow_right-up:before{content:"\26"}.arrow_right-down:before{content:"\27"}.arrow_left-down:before{content:"\28"}.arrow-up-down:before{content:"\29"}.arrow_up-down_alt:before{content:"\2a"}.arrow_left-right_alt:before{content:"\2b"}.arrow_left-right:before{content:"\2c"}.arrow_expand_alt2:before{content:"\2d"}.arrow_expand_alt:before{content:"\2e"}.arrow_condense:before{content:"\2f"}.arrow_expand:before{content:"\30"}.arrow_move:before{content:"\31"}.arrow_carrot-up:before{content:"\32"}.arrow_carrot-down:before{content:"\33"}.arrow_carrot-left:before{content:"\34"}.arrow_carrot-right:before{content:"\35"}.arrow_carrot-2up:before{content:"\36"}.arrow_carrot-2down:before{content:"\37"}.arrow_carrot-2left:before{content:"\38"}.arrow_carrot-2right:before{content:"\39"}.arrow_carrot-up_alt2:before{content:"\3a"}.arrow_carrot-down_alt2:before{content:"\3b"}.arrow_carrot-left_alt2:before{content:"\3c"}.arrow_carrot-right_alt2:before{content:"\3d"}.arrow_carrot-2up_alt2:before{content:"\3e"}.arrow_carrot-2down_alt2:before{content:"\3f"}.arrow_carrot-2left_alt2:before{content:"\40"}.arrow_carrot-2right_alt2:before{content:"\41"}.arrow_triangle-up:before{content:"\42"}.arrow_triangle-down:before{content:"\43"}.arrow_triangle-left:before{content:"\44"}.arrow_triangle-right:before{content:"\45"}.arrow_triangle-up_alt2:before{content:"\46"}.arrow_triangle-down_alt2:before{content:"\47"}.arrow_triangle-left_alt2:before{content:"\48"}.arrow_triangle-right_alt2:before{content:"\49"}.arrow_back:before{content:"\4a"}.icon_minus-06:before{content:"\4b"}.icon_plus:before{content:"\4c"}.icon_close:before{content:"\4d"}.icon_check:before{content:"\4e"}.icon_minus_alt2:before{content:"\4f"}.icon_plus_alt2:before{content:"\50"}.icon_close_alt2:before{content:"\51"}.icon_check_alt2:before{content:"\52"}.icon_zoom-out_alt:before{content:"\53"}.icon_zoom-in_alt:before{content:"\54"}.icon_search:before{content:"\55"}.icon_box-empty:before{content:"\56"}.icon_box-selected:before{content:"\57"}.icon_minus-box:before{content:"\58"}.icon_plus-box:before{content:"\59"}.icon_box-checked:before{content:"\5a"}.icon_circle-empty:before{content:"\5b"}.icon_circle-slelected:before{content:"\5c"}.icon_stop_alt2:before{content:"\5d"}.icon_stop:before{content:"\5e"}.icon_pause_alt2:before{content:"\5f"}.icon_pause:before{content:"\60"}.icon_menu:before{content:"\61"}.icon_menu-square_alt2:before{content:"\62"}.icon_menu-circle_alt2:before{content:"\63"}.icon_ul:before{content:"\64"}.icon_ol:before{content:"\65"}.icon_adjust-horiz:before{content:"\66"}.icon_adjust-vert:before{content:"\67"}.icon_document_alt:before{content:"\68"}.icon_documents_alt:before{content:"\69"}.icon_pencil:before{content:"\6a"}.icon_pencil-edit_alt:before{content:"\6b"}.icon_pencil-edit:before{content:"\6c"}.icon_folder-alt:before{content:"\6d"}.icon_folder-open_alt:before{content:"\6e"}.icon_folder-add_alt:before{content:"\6f"}.icon_info_alt:before{content:"\70"}.icon_error-oct_alt:before{content:"\71"}.icon_error-circle_alt:before{content:"\72"}.icon_error-triangle_alt:before{content:"\73"}.icon_question_alt2:before{content:"\74"}.icon_question:before{content:"\75"}.icon_comment_alt:before{content:"\76"}.icon_chat_alt:before{content:"\77"}.icon_vol-mute_alt:before{content:"\78"}.icon_volume-low_alt:before{content:"\79"}.icon_volume-high_alt:before{content:"\7a"}.icon_quotations:before{content:"\7b"}.icon_quotations_alt2:before{content:"\7c"}.icon_clock_alt:before{content:"\7d"}.icon_lock_alt:before{content:"\7e"}.icon_lock-open_alt:before{content:"\e000"}.icon_key_alt:before{content:"\e001"}.icon_cloud_alt:before{content:"\e002"}.icon_cloud-upload_alt:before{content:"\e003"}.icon_cloud-download_alt:before{content:"\e004"}.icon_image:before{content:"\e005"}.icon_images:before{content:"\e006"}.icon_lightbulb_alt:before{content:"\e007"}.icon_gift_alt:before{content:"\e008"}.icon_house_alt:before{content:"\e009"}.icon_genius:before{content:"\e00a"}.icon_mobile:before{content:"\e00b"}.icon_tablet:before{content:"\e00c"}.icon_laptop:before{content:"\e00d"}.icon_desktop:before{content:"\e00e"}.icon_camera_alt:before{content:"\e00f"}.icon_mail_alt:before{content:"\e010"}.icon_cone_alt:before{content:"\e011"}.icon_ribbon_alt:before{content:"\e012"}.icon_bag_alt:before{content:"\e013"}.icon_creditcard:before{content:"\e014"}.icon_cart_alt:before{content:"\e015"}.icon_paperclip:before{content:"\e016"}.icon_tag_alt:before{content:"\e017"}.icon_tags_alt:before{content:"\e018"}.icon_trash_alt:before{content:"\e019"}.icon_cursor_alt:before{content:"\e01a"}.icon_mic_alt:before{content:"\e01b"}.icon_compass_alt:before{content:"\e01c"}.icon_pin_alt:before{content:"\e01d"}.icon_pushpin_alt:before{content:"\e01e"}.icon_map_alt:before{content:"\e01f"}.icon_drawer_alt:before{content:"\e020"}.icon_toolbox_alt:before{content:"\e021"}.icon_book_alt:before{content:"\e022"}.icon_calendar:before{content:"\e023"}.icon_film:before{content:"\e024"}.icon_table:before{content:"\e025"}.icon_contacts_alt:before{content:"\e026"}.icon_headphones:before{content:"\e027"}.icon_lifesaver:before{content:"\e028"}.icon_piechart:before{content:"\e029"}.icon_refresh:before{content:"\e02a"}.icon_link_alt:before{content:"\e02b"}.icon_link:before{content:"\e02c"}.icon_loading:before{content:"\e02d"}.icon_blocked:before{content:"\e02e"}.icon_archive_alt:before{content:"\e02f"}.icon_heart_alt:before{content:"\e030"}.icon_star_alt:before{content:"\e031"}.icon_star-half_alt:before{content:"\e032"}.icon_star:before{content:"\e033"}.icon_star-half:before{content:"\e034"}.icon_tools:before{content:"\e035"}.icon_tool:before{content:"\e036"}.icon_cog:before{content:"\e037"}.icon_cogs:before{content:"\e038"}.arrow_up_alt:before{content:"\e039"}.arrow_down_alt:before{content:"\e03a"}.arrow_left_alt:before{content:"\e03b"}.arrow_right_alt:before{content:"\e03c"}.arrow_left-up_alt:before{content:"\e03d"}.arrow_right-up_alt:before{content:"\e03e"}.arrow_right-down_alt:before{content:"\e03f"}.arrow_left-down_alt:before{content:"\e040"}.arrow_condense_alt:before{content:"\e041"}.arrow_expand_alt3:before{content:"\e042"}.arrow_carrot_up_alt:before{content:"\e043"}.arrow_carrot-down_alt:before{content:"\e044"}.arrow_carrot-left_alt:before{content:"\e045"}.arrow_carrot-right_alt:before{content:"\e046"}.arrow_carrot-2up_alt:before{content:"\e047"}.arrow_carrot-2dwnn_alt:before{content:"\e048"}.arrow_carrot-2left_alt:before{content:"\e049"}.arrow_carrot-2right_alt:before{content:"\e04a"}.arrow_triangle-up_alt:before{content:"\e04b"}.arrow_triangle-down_alt:before{content:"\e04c"}.arrow_triangle-left_alt:before{content:"\e04d"}.arrow_triangle-right_alt:before{content:"\e04e"}.icon_minus_alt:before{content:"\e04f"}.icon_plus_alt:before{content:"\e050"}.icon_close_alt:before{content:"\e051"}.icon_check_alt:before{content:"\e052"}.icon_zoom-out:before{content:"\e053"}.icon_zoom-in:before{content:"\e054"}.icon_stop_alt:before{content:"\e055"}.icon_menu-square_alt:before{content:"\e056"}.icon_menu-circle_alt:before{content:"\e057"}.icon_document:before{content:"\e058"}.icon_documents:before{content:"\e059"}.icon_pencil_alt:before{content:"\e05a"}.icon_folder:before{content:"\e05b"}.icon_folder-open:before{content:"\e05c"}.icon_folder-add:before{content:"\e05d"}.icon_folder_upload:before{content:"\e05e"}.icon_folder_download:before{content:"\e05f"}.icon_info:before{content:"\e060"}.icon_error-circle:before{content:"\e061"}.icon_error-oct:before{content:"\e062"}.icon_error-triangle:before{content:"\e063"}.icon_question_alt:before{content:"\e064"}.icon_comment:before{content:"\e065"}.icon_chat:before{content:"\e066"}.icon_vol-mute:before{content:"\e067"}.icon_volume-low:before{content:"\e068"}.icon_volume-high:before{content:"\e069"}.icon_quotations_alt:before{content:"\e06a"}.icon_clock:before{content:"\e06b"}.icon_lock:before{content:"\e06c"}.icon_lock-open:before{content:"\e06d"}.icon_key:before{content:"\e06e"}.icon_cloud:before{content:"\e06f"}.icon_cloud-upload:before{content:"\e070"}.icon_cloud-download:before{content:"\e071"}.icon_lightbulb:before{content:"\e072"}.icon_gift:before{content:"\e073"}.icon_house:before{content:"\e074"}.icon_camera:before{content:"\e075"}.icon_mail:before{content:"\e076"}.icon_cone:before{content:"\e077"}.icon_ribbon:before{content:"\e078"}.icon_bag:before{content:"\e079"}.icon_cart:before{content:"\e07a"}.icon_tag:before{content:"\e07b"}.icon_tags:before{content:"\e07c"}.icon_trash:before{content:"\e07d"}.icon_cursor:before{content:"\e07e"}.icon_mic:before{content:"\e07f"}.icon_compass:before{content:"\e080"}.icon_pin:before{content:"\e081"}.icon_pushpin:before{content:"\e082"}.icon_map:before{content:"\e083"}.icon_drawer:before{content:"\e084"}.icon_toolbox:before{content:"\e085"}.icon_book:before{content:"\e086"}.icon_contacts:before{content:"\e087"}.icon_archive:before{content:"\e088"}.icon_heart:before{content:"\e089"}.icon_profile:before{content:"\e08a"}.icon_group:before{content:"\e08b"}.icon_grid-2x2:before{content:"\e08c"}.icon_grid-3x3:before{content:"\e08d"}.icon_music:before{content:"\e08e"}.icon_pause_alt:before{content:"\e08f"}.icon_phone:before{content:"\e090"}.icon_upload:before{content:"\e091"}.icon_download:before{content:"\e092"}.social_facebook:before{content:"\e093"}.social_twitter:before{content:"\e094"}.social_pinterest:before{content:"\e095"}.social_googleplus:before{content:"\e096"}.social_tumblr:before{content:"\e097"}.social_tumbleupon:before{content:"\e098"}.social_wordpress:before{content:"\e099"}.social_instagram:before{content:"\e09a"}.social_dribbble:before{content:"\e09b"}.social_vimeo:before{content:"\e09c"}.social_linkedin:before{content:"\e09d"}.social_rss:before{content:"\e09e"}.social_deviantart:before{content:"\e09f"}.social_share:before{content:"\e0a0"}.social_myspace:before{content:"\e0a1"}.social_skype:before{content:"\e0a2"}.social_youtube:before{content:"\e0a3"}.social_picassa:before{content:"\e0a4"}.social_googledrive:before{content:"\e0a5"}.social_flickr:before{content:"\e0a6"}.social_blogger:before{content:"\e0a7"}.social_spotify:before{content:"\e0a8"}.social_delicious:before{content:"\e0a9"}.social_facebook_circle:before{content:"\e0aa"}.social_twitter_circle:before{content:"\e0ab"}.social_pinterest_circle:before{content:"\e0ac"}.social_googleplus_circle:before{content:"\e0ad"}.social_tumblr_circle:before{content:"\e0ae"}.social_stumbleupon_circle:before{content:"\e0af"}.social_wordpress_circle:before{content:"\e0b0"}.social_instagram_circle:before{content:"\e0b1"}.social_dribbble_circle:before{content:"\e0b2"}.social_vimeo_circle:before{content:"\e0b3"}.social_linkedin_circle:before{content:"\e0b4"}.social_rss_circle:before{content:"\e0b5"}.social_deviantart_circle:before{content:"\e0b6"}.social_share_circle:before{content:"\e0b7"}.social_myspace_circle:before{content:"\e0b8"}.social_skype_circle:before{content:"\e0b9"}.social_youtube_circle:before{content:"\e0ba"}.social_picassa_circle:before{content:"\e0bb"}.social_googledrive_alt2:before{content:"\e0bc"}.social_flickr_circle:before{content:"\e0bd"}.social_blogger_circle:before{content:"\e0be"}.social_spotify_circle:before{content:"\e0bf"}.social_delicious_circle:before{content:"\e0c0"}.social_facebook_square:before{content:"\e0c1"}.social_twitter_square:before{content:"\e0c2"}.social_pinterest_square:before{content:"\e0c3"}.social_googleplus_square:before{content:"\e0c4"}.social_tumblr_square:before{content:"\e0c5"}.social_stumbleupon_square:before{content:"\e0c6"}.social_wordpress_square:before{content:"\e0c7"}.social_instagram_square:before{content:"\e0c8"}.social_dribbble_square:before{content:"\e0c9"}.social_vimeo_square:before{content:"\e0ca"}.social_linkedin_square:before{content:"\e0cb"}.social_rss_square:before{content:"\e0cc"}.social_deviantart_square:before{content:"\e0cd"}.social_share_square:before{content:"\e0ce"}.social_myspace_square:before{content:"\e0cf"}.social_skype_square:before{content:"\e0d0"}.social_youtube_square:before{content:"\e0d1"}.social_picassa_square:before{content:"\e0d2"}.social_googledrive_square:before{content:"\e0d3"}.social_flickr_square:before{content:"\e0d4"}.social_blogger_square:before{content:"\e0d5"}.social_spotify_square:before{content:"\e0d6"}.social_delicious_square:before{content:"\e0d7"}.icon_printer:before{content:"\e103"}.icon_calulator:before{content:"\e0ee"}.icon_building:before{content:"\e0ef"}.icon_floppy:before{content:"\e0e8"}.icon_drive:before{content:"\e0ea"}.icon_search-2:before{content:"\e101"}.icon_id:before{content:"\e107"}.icon_id-2:before{content:"\e108"}.icon_puzzle:before{content:"\e102"}.icon_like:before{content:"\e106"}.icon_dislike:before{content:"\e0eb"}.icon_mug:before{content:"\e105"}.icon_currency:before{content:"\e0ed"}.icon_wallet:before{content:"\e100"}.icon_pens:before{content:"\e104"}.icon_easel:before{content:"\e0e9"}.icon_flowchart:before{content:"\e109"}.icon_datareport:before{content:"\e0ec"}.icon_briefcase:before{content:"\e0fe"}.icon_shield:before{content:"\e0f6"}.icon_percent:before{content:"\e0fb"}.icon_globe:before{content:"\e0e2"}.icon_globe-2:before{content:"\e0e3"}.icon_target:before{content:"\e0f5"}.icon_hourglass:before{content:"\e0e1"}.icon_balance:before{content:"\e0ff"}.icon_rook:before{content:"\e0f8"}.icon_printer-alt:before{content:"\e0fa"}.icon_calculator_alt:before{content:"\e0e7"}.icon_building_alt:before{content:"\e0fd"}.icon_floppy_alt:before{content:"\e0e4"}.icon_drive_alt:before{content:"\e0e5"}.icon_search_alt:before{content:"\e0f7"}.icon_id_alt:before{content:"\e0e0"}.icon_id-2_alt:before{content:"\e0fc"}.icon_puzzle_alt:before{content:"\e0f9"}.icon_like_alt:before{content:"\e0dd"}.icon_dislike_alt:before{content:"\e0f1"}.icon_mug_alt:before{content:"\e0dc"}.icon_currency_alt:before{content:"\e0f3"}.icon_wallet_alt:before{content:"\e0d8"}.icon_pens_alt:before{content:"\e0db"}.icon_easel_alt:before{content:"\e0f0"}.icon_flowchart_alt:before{content:"\e0df"}.icon_datareport_alt:before{content:"\e0f2"}.icon_briefcase_alt:before{content:"\e0f4"}.icon_shield_alt:before{content:"\e0d9"}.icon_percent_alt:before{content:"\e0da"}.icon_globe_alt:before{content:"\e0de"}.icon_clipboard:before{content:"\e0e6"}.glyph{float:left;text-align:center;padding:.75em;margin:.4em 1.5em .75em 0;width:6em;text-shadow:none}.glyph_big{font-size:128px;color:#59c5dc;float:left;margin-right:20px}.glyph div{padding-bottom:10px}.glyph input{font-family:consolas,monospace;font-size:12px;width:100%;text-align:center;border:0;box-shadow:0 0 0 1px #ccc;padding:.2em;-moz-border-radius:5px;-webkit-border-radius:5px}.centered{margin-left:auto;margin-right:auto}.glyph .fs1{font-size:2em} diff --git a/server/www/static/www/fonts/ElegantIcons.eot b/server/www/static/www/fonts/ElegantIcons.eot new file mode 100644 index 0000000..2fe8892 Binary files /dev/null and b/server/www/static/www/fonts/ElegantIcons.eot differ diff --git a/server/www/static/www/fonts/ElegantIcons.svg b/server/www/static/www/fonts/ElegantIcons.svg new file mode 100644 index 0000000..93538d7 --- /dev/null +++ b/server/www/static/www/fonts/ElegantIcons.svg @@ -0,0 +1,1832 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/www/static/www/fonts/ElegantIcons.ttf b/server/www/static/www/fonts/ElegantIcons.ttf new file mode 100644 index 0000000..12ff680 Binary files /dev/null and b/server/www/static/www/fonts/ElegantIcons.ttf differ diff --git a/server/www/static/www/fonts/ElegantIcons.woff b/server/www/static/www/fonts/ElegantIcons.woff new file mode 100644 index 0000000..3933052 Binary files /dev/null and b/server/www/static/www/fonts/ElegantIcons.woff differ diff --git a/server/www/static/www/fonts/FontAwesome.otf b/server/www/static/www/fonts/FontAwesome.otf new file mode 100644 index 0000000..59853bc Binary files /dev/null and b/server/www/static/www/fonts/FontAwesome.otf differ diff --git a/server/www/static/www/fonts/Stroke-Gap-Icons.eot b/server/www/static/www/fonts/Stroke-Gap-Icons.eot new file mode 100644 index 0000000..5889559 Binary files /dev/null and b/server/www/static/www/fonts/Stroke-Gap-Icons.eot differ diff --git a/server/www/static/www/fonts/Stroke-Gap-Icons.svg b/server/www/static/www/fonts/Stroke-Gap-Icons.svg new file mode 100644 index 0000000..ed8a2e9 --- /dev/null +++ b/server/www/static/www/fonts/Stroke-Gap-Icons.svg @@ -0,0 +1,224 @@ + + + + + +{ + "fontFamily": "Stroke-Gap-Icons", + "majorVersion": 1, + "minorVersion": 0, + "version": "Version 1.0", + "fontId": "Stroke-Gap-Icons", + "psName": "Stroke-Gap-Icons", + "subFamily": "Regular", + "fullName": "Stroke-Gap-Icons", + "description": "Generated by IcoMoon" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/www/static/www/fonts/Stroke-Gap-Icons.ttf b/server/www/static/www/fonts/Stroke-Gap-Icons.ttf new file mode 100644 index 0000000..16632f2 Binary files /dev/null and b/server/www/static/www/fonts/Stroke-Gap-Icons.ttf differ diff --git a/server/www/static/www/fonts/Stroke-Gap-Icons.woff b/server/www/static/www/fonts/Stroke-Gap-Icons.woff new file mode 100644 index 0000000..f1f7d5c Binary files /dev/null and b/server/www/static/www/fonts/Stroke-Gap-Icons.woff differ diff --git a/server/www/static/www/fonts/fontawesome-webfont.eot b/server/www/static/www/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..96f92f9 Binary files /dev/null and b/server/www/static/www/fonts/fontawesome-webfont.eot differ diff --git a/server/www/static/www/fonts/fontawesome-webfont.svg b/server/www/static/www/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..5a5f0ec --- /dev/null +++ b/server/www/static/www/fonts/fontawesome-webfont.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/www/static/www/fonts/fontawesome-webfont.ttf b/server/www/static/www/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..86784df Binary files /dev/null and b/server/www/static/www/fonts/fontawesome-webfont.ttf differ diff --git a/server/www/static/www/fonts/fontawesome-webfont.woff b/server/www/static/www/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..c7faa19 Binary files /dev/null and b/server/www/static/www/fonts/fontawesome-webfont.woff differ diff --git a/server/www/static/www/fonts/fontawesome-webfont.woff2 b/server/www/static/www/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..cab8571 Binary files /dev/null and b/server/www/static/www/fonts/fontawesome-webfont.woff2 differ diff --git a/server/www/static/www/img/TalosBrand_RGB.svg b/server/www/static/www/img/TalosBrand_RGB.svg new file mode 100644 index 0000000..293fc35 --- /dev/null +++ b/server/www/static/www/img/TalosBrand_RGB.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/www/static/www/img/cisco_logo_white.svg b/server/www/static/www/img/cisco_logo_white.svg new file mode 100644 index 0000000..11a3a90 --- /dev/null +++ b/server/www/static/www/img/cisco_logo_white.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/www/static/www/img/favicon.ico b/server/www/static/www/img/favicon.ico new file mode 100644 index 0000000..7f5d568 Binary files /dev/null and b/server/www/static/www/img/favicon.ico differ diff --git a/server/www/static/www/img/first-icon-144x144.png b/server/www/static/www/img/first-icon-144x144.png new file mode 100644 index 0000000..3403341 Binary files /dev/null and b/server/www/static/www/img/first-icon-144x144.png differ diff --git a/server/www/static/www/img/first-icon-72x72.png b/server/www/static/www/img/first-icon-72x72.png new file mode 100644 index 0000000..0da3667 Binary files /dev/null and b/server/www/static/www/img/first-icon-72x72.png differ diff --git a/server/www/static/www/img/first_logo.png b/server/www/static/www/img/first_logo.png new file mode 100644 index 0000000..a73772c Binary files /dev/null and b/server/www/static/www/img/first_logo.png differ diff --git a/server/www/static/www/img/google.png b/server/www/static/www/img/google.png new file mode 100644 index 0000000..88a007f Binary files /dev/null and b/server/www/static/www/img/google.png differ diff --git a/server/www/static/www/img/intro_logo.png b/server/www/static/www/img/intro_logo.png new file mode 100644 index 0000000..5b9c98d Binary files /dev/null and b/server/www/static/www/img/intro_logo.png differ diff --git a/server/www/static/www/img/logo.png b/server/www/static/www/img/logo.png new file mode 100644 index 0000000..6539947 Binary files /dev/null and b/server/www/static/www/img/logo.png differ diff --git a/server/www/static/www/img/logo_dark.png b/server/www/static/www/img/logo_dark.png new file mode 100644 index 0000000..ec690c6 Binary files /dev/null and b/server/www/static/www/img/logo_dark.png differ diff --git a/server/www/static/www/img/logo_l.png b/server/www/static/www/img/logo_l.png new file mode 100644 index 0000000..09f3ceb Binary files /dev/null and b/server/www/static/www/img/logo_l.png differ diff --git a/server/www/static/www/img/logo_light.png b/server/www/static/www/img/logo_light.png new file mode 100644 index 0000000..c3d7807 Binary files /dev/null and b/server/www/static/www/img/logo_light.png differ diff --git a/server/www/static/www/img/talos-guy.png b/server/www/static/www/img/talos-guy.png new file mode 100644 index 0000000..64ac061 Binary files /dev/null and b/server/www/static/www/img/talos-guy.png differ diff --git a/server/www/static/www/img/talos_logo.png b/server/www/static/www/img/talos_logo.png new file mode 100644 index 0000000..fe0961d Binary files /dev/null and b/server/www/static/www/img/talos_logo.png differ diff --git a/server/www/static/www/js/bootstrap.min.js b/server/www/static/www/js/bootstrap.min.js new file mode 100644 index 0000000..e79c065 --- /dev/null +++ b/server/www/static/www/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/js/jquery.min.js b/server/www/static/www/js/jquery.min.js new file mode 100644 index 0000000..a5195a3 --- /dev/null +++ b/server/www/static/www/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.1 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery",g=Boolean(a.fn.mfpFastClick);return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s),h=g?"mfpFastClick":"click";e[h](function(){b.prev()}),f[h](function(){b.next()}),b.isIE7&&(x("b",e[0],!1,!0),x("a",e[0],!1,!0),x("b",f[0],!1,!0),x("a",f[0],!1,!0)),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowLeft&&g&&b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),function(){var b=1e3,c="ontouchstart"in window,d=function(){v.off("touchmove"+f+" touchend"+f)},e="mfpFastClick",f="."+e;a.fn.mfpFastClick=function(e){return a(this).each(function(){var g,h=a(this);if(c){var i,j,k,l,m,n;h.on("touchstart"+f,function(a){l=!1,n=1,m=a.originalEvent?a.originalEvent.touches[0]:a.touches[0],j=m.clientX,k=m.clientY,v.on("touchmove"+f,function(a){m=a.originalEvent?a.originalEvent.touches:a.touches,n=m.length,m=m[0],(Math.abs(m.clientX-j)>10||Math.abs(m.clientY-k)>10)&&(l=!0,d())}).on("touchend"+f,function(a){d(),l||n>1||(g=!0,a.preventDefault(),clearTimeout(i),i=setTimeout(function(){g=!1},b),e())})})}h.on("click"+f,function(){g||e()})})},a.fn.destroyMfpFastClick=function(){a(this).off("touchstart"+f+" click"+f),c&&v.off("touchmove"+f+" touchend"+f)}}(),A()}); \ No newline at end of file diff --git a/server/www/static/www/js/rev-slider.js b/server/www/static/www/js/rev-slider.js new file mode 100644 index 0000000..21182a1 --- /dev/null +++ b/server/www/static/www/js/rev-slider.js @@ -0,0 +1,290 @@ +(function($){ + "use strict"; + + $(document).ready(function(){ + + // Onepage + $('#slider1').revolution({ + sliderLayout:"fullscreen", + delay:12000, + gridwidth:1600, + gridheight:600, + hideThumbs:10, + + navigation: { + onHoverStop: "off", + + touch: { + touchenabled: "on", + swipe_threshold: 75, + swipe_min_touches: 1, + swipe_direction: "horizontal", + drag_block_vertical: false + }, + arrows:{ + enable:true, + style: "hermes", + tmp: '
{{title}}
', + left: { + h_align: "left", + v_align: "center", + h_offset: 0, + v_offset: 0 + }, + right: { + h_align: "right", + v_align: "center", + h_offset: 0, + v_offset: 0 + } + }, + bullets:{ + style:"", + enable:false, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"horizontal", + space:12, + h_align:"center", + v_align:"bottom", + h_offset:0, + v_offset:30, + tmp: '' + }, + }, + + parallax:{ + type:"scroll", + levels:[5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85], + origo:"enterpoint", + speed:400, + bgparallax:"on", + disable_onmobile:"on" + }, + + spinner:"spinner4" + }); + + // Multi-page + $('#slider2').revolution({ + sliderLayout:"fullwidth", + sliderType: "standard", + delay:12000, + gridwidth:1170, + gridheight:700, + hideThumbs:10, + + navigation: { + onHoverStop: "off", + touch: { + touchenabled: "on", + swipe_threshold: 75, + swipe_min_touches: 1, + swipe_direction: "horizontal", + drag_block_vertical: false + }, + arrows:{ + enable:true, + style: "hades", + tmp: '
', + left: { + h_align: "left", + v_align: "center", + h_offset: 0, + v_offset: 0 + }, + right: { + h_align: "right", + v_align: "center", + h_offset: 0, + v_offset: 0 + }, + + hide_onmobile:true + }, + bullets:{ + style:"", + enable:true, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"horizontal", + space:10, + h_align:"center", + v_align:"bottom", + h_offset:0, + v_offset:30, + tmp: '' + }, + }, + + spinner:"spinner4" + }); + + // Vimeo bg + $('#slider3').revolution({ + sliderLayout:"fullscreen", + delay:12000, + responsiveLevels:[4096,1024,778,420], + gridwidth:[1200,1024,700,420], + gridheight:[720,720,600,600], + + hideThumbs:10, + + navigation: { + onHoverStop: "off", + + touch: { + touchenabled: "false", + swipe_threshold: 75, + swipe_min_touches: 1, + swipe_direction: "horizontal", + drag_block_vertical: false + }, + arrows:{enable:false}, + bullets:{enable:false}, + }, + + parallax:{ + type:"scroll", + levels:[5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85], + origo:"enterpoint", + speed:400, + bgparallax:"on", + disable_onmobile:"on" + }, + + spinner:"spinner4", + stopLoop:"off", + stopAfterLoops:0 + }); + + // Angles Sections + $('#slider4').revolution({ + sliderLayout:"fullscreen", + delay:12000, + gridwidth:1600, + gridheight:600, + hideThumbs:10, + + navigation: { + onHoverStop: "off", + + touch: { + touchenabled: "on", + swipe_threshold: 75, + swipe_min_touches: 1, + swipe_direction: "horizontal", + drag_block_vertical: false + }, + arrows:{ + enable:true, + style: "dione", + tmp: '
', + left: { + h_align: "left", + v_align: "center", + h_offset: 0, + v_offset: 0 + }, + right: { + h_align: "right", + v_align: "center", + h_offset: 0, + v_offset: 0 + } + }, + bullets:{ + style:"", + enable:false, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"horizontal", + space:12, + h_align:"center", + v_align:"bottom", + h_offset:0, + v_offset:30, + tmp: '' + }, + }, + + parallax:{ + type:"scroll", + levels:[5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85], + origo:"enterpoint", + speed:400, + bgparallax:"on", + disable_onmobile:"on" + }, + + spinner:"spinner4" + + }); + + // Side Nav + $('#slider5').revolution({ + sliderLayout:"fullscreen", + delay:120000, + gridwidth:1100, + gridheight:600, + hideThumbs:10, + fullScreenAutoWidth:"on", + + navigation: { + onHoverStop: "off", + + touch: { + touchenabled: "on", + swipe_threshold: 75, + swipe_min_touches: 1, + swipe_direction: "horizontal", + drag_block_vertical: false + }, + + bullets:{ + style:"", + enable:false, + hide_onmobile:true, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"vertical", + space:12, + h_align:"right", + v_align:"center", + h_offset:40, + v_offset:0, + tmp: '' + }, + }, + + parallax:{ + type:"scroll", + levels:[5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85], + origo:"enterpoint", + speed:400, + bgparallax:"on", + disable_onmobile:"on" + }, + + spinner:"spinner4" + + }); + + }); + +})(jQuery); diff --git a/server/www/static/www/js/scripts.js b/server/www/static/www/js/scripts.js new file mode 100644 index 0000000..64e2414 --- /dev/null +++ b/server/www/static/www/js/scripts.js @@ -0,0 +1,552 @@ +(function($){ + "use strict"; + + $(window).load(function() { + + // Preloader + $('.loader').fadeOut(); + $('.loader-mask').delay(350).fadeOut('slow'); + + $(window).trigger("resize"); + initMasonry(); + + }); + + $(document).ready(function(){ + + $(window).trigger("resize"); + initOwlCarousel(); + initTextrotator(); + initOnepagenav(); + initPiechart(); + + }); + + + /* Full Height Container / Dropdowns + -------------------------------------------------------*/ + + $(window).resize(function(){ + + container_full_height_init(); + + var windowWidth = $(window).width(); + if (windowWidth <= 974) { + $('.dropdown-toggle').attr('data-toggle', 'dropdown'); + $('.navigation').removeClass("sticky offset scrolling"); + $('.nav-type-4').find(".local-scroll-no-offset").removeClass('local-scroll-no-offset').addClass("local-scroll"); + } + if (windowWidth > 974) { + $('.dropdown-toggle').removeAttr('data-toggle', 'dropdown'); + $('.dropdown').removeClass('open'); + $('.nav-type-4').find(".local-scroll").removeClass('local-scroll').addClass("local-scroll-no-offset"); + } + + /* Mobile Menu Resize + -------------------------------------------------------*/ + $(".navbar .navbar-collapse").css("max-height", $(window).height() - $(".navbar-header").height() ); + + }); + + + /* Sticky Navigation + -------------------------------------------------------*/ + $(window).scroll(function(){ + if ($(window).scrollTop() > 50 && $('.navbar-toggle').is(":hidden")){ + $('.navigation-overlay, .navigation').addClass("sticky"); + $('.logo-wrap').addClass("shrink"); + $('.nav-left .logo-wrap').removeClass("shrink"); + } else { + $('.navigation-overlay, .navigation').removeClass("sticky"); + $('.logo-wrap').removeClass("shrink"); + } + + if ($(window).scrollTop() > 200 && $('.navbar-toggle').is(":hidden")){ + $('.navigation').addClass("offset"); + } else { + $('.navigation').removeClass("offset"); + } + + if ($(window).scrollTop() > 500 && $('.navbar-toggle').is(":hidden")){ + $('.navigation').addClass("scrolling"); + } else { + $('.navigation').removeClass("scrolling"); + } + }); + + + /* Full screen Navigation + -------------------------------------------------------*/ + $('#nav-icon, .overlay-menu').on("click", function(){ + $('#nav-icon').toggleClass('open'); + $('#overlay').toggleClass('open'); + }); + + + // Closes the Responsive Menu on Menu Item Click + function initOnepagenav(){ + + $('.navigation-overlay .navbar-collapse ul li a, .nav-type-4 .navbar-collapse ul li a').on('click',function() { + $('.navbar-toggle:visible').click(); + }); + + // Smooth Scroll Navigation + $('.local-scroll').localScroll({offset: {top: -60},duration: 1500,easing:'easeInOutExpo'}); + $('.local-scroll-no-offset').localScroll({offset: {top: 0},duration: 1500,easing:'easeInOutExpo'}); + } + + + /* Search + -------------------------------------------------------*/ + + $('.search-trigger').on('click',function(e){ + e.preventDefault(); + $('.search-wrap').animate({opacity: 'toggle'},500); + $('.nav-search').addClass("open"); + $('.search-wrap .form-control').focus(); + }); + + $('.search-close').on('click',function(e){ + e.preventDefault(); + $('.search-wrap').animate({opacity: 'toggle'},500); + $('.nav-search').removeClass("open"); + }); + + function closeSearch(){ + $('.search-wrap').fadeOut(200); + $('.nav-search').removeClass("open"); + } + + $(document.body).on('click',function(e) { + closeSearch(); + }); + + $(".search-wrap, .search-trigger").on('click',function(e) { + e.stopPropagation(); + }); + + + /* Bootstrap Dropdown Navigation + -------------------------------------------------------*/ + "use strict";!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){function b(b){this.$element=a(b),this.$main=this.$element.closest(".dropdown, .dropup, .btn-group"),this.$menu=this.$element.parent(),this.$drop=this.$menu.parent().parent(),this.$menus=this.$menu.siblings(".dropdown-submenu");var d=this.$menu.find("> .dropdown-menu > "+c);this.$submenus=d.filter(".dropdown-submenu"),this.$items=d.not(".dropdown-submenu"),this.init()}var c=":not(.disabled, .divider, .dropdown-header)";return b.prototype={init:function(){this.$element.on({"click.bs.dropdown":this.click.bind(this),keydown:this.keydown.bind(this)}),this.$menu.on("hide.bs.submenu",this.hide.bind(this)),this.$items.on("keydown",this.item_keydown.bind(this)),this.$menu.nextAll(c+":first:not(.dropdown-submenu)").children("a").on("keydown",this.next_keydown.bind(this))},click:function(a){a.stopPropagation(),this.toggle()},toggle:function(){this.$menu.hasClass("open")?this.close():(this.$menu.addClass("open"),this.$menus.trigger("hide.bs.submenu"))},hide:function(a){a.stopPropagation(),this.close()},close:function(){this.$menu.removeClass("open"),this.$submenus.trigger("hide.bs.submenu")},keydown:function(a){if(/^(32|38|40)$/.test(a.keyCode)&&a.preventDefault(),/^(13|32)$/.test(a.keyCode))this.toggle();else if(/^(27|38|40)$/.test(a.keyCode))if(a.stopPropagation(),27==a.keyCode)this.$menu.hasClass("open")?this.close():(this.$menus.trigger("hide.bs.submenu"),this.$drop.removeClass("open").children("a").trigger("focus"));else{var b=this.$main.find("li:not(.disabled):visible > a"),c=b.index(a.target);if(38==a.keyCode&&0!==c)c--;else{if(40!=a.keyCode||c===b.length-1)return;c++}b.eq(c).trigger("focus")}},item_keydown:function(a){27==a.keyCode&&(a.stopPropagation(),this.close(),this.$element.trigger("focus"))},next_keydown:function(a){if(38==a.keyCode){a.preventDefault(),a.stopPropagation();var b=this.$drop.find("li:not(.disabled):visible > a"),c=b.index(a.target);b.eq(c-1).trigger("focus")}}},a.fn.submenupicker=function(c){var d=this instanceof a?this:a(c);return d.each(function(){var c=a.data(this,"bs.submenu");c||(c=new b(this),a.data(this,"bs.submenu",c))})}}); + $('.dropdown-submenu > a').submenupicker(); + + + /* Mobile Navigation + -------------------------------------------------------*/ + $('.dropdown-toggle').on('click', function(e){ + e.preventDefault(); + }); + + + /* IE Detect + -------------------------------------------------------*/ + if(Function('/*@cc_on return document.documentMode===10@*/')()){ $("html").addClass("ie"); } + + /* Mobile Detect + -------------------------------------------------------*/ + if (/Android|iPhone|iPad|iPod|BlackBerry|Windows Phone/i.test(navigator.userAgent || navigator.vendor || window.opera)) { + $("html").addClass("mobile"); + $('.dropdown-toggle').attr('data-toggle', 'dropdown'); + } + else { + $("html").removeClass("mobile"); + } + + // Detect touch devices + if (!("ontouchstart" in document.documentElement)) { + document.documentElement.className += " no-touch"; + } + + + /* Text Rotator + -------------------------------------------------------*/ + function initTextrotator(){ + + $(".rotate").textrotator({ + animation: "dissolve", // You can pick the way it animates when rotating through words. Options are dissolve (default), fade, flip, flipUp, flipCube, flipCubeUp and spin. + separator: ",", + speed: 3000 + }); + + } + + + /* Lightbox popup + -------------------------------------------------------*/ + + $('.lightbox-gallery').magnificPopup({ + type: 'image', + tLoading: 'Loading image #%curr%...', + gallery: { + enabled: true, + navigateByImgClick: true, + preload: [0,1] + }, + image: { + titleSrc: 'title', + verticalFit: true + } + }); + + + $(".lightbox-video").magnificPopup(); + + + /* Isotope Filter + -------------------------------------------------------*/ + $('.portfolio-filter').on( 'click', 'a', function(e) { + e.preventDefault(); + var filterValue = $(this).attr('data-filter'); + $container.isotope({ filter: filterValue }); + + $('.portfolio-filter a').removeClass('active'); + $(this).closest('a').addClass('active'); + + }); + + + /* Portfolio + -------------------------------------------------------*/ + var $container = $('.works-grid'); + $container.imagesLoaded( function() { + $container.isotope({ + itemSelector: '.work-item', + layoutMode: 'fitRows', + percentPosition: true, + masonry: { columnWidth: '.work-img' } + }); + + }); + + + /* Masonry + -------------------------------------------------------*/ + + function initMasonry(){ + + var $masonry = $('.masonry-grid'); + $masonry.imagesLoaded( function() { + $masonry.isotope({ + itemSelector: '.work-item', + layoutMode: 'masonry', + percentPosition: true, + resizable: false, + isResizeBound: false, + masonry: { columnWidth: '.work-item.quarter' } + }); + + }); + + $masonry.isotope(); + } + + + /* Counters + -------------------------------------------------------*/ + $('.statistic').appear(function() { + $('.timer').countTo({ + speed: 4000, + refreshInterval: 60, + formatter: function (value, options) { + return value.toFixed(options.decimals); + } + }); + }); + + + /* Progress Bars + -------------------------------------------------------*/ + var $section = $('#animated-skills').appear(function() { + + function loadDaBars() { + var bar = $('.progress-bar'); + var bar_width = $(this); + $(function(){ + $(bar).each(function(){ + bar_width = $(this).attr('aria-valuenow'); + $(this).width(bar_width + '%'); + }); + }); + } + loadDaBars(); + }); + + + /* Accordion + -------------------------------------------------------*/ + var allPanels = $(".accordion > .panel-content").hide(); + allPanels.first().slideDown("easeOutExpo"); + $(".accordion > .acc-panel > a").first().addClass("active"); + + $(".accordion > .acc-panel > a").on('click', function(){ + + var current = $(this).parent().next(".panel-content"); + $(".accordion > .acc-panel > a").removeClass("active"); + $(this).addClass("active"); + allPanels.not(current).slideUp("easeInExpo"); + $(this).parent().next().slideDown("easeOutExpo"); + + return false; + + }); + + + /* Pie Charts + -------------------------------------------------------*/ + function initPiechart(){ + $('.chart').appear(function() { + + $('.chart').easyPieChart({ + + animate:{ + duration:1500, + enabled:true + }, + scaleColor:false, + trackColor:'#f2f2f2', + lineWidth: 10, + size: 174, + lineCap: 'square', + + onStep: function(from, to, percent) { + $(this.el).find('.percent').text(Math.round(percent)); + } + }); + var chart = window.chart = $('.chart').data('easyPieChart'); + $('.js_update').on('click', function() { + chart.update(Math.random()*200-100); + }); + }); + } + + + /* Flexslider / Masonry + -------------------------------------------------------*/ + + $('#one-img-slide').flexslider({ + animation: "slide", + directionNav: true, + touch: true, + slideshow: false, + prevText: [""], + nextText: [""], + start: function(){ + var $container = $('.masonry'); + $container.imagesLoaded( function() { + $container.isotope({ + itemSelector: '.masonry-item', + layoutMode: 'masonry' + }); + }); + } + }); + + + /* Owl Carousel + -------------------------------------------------------*/ + function initOwlCarousel(){ + (function($){ + "use strict"; + + $("#owl-partners").owlCarousel({ + + autoPlay: 3000, + pagination: false, + itemsCustom: [ + [0, 2], + [450, 2], + [700, 3], + [1000, 3], + [1200, 4], + [1400, 5], + [1600, 6] + ], + + }) + + // Owl Single + $("#owl-single").owlCarousel({ + + slideSpeed: 300, + singleItem: true, + paginationSpeed: 200, + pagination: true, + paginationNumbers: true + + }); + + // Promo Section + var owlPromo = $("#owl-promo"); + owlPromo.owlCarousel({ + + slideSpeed: 300, + pagination: false, + paginationSpeed: 400, + singleItem: true + + }); + + // Blog Gallery Post + var owlBlog = $("#owl-blog"); + owlBlog.owlCarousel({ + + slideSpeed: 300, + pagination: false, + paginationSpeed: 400, + itemsCustom: [ + [0, 1], + [450, 1], + [1200, 2], + ], + + }); + + + var owlRelated = $("#owl-related-works"); + owlRelated.owlCarousel({ + + slideSpeed: 300, + paginationSpeed: 400, + items: 3, + itemsDesktop: [1199,3], + itemsDesktopSmall: [979,3], + pagination: false + + }); + + // Custom Navigation Events + $(".next").on('click',function(){ + owlPromo.trigger('owl.next'); + owlBlog.trigger('owl.next'); + owlRelated.trigger('owl.next'); + }) + $(".prev").on('click',function(){ + owlPromo.trigger('owl.prev'); + owlBlog.trigger('owl.prev'); + owlRelated.trigger('owl.prev'); + }); + + + // Testimonials + $("#owl-testimonials").owlCarousel({ + + navigation: false, + slideSpeed: 300, + pagination: true, + paginationSpeed: 400, + singleItem: true, + autoPlay: 4000, + stopOnHover: true + + }); + + // Owl Hero Slider + $("#owl-slider-one-img").owlCarousel({ + + transitionStyle: "fadeUp", + autoHeight: true, + navigation: true, + slideSpeed: 300, + singleItem: true, + navigationText: ["", ""] + + }); + + + })(jQuery); + }; + + + // Wow Animations + + var wow = new WOW({ + offset: 50, + mobile: false + }); + + wow.init(); + + + /* FitVIds + -------------------------------------------------------*/ + $(".video-wrap").fitVids(); + + + /* ---------------------------------------------------------------------- */ + /* Contact Form + /* ---------------------------------------------------------------------- */ + + var submitContact = $('#submit-message'), + message = $('#msg'); + + submitContact.on('click', function(e){ + e.preventDefault(); + + var $this = $(this); + + $.ajax({ + type: "POST", + url: 'contact.php', + dataType: 'json', + cache: false, + data: $('#contact-form').serialize(), + success: function(data) { + + if(data.info !== 'error'){ + $this.parents('form').find('input[type=text],input[type=email],textarea,select').filter(':visible').val(''); + message.hide().removeClass('success').removeClass('error').addClass('success').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow'); + } else { + message.hide().removeClass('success').removeClass('error').addClass('error').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow'); + } + } + }); + }); + +})(jQuery); + + +/* Scroll to Top +-------------------------------------------------------*/ + +(function() { + "use strict"; + + var docElem = document.documentElement, + didScroll = false, + changeHeaderOn = 550; + document.querySelector( '#back-to-top' ); + function init() { + window.addEventListener( 'scroll', function() { + if( !didScroll ) { + didScroll = true; + setTimeout( scrollPage, 50 ); + } + }, false ); + } + +})(); + +$(window).scroll(function(event){ + var scroll = $(window).scrollTop(); + if (scroll >= 50) { + $("#back-to-top").addClass("show"); + } else { + $("#back-to-top").removeClass("show"); + } +}); + +$('a[href="#top"]').on('click',function(){ + $('html, body').animate({scrollTop: 0}, 'slow'); + return false; +}); + + +/* Full Height Container +-------------------------------------------------------*/ + +function container_full_height_init(){ + (function($){ + $(".container-full-height").height($(window).height()); + })(jQuery); +} \ No newline at end of file diff --git a/server/www/static/www/responsive.css b/server/www/static/www/responsive.css new file mode 100644 index 0000000..5b61375 --- /dev/null +++ b/server/www/static/www/responsive.css @@ -0,0 +1,469 @@ +@media (max-width: 2300px) { + .rev-slidebg { + background-size: 30%; + } +} +@media (max-width: 1700px) { + .rev-slidebg { + background-size: 30%; + } + #background-text{ + display:none; + } + .newcharactertalos { + margin-top: -35px; + } +} +@media (max-width: 1200px) { + #talos-guy, #background-text{ + display:none; + } + .navbar-nav > li > a { + padding: 0 15px; + } + + .works-grid-3-col-wide .container-fluid { + padding: 0 15px; + } + + .main-wrapper-onepage.angles .result-box { + padding: 40% 0; + } +} +@media (max-width: 991px) { + #talos-guy, #background-text, .slotholder{ + display:none; + } + .section-wrap, + .section-wrap-mp { + background-attachment: scroll; + } + + .section-wrap { + padding: 90px 0; + } + + .team-member, + .blog-col-3 { + margin-bottom: 40px; + } + + .promo-description { + padding: 40px; + } + + .grid-3-col.grid-gutter .work-item { + width: 50%; + } + + .call-to-action h2, + .cta-button { + text-align: center; + } + + .call-to-action h2 { + margin-bottom: 30px; + line-height: 1.5; + } + + .contact-item { + border-right: none; + margin-bottom: 50px; + } + + .page-title .container { + height: 300px; + } + + .title-text { + padding-top: 50px; + } + + .title-text h1 { + font-size: 28px; + } + + .blog-standard .sidebar, + .blog-single .sidebar { + padding-left: 30px; + } + + .blog-standard .entry-title, + .blog-standard .entry-meta { + padding-left: 0; + } + + .blog-standard .entry { + margin-top: 20px; + } + + .entry-content .entry-share { + float: none; + } + + #portfolio.angle-bottom:after { + margin-top: 200px; + } + + .main-wrapper-onepage.angles .parallax-testimonials .owl-pagination { + bottom: 140px; + } + + .nav-type-2 .navbar, + .nav-type-4 .navbar, + .nav-type-4 .nav-left { + min-height: 60px; + } + + .nav-type-2 .navbar-nav { + padding: 0; + } + + .nav-type-2 .navbar-collapse, + .nav-type-4 .navbar-collapse { + border-top: 1px solid #f2f2f2; + } + + .nav-type-2 .nav-wrap { + padding-left: 0; + padding-right: 0; + width: 100%; + } + + .dropdown-menu { + padding: 0; + } + + .dropdown-menu, + .dropdown-submenu > .dropdown-menu { + display: none; + opacity: 1; + visibility: visible; + } + + .navbar-nav .open .dropdown-menu { + width: auto !important; + } + + .nav-type-2 .nav > li > a { + padding: 15px 0 15px 15px; + border-bottom: 1px solid #f2f2f2; + line-height: 20px; + } + + .navbar-nav .open .dropdown-menu > li > a { + padding: 15px 0 15px 20px; + border-bottom: 1px solid #f2f2f2; + } + + .navbar-nav .open .dropdown-submenu .dropdown-menu > li > a { + padding: 15px 0 15px 30px; + } + + .navbar-nav .open .dropdown-submenu .dropdown-menu > li > ul > li > a { + padding: 15px 0 15px 45px; + } + + .navbar .navbar-collapse.in .navbar-nav .dropdown > a:after, + .dropdown-submenu > a:after { + font-family: "FontAwesome"; + position: absolute; + content: "\f107"; + right: 15px; + color: #45464b; + } + + .navbar-nav .open .dropdown-menu > li > a { + color: #7a7a7a; + } + + .navbar-nav .open .dropdown-menu > li > a:focus { + background-color: transparent; + } + + .navbar-nav .open .dropdown-menu > li > a:hover { + color: #bfa67a; + } + + .navbar-nav > li > a.nav-search { + display: none; + } + + #mobile-search { + display: block; + } + + .mobile-search .form-control { + height: 51px; + border: none; + box-shadow: none; + -webkit-box-shadow: none; + margin-bottom: 0; + } + + #mobile-search .search-button { + position: absolute; + right: 0; + top: 0; + width: 45px; + height: 51px; + border: 0; + cursor: pointer; + background-color: transparent; + } + + .pricing-3-col { + margin-bottom: 30px; + } + + .widget { + margin-bottom: 40px; + } + + .page-title.style-2 .title-text { + padding-top: 0; + } + + .portfolio-description { + padding-left: 0; + margin-top: 30px; + } + + .masonry-grid .work-item.quarter { + width: 50%; + } + + .intro.style-2 .intro-text p { + font-size: 36px; + } + + .about-me .info { + padding-left: 0; + } + + .content-wrap { + margin-left: 0; + } + + .nav-type-4 { + width: 100%; + height: auto; + position: fixed; + } + + .nav-type-4 .navbar-header { + margin: 0; + } + + .nav-type-4 .header-wrap { + width: 100%; + padding: 0 15px; + } + + .nav-type-4 .logo-container { + width: auto; + padding: 0 15px; + } + + .nav-type-4 .nav { + margin: 0; + } + + .nav-type-4 .logo-wrap > a { + height: 60px; + } + + #ytb-wrap .hero-text { + font-size: 76px; + } +} +@media (max-width: 767px) { + #main_content{ + margin-top: 40px; + } + #talos-guy, #background-text, .slotholder{ + display:none; + } + .section-wrap { + padding: 80px 0; + } + + .intro-heading { + font-size: 22px; + } + + .heading-frame { + padding: 24px 30px; + } + + .grid-3-col.grid-gutter .work-item { + width: 100%; + } + + .process-item { + margin-bottom: 40px; + } + + .our-team .container-fluid { + padding: 0 15px; + } + + .client-logo { + border-right: none; + } + + .second-row .client-logo { + border-bottom: 1px solid #dedede; + } + + .second-row .client-logo:last-child { + border-bottom: none; + } + + .blog-standard .sidebar, + .blog-single .sidebar { + padding-left: 15px; + margin-top: 50px; + } + + .hero-message h1, + .hero-message.text-rotator h1 { + font-size: 38px; + } + + .angle-top:before, + .angle-bottom:after { + content: none; + } + + .main-wrapper-onepage.angles .result-box { + padding: 30% 0; + } + + .main-wrapper-onepage.angles .process, .main-wrapper-onepage.angles .parallax-testimonials { + padding: 150px 0; + } + + .main-wrapper-onepage.angles .parallax-testimonials .owl-pagination { + bottom: 30px; + } + + .main-wrapper-onepage.angles .gmap { + height: 450px; + } + + .call-to-action.style-2 { + padding: 100px 0; + } + + .call-to-action.style-2 h2 { + font-size: 26px; + } + + .copyright, + .footer-socials .social-icons { + text-align: center; + } + + .footer-socials .social-icons, + .footer-socials .social-icons a { + float: none; + margin-top: 7px; + } + + .copyright span { + line-height: 1.5; + } + + .style-2 .breadcrumb { + position: relative; + text-align: center; + margin-top: 15px; + } + + .page-title.style-2 .title-text h1 { + text-align: center; + font-size: 24px; + } + + .section-wrap.intro { + padding: 80px 0 60px; + } + + .intro.style-2 .intro-text p { + font-size: 28px; + } + + .footer-type-3, + .footer-type-3 .footer-socials { + text-align: center; + } + + #ytb-wrap .hero-text { + font-size: 50px; + } + + .sidenav .container-fluid, + .sidenav .container { + width: 100%; + } +} +@media (max-width: 640px) { + #main_content{ + margin-top: 40px; + } + #talos-guy, #background-text, .slotholder{ + display:none; + } + .overlay-menu ul li a { + font-size: 26px; + } + + .section-wrap.intro { + padding: 80px 0 60px; + } + + .intro.style-2 .intro-text p { + font-size: 24px; + } +} +@media (max-width: 480px) { + #main_content{ + margin-top: 100px; + } + #talos-guy, #background-text, .slotholder{ + display:none; + } + .entry-comments .comment-avatar { + width: 60px; + } + + .entry-comments .comment-content { + padding-left: 80px; + } + + .comment-reply { + padding-left: 30px; + } + + .nav-tabs > li { + width: 100%; + margin-bottom: 10px; + } + + .nav.nav-tabs > li > a { + margin-right: 0; + } + + .page-404 h1 { + font-size: 80px; + } + + .masonry-grid .work-item.quarter, + .masonry-grid .work-item, + .works-grid .work-item { + width: 100%; + } +} + +/*# sourceMappingURL=responsive.css.map */ diff --git a/server/www/static/www/responsive.css.map b/server/www/static/www/responsive.css.map new file mode 100644 index 0000000..f58e8b2 --- /dev/null +++ b/server/www/static/www/responsive.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["sass/responsive.scss"], +"names": [], +"file": "responsive.css" +} diff --git a/server/www/static/www/rev-slider.css b/server/www/static/www/rev-slider.css new file mode 100644 index 0000000..ca52657 --- /dev/null +++ b/server/www/static/www/rev-slider.css @@ -0,0 +1,4949 @@ +/* Navigation Styles +-------------------------------------------------------*/ +.ares.tparrows { + cursor: pointer; + background: #fff; + min-width: 60px; + min-height: 60px; + position: absolute; + display: block; + z-index: 100; + border-radius: 50% +} + +.ares.tparrows:before { + font-family: revicons; + font-size: 25px; + color: #aaa; + display: block; + line-height: 60px; + text-align: center; + -webkit-transition: color .3s; + -moz-transition: color .3s; + transition: color .3s; + z-index: 2; + position: relative +} + +.ares .tp-tab, .gyges .tp-tab { + font-family: Roboto, sans-serif +} + +.ares.tparrows.tp-leftarrow:before { + content: "\e81f" +} + +.ares.tparrows.tp-rightarrow:before { + content: "\e81e" +} + +.ares.tparrows:hover:before { + color: #000 +} + +.ares .tp-title-wrap { + position: absolute; + z-index: 1; + display: inline-block; + background: #fff; + min-height: 60px; + top: 0; + margin-left: 30px; + border-radius: 0 30px 30px 0; + overflow: hidden; + transition: transform .3s; + transform: scaleX(0); + -webkit-transform: scaleX(0); + transform-origin: 0 50%; + -webkit-transform-origin: 0 50% +} + +.ares .tp-arr-titleholder, .ares .tp-title-wrap { + -webkit-transition: -webkit-transform .3s; + line-height: 60px +} + +.ares.tp-rightarrow .tp-title-wrap { + right: 0; + margin-right: 30px; + margin-left: 0; + -webkit-transform-origin: 100% 50%; + border-radius: 30px 0 0 30px +} + +.ares.tparrows:hover .tp-title-wrap { + transform: scaleX(1) scaleY(1); + -webkit-transform: scaleX(1) scaleY(1) +} + +.ares .tp-arr-titleholder { + position: relative; + transition: transform .3s; + transform: translateX(200px); + text-transform: uppercase; + color: #000; + font-weight: 400; + font-size: 14px; + white-space: nowrap; + padding: 0 20px; + margin-left: 10px; + opacity: 0 +} + +.ares.tp-rightarrow .tp-arr-titleholder { + transform: translateX(-200px); + margin-left: 0; + margin-right: 10px +} + +.ares.tparrows:hover .tp-arr-titleholder { + transform: translateX(0); + -webkit-transform: translateX(0); + transition-delay: .1s; + opacity: 1 +} + +.ares.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.ares .tp-bullet { + width: 13px; + height: 13px; + position: absolute; + background: #e5e5e5; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.ares .tp-bullet.selected, .ares .tp-bullet.selected:hover .tp-bullet-title, .ares .tp-bullet:hover { + background: #fff +} + +.ares .tp-bullet-title { + position: absolute; + color: #888; + font-size: 12px; + padding: 0 10px; + font-weight: 600; + right: 27px; + top: -4px; + background: #fff; + background: rgba(255, 255, 255, .75); + visibility: hidden; + transform: translateX(-20px); + -webkit-transform: translateX(-20px); + transition: transform .3s; + -webkit-transition: transform .3s; + line-height: 20px; + white-space: nowrap +} + +.ares .tp-bullet-title:after { + width: 0; + height: 0; + border-style: solid; + border-width: 10px 0 10px 10px; + border-color: transparent transparent transparent rgba(255, 255, 255, .75); + content: " "; + position: absolute; + right: -10px; + top: 0 +} + +.ares .tp-bullet:hover .tp-bullet-title { + visibility: visible; + transform: translateX(0); + -webkit-transform: translateX(0) +} + +.ares .tp-bullet.selected:hover .tp-bullet-title:after { + border-color: transparent transparent transparent #fff +} + +.ares.tp-bullets:hover .tp-bullet-title { + visibility: hidden +} + +.ares.tp-bullets:hover .tp-bullet:hover .tp-bullet-title { + visibility: visible +} + +.ares .tp-tab { + opacity: 1; + padding: 10px; + box-sizing: border-box; + border-bottom: 1px solid #e5e5e5 +} + +.ares .tp-tab-image { + width: 60px; + height: 60px; + max-height: 100%; + max-width: 100%; + position: relative; + display: inline-block; + float: left +} + +.ares .tp-tab-content { + background: 0 0; + padding: 15px 15px 15px 85px; + left: 0; + overflow: hidden; + margin-top: -15px; + box-sizing: border-box; + color: #333; + display: inline-block; + width: 100%; + height: 100%; + position: absolute +} + +.ares .tp-tab-date { + display: block; + color: #aaa; + font-weight: 500; + font-size: 12px; + margin-bottom: 0 +} + +.ares .tp-tab-title { + display: block; + text-align: left; + color: #333; + font-size: 14px; + font-weight: 500; + text-transform: none; + line-height: 17px +} + +.custom.tparrows:before, .erinyen.tparrows:before { + font-family: revicons; + color: #fff; + text-align: center +} + +.ares .tp-tab.selected, .ares .tp-tab:hover { + background: #eee +} + +.custom.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100 +} + +.custom.tparrows:hover { + background: #000 +} + +.custom.tparrows:before { + font-size: 15px; + display: block; + line-height: 40px +} + +.custom.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.custom.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.custom.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.custom .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #aaa; + background: rgba(125, 125, 125, .5); + cursor: pointer; + box-sizing: content-box +} + +.custom .tp-bullet.selected, .custom .tp-bullet:hover { + background: #7d7d7d +} + +.dione.tparrows { + height: 100%; + width: 100px; + background: 0 0; + line-height: 100%; + transition: all .3s; + -webkit-transition: all .3s +} + +.dione.tparrows:hover { + background: rgba(0, 0, 0, .45) +} + +.dione .tp-arr-imgwrapper { + width: 100px; + left: 0; + position: absolute; + height: 100%; + top: 0; + overflow: hidden +} + +.dione.tp-rightarrow .tp-arr-imgwrapper { + left: auto; + right: 0 +} + +.dione .tp-arr-imgholder { + background-position: center center; + background-size: cover; + width: 100px; + height: 100%; + top: 0; + visibility: hidden; + transform: translateX(-50px); + -webkit-transform: translateX(-50px); + transition: all .3s; + -webkit-transition: all .3s; + opacity: 0; + left: 0 +} + +.dione.tparrows.tp-rightarrow .tp-arr-imgholder { + right: 0; + left: auto; + transform: translateX(50px); + -webkit-transform: translateX(50px) +} + +.dione.tparrows:before { + position: absolute; + line-height: 30px; + margin-left: -22px; + top: 50%; + left: 50%; + font-size: 30px; + margin-top: -15px; + transition: all .3s; + -webkit-transition: all .3s +} + +.dione.tparrows.tp-rightarrow:before { + margin-left: 6px +} + +.dione.tparrows:hover:before { + transform: translateX(-20px); + -webkit-transform: translateX(-20px); + opacity: 0 +} + +.dione.tparrows.tp-rightarrow:hover:before { + transform: translateX(20px); + -webkit-transform: translateX(20px) +} + +.dione.tparrows:hover .tp-arr-imgholder { + transform: translateX(0); + -webkit-transform: translateX(0); + opacity: 1; + visibility: visible +} + +.dione .tp-bullet-title, .gyges .tp-thumb-title { + white-space: nowrap; + transform: translateZ(0) translateX(-50%) translateY(14px) +} + +.dione .tp-bullet { + opacity: 1; + width: 50px; + height: 50px; + padding: 3px; + background: #000; + background-color: rgba(0, 0, 0, .25); + margin: 0; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s +} + +.dione .tp-bullet-image { + display: block; + box-sizing: border-box; + position: relative; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + -moz-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + width: 44px; + height: 44px; + background-size: cover; + background-position: center center +} + +.dione .tp-bullet-title { + position: absolute; + bottom: 65px; + display: inline-block; + left: 50%; + background: #000; + background: rgba(0, 0, 0, .75); + color: #fff; + padding: 10px 30px; + border-radius: 4px; + -webkit-border-radius: 4px; + transition: all .3s; + -webkit-transition: all .3s; + transform-origin: 50% 100%; + -webkit-transform: translateZ(0) translateX(-50%) translateY(14px); + -webkit-transform-origin: 50% 100%; + opacity: 0 +} + +.dione .tp-bullet:hover .tp-bullet-title { + transform: rotateX(0) translateX(-50%); + -webkit-transform: rotateX(0) translateX(-50%); + opacity: 1 +} + +.dione .tp-bullet.selected, .dione .tp-bullet:hover { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.erinyen .tp-title-wrap, .erinyen.tparrows { + border-radius: 35px; + background: #000; + min-height: 70px +} + +.dione .tp-bullet-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(0, 0, 0, .75) transparent transparent; + bottom: -8px +} + +.erinyen .tp-arr-img-over, .erinyen .tp-arr-imgholder, .erinyen.tp-bullets:before { + position: absolute; + width: 100%; + height: 100% +} + +.erinyen.tparrows { + cursor: pointer; + background: rgba(0, 0, 0, .5); + min-width: 70px; + position: absolute; + display: block; + z-index: 100 +} + +.erinyen.tparrows:before { + font-size: 20px; + display: block; + line-height: 70px; + z-index: 2; + position: relative +} + +.erinyen.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.erinyen.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.erinyen .tp-title-wrap { + position: absolute; + z-index: 1; + display: inline-block; + background: rgba(0, 0, 0, .5); + line-height: 70px; + top: 0; + margin-left: 0; + overflow: hidden; + transition: opacity .3s; + -webkit-transition: opacity .3s; + -moz-transition: opacity .3s; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); + visibility: hidden; + opacity: 0 +} + +.erinyen.tparrows:hover .tp-title-wrap { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible +} + +.erinyen.tp-rightarrow .tp-title-wrap { + right: 0; + margin-right: 0; + margin-left: 0; + -webkit-transform-origin: 100% 50%; + border-radius: 35px; + padding-right: 20px; + padding-left: 10px +} + +.erinyen.tp-leftarrow .tp-title-wrap { + padding-left: 20px; + padding-right: 10px +} + +.erinyen .tp-arr-titleholder { + letter-spacing: 3px; + position: relative; + -webkit-transition: -webkit-transform .3s; + transition: transform .3s; + transform: translateX(200px); + text-transform: uppercase; + color: #fff; + font-weight: 600; + font-size: 13px; + line-height: 70px; + white-space: nowrap; + padding: 0 20px; + margin-left: 11px; + opacity: 0 +} + +.erinyen .tp-thumb, .gyges .tp-thumb { + opacity: 1 +} + +.erinyen .tp-arr-imgholder { + top: 0; + left: 0; + background-position: center center; + background-size: cover +} + +.erinyen .tp-arr-img-over { + top: 0; + left: 0; + background: #000; + background: rgba(0, 0, 0, .5) +} + +.erinyen.tp-rightarrow .tp-arr-titleholder { + transform: translateX(-200px); + margin-left: 0; + margin-right: 11px +} + +.erinyen.tparrows:hover .tp-arr-titleholder { + transform: translateX(0); + -webkit-transform: translateX(0); + transition-delay: .1s; + opacity: 1 +} + +.erinyen.tp-bullets:before { + content: " "; + background: #555; + background: -moz-linear-gradient(top, #555 0, #222 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #555), color-stop(100%, #222)); + background: -webkit-linear-gradient(top, #555 0, #222 100%); + background: -o-linear-gradient(top, #555 0, #222 100%); + background: -ms-linear-gradient(top, #555 0, #222 100%); + background: linear-gradient(to bottom, #555 0, #222 100%); + filter: progid:dximagetransform.microsoft.gradient(startcolorstr="#555555", endcolorstr="#222222", gradienttype=0); + padding: 10px 15px; + margin-left: -15px; + margin-top: -10px; + box-sizing: content-box; + border-radius: 10px; + box-shadow: 0 0 2px 1px rgba(33, 33, 33, .3) +} + +.erinyen .tp-bullet { + width: 13px; + height: 13px; + position: absolute; + background: #111; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.erinyen .tp-bullet.selected, .erinyen .tp-bullet:hover { + background: #e5e5e5; + background: -moz-linear-gradient(top, #e5e5e5 0, #999 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e5e5e5), color-stop(100%, #999)); + background: -webkit-linear-gradient(top, #e5e5e5 0, #999 100%); + background: -o-linear-gradient(top, #e5e5e5 0, #999 100%); + background: -ms-linear-gradient(top, #e5e5e5 0, #999 100%); + background: linear-gradient(to bottom, #e5e5e5 0, #999 100%); + filter: progid:dximagetransform.microsoft.gradient(startcolorstr="#e5e5e5", endcolorstr="#999999", gradienttype=0); + border: 1px solid #555; + width: 12px; + height: 12px +} + +.erinyen .tp-thumb-over { + background: #000; + background: rgba(0, 0, 0, .25); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; + -webkit-transition: all .3s; + transition: all .3s +} + +.erinyen .tp-thumb-more:before, .erinyen .tp-thumb-title { + text-align: left; + font-size: 12px; + position: absolute; + display: block; + z-index: 2 +} + +.erinyen .tp-thumb-more:before { + font-family: revicons; + color: #aaa; + color: rgba(255, 255, 255, .75); + line-height: 12px; + top: 20px; + right: 20px; + content: "\e825" +} + +.erinyen .tp-thumb-title { + font-family: Raleway; + letter-spacing: 1px; + color: #fff; + line-height: 15px; + top: 0; + left: 0; + padding: 20px 35px 20px 20px; + width: 100%; + height: 100%; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + font-weight: 500 +} + +.erinyen .tp-thumb.selected .tp-thumb-more:before, .erinyen .tp-thumb:hover .tp-thumb-more:before { + color: #aaa +} + +.erinyen .tp-thumb.selected .tp-thumb-over, .erinyen .tp-thumb:hover .tp-thumb-over { + background: #fff +} + +.erinyen .tp-thumb.selected .tp-thumb-title, .erinyen .tp-thumb:hover .tp-thumb-title { + color: #000 +} + +.erinyen .tp-tab-title { + color: #a8d8ee; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; + font-family: "Roboto Slab" + margin-bottom: 5px +} + +.erinyen .tp-tab-desc { + font-size: 18px; + font-weight: 400; + color: #fff; + line-height: 25px; + font-family: "Roboto Slab" +} + +.gyges.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: #777; + background: -moz-linear-gradient(top, #777 0, #666 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #777), color-stop(100%, #666)); + background: -webkit-linear-gradient(top, #777 0, #666 100%); + background: -o-linear-gradient(top, #777 0, #666 100%); + background: -ms-linear-gradient(top, #777 0, #666 100%); + background: linear-gradient(to bottom, #777 0, #666 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#777777", + endColorstr="#666666", GradientType=0); + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box; + border-radius: 10px +} + +.gyges .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #333; + border: 3px solid #444; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.gyges .tp-thumb-image, .gyges .tp-thumb-img-wrap { + box-sizing: border-box; + padding: 3px; + position: relative +} + +.gyges .tp-bullet.selected, .gyges .tp-bullet:hover { + background: #fff; + background: -moz-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #e1e1e1)); + background: -webkit-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: -o-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: -ms-linear-gradient(top, #fff 0, #e1e1e1 100%); + background: linear-gradient(to bottom, #fff 0, #e1e1e1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", + endColorstr="#e1e1e1", GradientType=0) +} + +.gyges .tp-thumb-img-wrap { + background: #000; + background-color: rgba(0, 0, 0, .25); + display: inline-block; + width: 100%; + height: 100%; + margin: 0; + transition: all .3s; + -webkit-transition: all .3s +} + +.gyges .tp-thumb-image { + display: block; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + -moz-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25) +} + +.gyges .tp-thumb-title { + position: absolute; + bottom: 100%; + display: inline-block; + left: 50%; + background: rgba(255, 255, 255, .8); + padding: 10px 30px; + border-radius: 4px; + -webkit-border-radius: 4px; + margin-bottom: 20px; + opacity: 0; + transition: all .3s; + -webkit-transition: all .3s; + transform-origin: 50% 100%; + -webkit-transform: translateZ(0) translateX(-50%) translateY(14px); + -webkit-transform-origin: 50% 100% +} + +.gyges .tp-thumb:hover .tp-thumb-title { + transform: rotateX(0) translateX(-50%); + -webkit-transform: rotateX(0) translateX(-50%); + opacity: 1 +} + +.gyges .tp-thumb.selected .tp-thumb-img-wrap, .gyges .tp-thumb:hover .tp-thumb-img-wrap { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.gyges .tp-thumb-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(255, 255, 255, .8) transparent transparent; + bottom: -8px +} + +.gyges .tp-tab { + opacity: 1; + padding: 10px; + box-sizing: border-box; + border-bottom: 1px solid rgba(255, 255, 255, .15) +} + +.hades.tparrows:before, .hebe.tparrows:before { + font-family: revicons +} + +.gyges .tp-tab-image { + width: 60px; + height: 60px; + max-height: 100%; + max-width: 100%; + position: relative; + display: inline-block; + float: left +} + +.gyges .tp-tab-content { + background: 0 0; + padding: 15px 15px 15px 85px; + left: 0; + overflow: hidden; + margin-top: -15px; + box-sizing: border-box; + color: #333; + display: inline-block; + width: 100%; + height: 100%; + position: absolute +} + +.hades .tp-arr-allwrapper, .hades.tparrows { + position: absolute; + width: 100px; + height: 100px +} + +.gyges .tp-tab-date { + display: block; + color: rgba(255, 255, 255, .25); + font-weight: 500; + font-size: 12px; + margin-bottom: 0 +} + +.gyges .tp-tab-title { + display: block; + text-align: left; + color: #fff; + font-size: 14px; + font-weight: 500; + text-transform: none; + line-height: 17px +} + +.gyges .tp-tab.selected, .gyges .tp-tab:hover { + background: rgba(0, 0, 0, .5) +} + +.hades.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .15); + display: block; + z-index: 100 +} + +.hades.tparrows:before { + font-size: 30px; + color: #fff; + display: block; + line-height: 100px; + text-align: center; + transition: background .3s, color .3s +} + +.hades.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.hades.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.hades.tparrows:hover:before { + color: #aaa; + background: #fff; + background: rgba(255, 255, 255, 1) +} + +.hades .tp-arr-allwrapper { + left: 100%; + top: 0; + background: #888; + -webkit-transition: all .3s; + transition: all .3s; + -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=0)"; + filter: alpha(opacity=0); + -moz-opacity: 0; + -khtml-opacity: 0; + opacity: 0; + -webkit-transform: rotatey(-90deg); + transform: rotatey(-90deg); + -webkit-transform-origin: 0 50%; + transform-origin: 0 50% +} + +.hades.tp-rightarrow .tp-arr-allwrapper { + left: auto; + right: 100%; + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; + -webkit-transform: rotatey(90deg); + transform: rotatey(90deg) +} + +.hades:hover .tp-arr-allwrapper { + -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=100)"; + filter: alpha(opacity=100); + -moz-opacity: 1; + -khtml-opacity: 1; + opacity: 1; + -webkit-transform: rotatey(0); + transform: rotatey(0) +} + +.hades .tp-arr-imgholder { + background-size: cover; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% +} + +.hades.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.hades .tp-bullet { + width: 3px; + height: 3px; + position: absolute; + background: #888; + cursor: pointer; + border: 5px solid #fff; + box-sizing: content-box; + box-shadow: 0 0 3px 1px rgba(0, 0, 0, .2); + -webkit-perspective: 400; + perspective: 400; + -webkit-transform: translatez(.01px); + transform: translatez(.01px) +} + +.hades .tp-bullet.selected, .hades .tp-bullet:hover { + background: #555 +} + +.hades .tp-bullet-image { + position: absolute; + top: -80px; + left: -60px; + width: 120px; + height: 60px; + background-position: center center; + background-size: cover; + visibility: hidden; + opacity: 0; + transition: all .3s; + -webkit-transform-style: flat; + transform-style: flat; + perspective: 600; + -webkit-perspective: 600; + transform: rotatex(-90deg); + -webkit-transform: rotatex(-90deg); + box-shadow: 0 0 3px 1px rgba(0, 0, 0, .2); + transform-origin: 50% 100%; + -webkit-transform-origin: 50% 100% +} + +.hades .tp-thumb-image, .metis .tp-bullet-image { + -moz-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25) +} + +.hades .tp-thumb-image, .hades .tp-thumb-img-wrap { + padding: 3px; + border-radius: 50%; + box-sizing: border-box; + position: relative +} + +.hades .tp-bullet:hover .tp-bullet-image { + display: block; + opacity: 1; + transform: rotatex(0); + -webkit-transform: rotatex(0); + visibility: visible +} + +.hades .tp-thumb { + opacity: 1 +} + +.hades .tp-thumb-img-wrap { + display: inline-block; + background: #000; + background-color: rgba(0, 0, 0, .25); + width: 100%; + height: 100%; + margin: 0; + transition: all .3s; + -webkit-transition: all .3s +} + +.hades .tp-thumb-image { + display: block; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25) +} + +.hades .tp-thumb.selected .tp-thumb-img-wrap, .hades .tp-thumb:hover .tp-thumb-img-wrap { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.hades .tp-thumb-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(0, 0, 0, .75) transparent transparent; + bottom: -8px +} + +.hades .tp-tab { + opacity: 1 +} + +.hades .tp-tab-title { + display: block; + color: #333; + font-weight: 600; + font-size: 18px; + text-align: center; + line-height: 25px +} + +.hades .tp-tab-price { + display: block; + text-align: center; + color: #999; + font-size: 16px; + margin-top: 10px; + line-height: 20px +} + +.hades .tp-tab-button { + display: inline-block; + margin-top: 15px; + text-align: center; + padding: 5px 15px; + color: #fff; + font-size: 14px; + background: #219bd7; + border-radius: 4px; + font-weight: 400 +} + +.hebe.tparrows, .hebe.tparrows:before { + min-width: 70px; + display: block; + background: #fff; + min-height: 70px +} + +.hades .tp-tab-inner { + text-align: center +} + +.hebe.tparrows { + cursor: pointer; + position: absolute; + z-index: 100 +} + +.hebe.tparrows:before { + font-size: 30px; + color: #aaa; + line-height: 70px; + text-align: center; + -webkit-transition: color .3s; + -moz-transition: color .3s; + transition: color .3s; + z-index: 2; + position: relative +} + +.hebe.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.hebe.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.hebe.tparrows:hover:before { + color: #000 +} + +.hebe .tp-title-wrap { + position: absolute; + z-index: 0; + display: inline-block; + background: #000; + background: rgba(0, 0, 0, .75); + min-height: 60px; + line-height: 60px; + top: -10px; + margin-left: 0; + -webkit-transition: -webkit-transform .3s; + transition: transform .3s; + transform: scaleX(0); + -webkit-transform: scaleX(0); + transform-origin: 0 50%; + -webkit-transform-origin: 0 50% +} + +.hebe.tp-rightarrow .tp-title-wrap { + right: 0; + -webkit-transform-origin: 100% 50% +} + +.hebe.tparrows:hover .tp-title-wrap { + transform: scaleX(1); + -webkit-transform: scaleX(1) +} + +.hebe .tp-arr-titleholder { + position: relative; + text-transform: uppercase; + color: #fff; + font-weight: 600; + font-size: 12px; + line-height: 90px; + white-space: nowrap; + padding: 0 20px 0 90px +} + +.hebe.tp-rightarrow .tp-arr-titleholder { + margin-left: 0; + padding: 0 90px 0 20px +} + +.hebe.tp-bullets:before, .hephaistos.tp-bullets:before { + margin-top: -10px; + position: absolute; + box-sizing: content-box; + padding: 10px +} + +.hebe.tparrows:hover .tp-arr-titleholder { + transform: translateX(0); + -webkit-transform: translateX(0); + transition-delay: .1s; + opacity: 1 +} + +.hebe .tp-arr-imgholder { + width: 90px; + height: 90px; + position: absolute; + left: 100%; + display: block; + background-size: cover; + background-position: center center; + top: 0; + right: -90px +} + +.hebe.tp-rightarrow .tp-arr-imgholder { + right: auto; + left: -90px +} + +.hebe.tp-bullets:before { + content: " "; + width: 100%; + height: 100%; + background: 0 0; + margin-left: -10px +} + +.hebe .tp-bullet { + width: 3px; + height: 3px; + position: absolute; + background: #fff; + cursor: pointer; + border: 5px solid #222; + border-radius: 50%; + box-sizing: content-box; + -webkit-perspective: 400; + perspective: 400; + -webkit-transform: translateZ(.01px); + transform: translateZ(.01px); + transition: all .3s +} + +.hebe .tp-bullet.selected, .hebe .tp-bullet:hover { + background: #222; + border-color: #fff +} + +.hebe .tp-bullet-image { + position: absolute; + top: -90px; + left: -40px; + width: 70px; + height: 70px; + background-position: center center; + background-size: cover; + visibility: hidden; + opacity: 0; + transition: all .3s; + -webkit-transform-style: flat; + transform-style: flat; + perspective: 600; + -webkit-perspective: 600; + transform: scale(0); + -webkit-transform: scale(0); + transform-origin: 50% 100%; + -webkit-transform-origin: 50% 100%; + border-radius: 6px +} + +.hebe .tp-bullet:hover .tp-bullet-image { + display: block; + opacity: 1; + transform: scale(1); + -webkit-transform: scale(1); + visibility: visible +} + +.hebe .tp-tab-title { + color: #a8d8ee; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; + font-family: "Roboto Slab" + margin-bottom: 5px +} + +.hebe .tp-tab-desc { + font-size: 18px; + font-weight: 400; + color: #fff; + line-height: 25px; + font-family: "Roboto Slab" +} + +.hephaistos.tparrows:before, .hermes.tparrows:before, .hesperiden.tparrows:before { + font-family: revicons +} + +.hephaistos.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100; + border-radius: 50% +} + +.hephaistos.tparrows:hover { + background: #000 +} + +.hephaistos.tparrows:before { + font-size: 18px; + color: #fff; + display: block; + line-height: 40px; + text-align: center +} + +.hephaistos.tparrows.tp-leftarrow:before { + content: "\e82c"; + margin-left: -2px +} + +.hephaistos.tparrows.tp-rightarrow:before { + content: "\e82d"; + margin-right: -2px +} + +.hephaistos.tp-bullets:before { + content: " "; + width: 100%; + height: 100%; + background: 0 0; + margin-left: -10px +} + +.hephaistos .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #999; + border: 3px solid #f5f5f5; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box; + box-shadow: 0 0 2px 1px rgba(130, 130, 130, .3) +} + +.hephaistos .tp-bullet.selected, .hephaistos .tp-bullet:hover { + background: #fff; + border-color: #000 +} + +.hermes .tp-arr-titleholder, .hermes.tparrows { + display: block; + position: absolute; + background: #000 +} + +.hermes.tparrows { + cursor: pointer; + background: rgba(0, 0, 0, .5); + width: 30px; + height: 110px; + z-index: 100 +} + +.hermes.tparrows:before { + font-size: 15px; + color: #fff; + display: block; + line-height: 110px; + text-align: center; + transform: translateX(0); + -webkit-transform: translateX(0); + transition: all .3s; + -webkit-transition: all .3s +} + +.hermes.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.hermes.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.hermes.tparrows.tp-leftarrow:hover:before { + transform: translateX(-20px); + -webkit-transform: translateX(-20px); + opacity: 0 +} + +.hermes.tparrows.tp-rightarrow:hover:before { + transform: translateX(20px); + -webkit-transform: translateX(20px); + opacity: 0 +} + +.hermes .tp-arr-allwrapper { + overflow: hidden; + position: absolute; + width: 180px; + height: 140px; + top: 0; + left: 0; + visibility: hidden; + -webkit-transition: -webkit-transform .3s .3s; + transition: transform .3s .3s; + -webkit-perspective: 1000px; + perspective: 1000px +} + +.hermes.tp-rightarrow .tp-arr-allwrapper { + right: 0; + left: auto +} + +.hermes.tparrows:hover .tp-arr-allwrapper { + visibility: visible +} + +.hermes .tp-arr-imgholder { + width: 180px; + position: absolute; + left: 0; + top: 0; + height: 110px; + transform: translateX(-180px); + -webkit-transform: translateX(-180px); + transition: all .3s; + transition-delay: .3s +} + +.hermes.tp-rightarrow .tp-arr-imgholder { + transform: translateX(180px); + -webkit-transform: translateX(180px) +} + +.hermes.tparrows:hover .tp-arr-imgholder { + transform: translateX(0); + -webkit-transform: translateX(0) +} + +.hermes .tp-arr-titleholder { + top: 110px; + width: 180px; + text-align: left; + padding: 0 10px; + line-height: 30px; + background: rgba(0, 0, 0, .75); + color: #fff; + font-weight: 600; + font-size: 12px; + white-space: nowrap; + letter-spacing: 1px; + -webkit-transition: all .3s; + transition: all .3s; + -webkit-transform: rotateX(-90deg); + transform: rotateX(-90deg); + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; + box-sizing: border-box +} + +.hermes.tparrows:hover .tp-arr-titleholder { + -webkit-transition-delay: .6s; + transition-delay: .6s; + -webkit-transform: rotateX(0); + transform: rotateX(0) +} + +.hermes .tp-bullet { + overflow: hidden; + border-radius: 50%; + width: 16px; + height: 16px; + background-color: transparent; + box-shadow: inset 0 0 0 2px #FFF; + -webkit-transition: background .3s ease; + transition: background .3s ease; + position: absolute +} + +.hermes .tp-bullet:hover { + background-color: rgba(0, 0, 0, .2) +} + +.hermes .tp-bullet:after { + content: ' '; + position: absolute; + bottom: 0; + height: 0; + left: 0; + width: 100%; + background-color: #FFF; + box-shadow: 0 0 1px #FFF; + -webkit-transition: height .3s ease; + transition: height .3s ease +} + +.hermes .tp-bullet.selected:after { + height: 100% +} + +.hermes .tp-tab { + opacity: 1; + padding-right: 10px; + box-sizing: border-box +} + +.hermes .tp-tab-image { + width: 100%; + height: 60%; + position: relative +} + +.hermes .tp-tab-content { + background: #363636; + position: absolute; + padding: 20px 20px 20px 30px; + box-sizing: border-box; + color: #fff; + display: block; + width: 100%; + min-height: 40%; + bottom: 0; + left: -10px +} + +.hermes .tp-tab-date { + display: block; + color: #888; + font-weight: 600; + font-size: 12px; + margin-bottom: 10px +} + +.hermes .tp-tab-title { + display: block; + color: #fff; + font-size: 16px; + font-weight: 800; + text-transform: uppercase; + line-height: 19px +} + +.hermes .tp-tab.selected .tp-tab-title:after { + width: 0; + height: 0; + border-style: solid; + border-width: 30px 0 30px 10px; + border-color: transparent transparent transparent #363636; + content: " "; + position: absolute; + right: -9px; + bottom: 50%; + margin-bottom: -30px +} + +.hermes .tp-tab-mask { + padding-right: 10px !important +} + +@media only screen and (max-width: 960px) { + .hermes .tp-tab .tp-tab-title { + font-size: 14px; + line-height: 16px + } + + .hermes .tp-tab-date { + font-size: 11px; + line-height: 13px; + margin-bottom: 10px + } + + .hermes .tp-tab-content { + padding: 15px 15px 15px 25px + } +} + +@media only screen and (max-width: 768px) { + .hermes .tp-tab .tp-tab-title { + font-size: 12px; + line-height: 14px + } + + .hermes .tp-tab-date { + font-size: 10px; + line-height: 12px; + margin-bottom: 5px + } + + .hermes .tp-tab-content { + padding: 10px 10px 10px 20px + } +} + +.hesperiden.tparrows { + cursor: pointer; + background: #000; + background: rgba(0, 0, 0, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100; + border-radius: 50% +} + +.hesperiden.tparrows:hover { + background: #000 +} + +.hesperiden.tparrows:before { + font-size: 20px; + color: #fff; + display: block; + line-height: 40px; + text-align: center +} + +.hesperiden.tparrows.tp-leftarrow:before { + content: "\e82c"; + margin-left: -3px +} + +.hesperiden.tparrows.tp-rightarrow:before { + content: "\e82d"; + margin-right: -3px +} + +.hesperiden.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box; + border-radius: 8px +} + +.hesperiden .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #999; + background: -moz-linear-gradient(top, #999 0, #e1e1e1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #999), color-stop(100%, #e1e1e1)); + background: -webkit-linear-gradient(top, #999 0, #e1e1e1 100%); + background: -o-linear-gradient(top, #999 0, #e1e1e1 100%); + background: -ms-linear-gradient(top, #999 0, #e1e1e1 100%); + background: linear-gradient(to bottom, #999 0, #e1e1e1 100%); + filter: progid:dximagetransform.microsoft.gradient( + startcolorstr="#999999", endcolorstr="#e1e1e1", gradienttype=0); + border: 3px solid #e5e5e5; + border-radius: 50%; + cursor: pointer; + box-sizing: content-box +} + +.hesperiden .tp-bullet.selected, .hesperiden .tp-bullet:hover { + background: #666 +} + +.hesperiden .tp-thumb { + opacity: 1; + -webkit-perspective: 600px; + perspective: 600px +} + +.hesperiden .tp-thumb .tp-thumb-title { + font-size: 12px; + position: absolute; + margin-top: -10px; + color: #fff; + display: block; + z-index: 1000; + background-color: #000; + padding: 5px 10px; + bottom: 0; + left: 0; + width: 100%; + box-sizing: border-box; + text-align: center; + overflow: hidden; + white-space: nowrap; + transition: all .3s; + -webkit-transition: all .3s; + transform: rotatex(90deg) translatez(0); + transform-origin: 50% 100%; + -webkit-transform: rotatex(90deg) translatez(0); + -webkit-transform-origin: 50% 100%; + opacity: 0 +} + +.hesperiden .tp-thumb:hover .tp-thumb-title { + transform: rotatex(0); + -webkit-transform: rotatex(0); + opacity: 1 +} + +.hesperiden .tp-tab { + opacity: 1; + padding: 10px; + box-sizing: border-box; + font-family: Roboto, sans-serif; + border-bottom: 1px solid #e5e5e5 +} + +.persephone.tparrows:before, .zeus .tp-thumb-more:before, .zeus.tparrows:before { + font-family: revicons +} + +.hesperiden .tp-tab-image { + width: 60px; + height: 60px; + max-height: 100%; + max-width: 100%; + position: relative; + display: inline-block; + float: left +} + +.hesperiden .tp-tab-content { + background: 0 0; + padding: 15px 15px 15px 85px; + left: 0; + overflow: hidden; + margin-top: -15px; + box-sizing: border-box; + color: #333; + display: inline-block; + width: 100%; + height: 100%; + position: absolute +} + +.hesperiden .tp-tab-date { + display: block; + color: #aaa; + font-weight: 500; + font-size: 12px; + margin-bottom: 0 +} + +.hesperiden .tp-tab-title { + display: block; + text-align: left; + color: #333; + font-size: 14px; + font-weight: 500; + text-transform: none; + line-height: 17px +} + +.hesperiden .tp-tab.selected, .hesperiden .tp-tab:hover { + background: #eee +} + +.metis.tparrows { + background: #fff; + padding: 10px; + transition: all .3s; + -webkit-transition: all .3s; + width: 60px; + height: 60px; + box-sizing: border-box +} + +.metis.tparrows:hover { + background: #fff; + background: rgba(255, 255, 255, .75) +} + +.metis.tparrows:before { + color: #000; + transition: all .3s; + -webkit-transition: all .3s +} + +.metis.tparrows:hover:before { + transform: scale(1.5) +} + +.metis .tp-bullet { + opacity: 1; + width: 50px; + height: 50px; + padding: 3px; + background: #000; + background-color: rgba(0, 0, 0, .25); + margin: 0; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + border-radius: 50% +} + +.metis .tp-bullet-image { + border-radius: 50%; + display: block; + box-sizing: border-box; + position: relative; + -webkit-box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + box-shadow: inset 5px 5px 10px 0 rgba(0, 0, 0, .25); + width: 44px; + height: 44px; + background-size: cover; + background-position: center center +} + +.metis .tp-bullet-title { + position: absolute; + bottom: 65px; + display: inline-block; + left: 50%; + background: #000; + background: rgba(0, 0, 0, .75); + color: #fff; + padding: 10px 30px; + border-radius: 4px; + -webkit-border-radius: 4px; + transition: all .3s; + -webkit-transition: all .3s; + transform: translateZ(0) translateX(-50%) translateY(14px); + transform-origin: 50% 100%; + -webkit-transform: translateZ(0) translateX(-50%) translateY(14px); + -webkit-transform-origin: 50% 100%; + opacity: 0; + white-space: nowrap +} + +.metis .tp-bullet:hover .tp-bullet-title { + transform: rotateX(0) translateX(-50%); + -webkit-transform: rotateX(0) translateX(-50%); + opacity: 1 +} + +.metis .tp-bullet.selected, .metis .tp-bullet:hover { + background: rgba(255, 255, 255, 1); + background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0, rgba(255, 255, 255, 1)), color-stop(100%, rgba(119, 119, 119, 1))); + background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(119, 119, 119, 1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#777777", GradientType=0) +} + +.metis .tp-bullet-title:after { + content: " "; + position: absolute; + left: 50%; + margin-left: -8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0; + border-color: rgba(0, 0, 0, .75) transparent transparent; + bottom: -8px +} + +.persephone.tparrows { + cursor: pointer; + background: #aaa; + background: rgba(200, 200, 200, .5); + width: 40px; + height: 40px; + position: absolute; + display: block; + z-index: 100; + border: 1px solid #f5f5f5 +} + +.persephone.tparrows:hover { + background: #333 +} + +.persephone.tparrows:before { + font-size: 15px; + color: #fff; + display: block; + line-height: 40px; + text-align: center +} + +.persephone.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.persephone.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.persephone.tp-bullets:before { + content: " "; + position: absolute; + width: 100%; + height: 100%; + background: 0 0; + padding: 10px; + margin-left: -10px; + margin-top: -10px; + box-sizing: content-box +} + +.persephone .tp-bullet { + width: 12px; + height: 12px; + position: absolute; + background: #aaa; + border: 1px solid #e5e5e5; + cursor: pointer; + box-sizing: content-box +} + +.persephone .tp-bullet.selected, .persephone .tp-bullet:hover { + background: #222 +} + +.uranus.tparrows { + width: 50px; + height: 50px; + background: 0 0 +} + +.uranus.tparrows:before { + width: 50px; + height: 50px; + line-height: 50px; + font-size: 40px; + transition: all .3s; + -webkit-transition: all .3s +} + +.uranus.tparrows:hover:before { + opacity: .75 +} + +.uranus .tp-bullet { + border-radius: 50%; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0); + -webkit-transition: box-shadow .3s ease; + transition: box-shadow .3s ease; + background: 0 0 +} + +.uranus .tp-bullet.selected, .uranus .tp-bullet:hover { + box-shadow: 0 0 0 2px #FFF; + border: none; + border-radius: 50%; + background: 0 0 +} + +.uranus .tp-bullet-inner { + -webkit-transition: background-color .3s ease, -webkit-transform .3s ease; + transition: background-color .3s ease, transform .3s ease; + top: 0; + left: 0; + width: 100%; + height: 100%; + outline: 0; + border-radius: 50%; + background-color: #FFF; + background-color: rgba(255, 255, 255, .3); + text-indent: -999em; + cursor: pointer; + position: absolute +} + +.uranus .tp-bullet.selected .tp-bullet-inner, .uranus .tp-bullet:hover .tp-bullet-inner { + transform: scale(.4); + -webkit-transform: scale(.4); + background-color: #fff +} + +.zeus.tparrows { + cursor: pointer; + min-width: 70px; + min-height: 70px; + position: absolute; + display: block; + z-index: 100; + border-radius: 35px; + overflow: hidden; + background: rgba(0, 0, 0, .1) +} + +.zeus.tparrows:before { + font-size: 20px; + color: #fff; + display: block; + line-height: 70px; + text-align: center; + z-index: 2; + position: relative +} + +.zeus.tparrows.tp-leftarrow:before { + content: "\e824" +} + +.post-tabs .tp-thumb-more:before, .zeus .tp-thumb-more:before, .zeus.tparrows.tp-rightarrow:before { + content: "\e825" +} + +.zeus .tp-title-wrap { + background: #000; + background: rgba(0, 0, 0, .5); + opacity: 0; + transform: scale(0); + -webkit-transform: scale(0); + -webkit-transition: all .3s; + -moz-transition: all .3s; + border-radius: 50% +} + +.zeus .tp-arr-imgholder, .zeus .tp-title-wrap { + top: 0; + position: absolute; + left: 0; + width: 100%; + height: 100%; + transition: all .3s +} + +.zeus .tp-arr-imgholder { + background-position: center center; + background-size: cover; + border-radius: 50%; + transform: translateX(-100%); + -webkit-transform: translateX(-100%); + -webkit-transition: all .3s; + -moz-transition: all .3s +} + +.zeus.tp-rightarrow .tp-arr-imgholder { + transform: translateX(100%); + -webkit-transform: translateX(100%) +} + +.zeus.tparrows:hover .tp-arr-imgholder { + transform: translateX(0); + -webkit-transform: translateX(0); + opacity: 1 +} + +.zeus.tparrows:hover .tp-title-wrap { + transform: scale(1); + -webkit-transform: scale(1); + opacity: 1 +} + +.zeus .tp-bullet { + box-sizing: content-box; + -webkit-box-sizing: content-box; + border-radius: 50%; + background-color: transparent; + -webkit-transition: opacity .3s ease; + transition: opacity .3s ease; + width: 13px; + height: 13px; + border: 2px solid #fff +} + +.zeus .tp-bullet:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + left: 0; + border-radius: 50%; + background-color: #FFF; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: -webkit-transform .3s ease; + transition: transform .3s ease +} + +.zeus .tp-bullet.selected:after, .zeus .tp-bullet:hover:after { + -webkit-transform: scale(1.2); + transform: scale(1.2) +} + +.zeus .tp-bullet-image, .zeus .tp-bullet-imageoverlay { + height: 60px; + background: #000; + background: rgba(0, 0, 0, .5); + bottom: 25px; + left: 50%; + margin-left: -65px; + box-sizing: border-box; + background-size: cover; + background-position: center center; + backface-visibility: hidden; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all .3s ease; + transition: all .3s ease; + border-radius: 4px +} + +.zeus .tp-bullet-image, .zeus .tp-bullet-imageoverlay, .zeus .tp-bullet-title { + visibility: hidden; + opacity: 0; + -webkit-backface-visibility: hidden; + position: absolute; + width: 135px +} + +.zeus .tp-bullet-imageoverlay, .zeus .tp-bullet-title { + z-index: 2; + -webkit-transition: all .5s ease; + transition: all .5s ease +} + +.zeus .tp-bullet-title { + color: #fff; + text-align: center; + line-height: 15px; + font-size: 13px; + font-weight: 600; + z-index: 3; + backface-visibility: hidden; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all .3s ease; + transition: all .3s ease; + bottom: 45px; + vertical-align: middle; + left: -57px +} + +.post-tabs .tp-thumb, .zeus .tp-tab, .zeus .tp-thumb { + opacity: 1 +} + +.zeus .tp-bullet:hover .tp-bullet-image, .zeus .tp-bullet:hover .tp-bullet-imageoverlay, .zeus .tp-bullet:hover .tp-bullet-title { + opacity: 1; + visibility: visible; + -webkit-transform: translateY(0); + transform: translateY(0) +} + +.zeus .tp-thumb-over { + background: #000; + background: rgba(0, 0, 0, .25); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; + -webkit-transition: all .3s; + transition: all .3s +} + +.zeus .tp-thumb-more:before, .zeus .tp-thumb-title { + display: block; + font-size: 12px; + text-align: left; + position: absolute; + z-index: 2 +} + +.zeus .tp-thumb-more:before { + color: #aaa; + color: rgba(255, 255, 255, .75); + line-height: 12px; + top: 20px; + right: 20px +} + +.zeus .tp-thumb-title { + font-family: Raleway; + letter-spacing: 1px; + color: #fff; + line-height: 15px; + top: 0; + left: 0; + padding: 20px 35px 20px 20px; + width: 100%; + height: 100%; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + font-weight: 500 +} + +.zeus .tp-thumb.selected .tp-thumb-more:before, .zeus .tp-thumb:hover .tp-thumb-more:before { + color: #aaa +} + +.zeus .tp-thumb.selected .tp-thumb-over, .zeus .tp-thumb:hover .tp-thumb-over { + background: #000 +} + +.zeus .tp-thumb.selected .tp-thumb-title, .zeus .tp-thumb:hover .tp-thumb-title { + color: #fff +} + +.zeus .tp-tab { + box-sizing: border-box +} + +.zeus .tp-tab-title { + display: block; + text-align: center; + background: rgba(0, 0, 0, .25); + font-family: "Roboto Slab", serif; + font-weight: 700; + font-size: 13px; + line-height: 13px; + color: #fff; + padding: 9px 10px +} + +.zeus .tp-tab.selected .tp-tab-title, .zeus .tp-tab:hover .tp-tab-title { + color: #000; + background: rgba(255, 255, 255, 1) +} + +.post-tabs .tp-thumb-over { + background: #252525; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; + -webkit-transition: all .3s; + transition: all .3s +} + +.post-tabs .tp-thumb-more:before, .post-tabs .tp-thumb-title { + font-size: 12px; + display: block; + text-align: left; + position: absolute; + z-index: 2 +} + +.post-tabs .tp-thumb-more:before { + font-family: revicons; + color: #aaa; + color: rgba(255, 255, 255, .75); + line-height: 12px; + top: 15px; + right: 15px +} + +.post-tabs .tp-thumb-title { + font-family: raleway; + letter-spacing: 1px; + color: #fff; + line-height: 15px; + top: 0; + left: 0; + padding: 15px 30px 15px 15px; + width: 100%; + height: 100%; + box-sizing: border-box; + transition: all .3s; + -webkit-transition: all .3s; + font-weight: 500 +} + +.post-tabs .tp-thumb.selected .tp-thumb-more:before, .post-tabs .tp-thumb:hover .tp-thumb-more:before { + color: #aaa +} + +.post-tabs .tp-thumb.selected .tp-thumb-over, .post-tabs .tp-thumb:hover .tp-thumb-over { + background: #fff +} + +.post-tabs .tp-thumb.selected .tp-thumb-title, .post-tabs .tp-thumb:hover .tp-thumb-title { + color: #000 +} + +/* Layers Styles +-------------------------------------------------------*/ +.large_text, .medium_grey, .medium_text, .small_text, .tp-caption.large_text, .tp-caption.medium_grey, .tp-caption.medium_text, .tp-caption.small_text { + font-weight: 700; + text-shadow: 0 2px 5px rgba(0, 0, 0, .5); + white-space: nowrap; + border-style: none; + border-width: 0; + font-family: Arial; + margin: 0; + position: absolute +} + +.tp-caption.Twitter-Content a, .tp-caption.Twitter-Content a:visited { + color: #0084B4 !important +} + +.tp-caption.Twitter-Content a:hover { + color: #0084B4 !important; + text-decoration: underline !important +} + +.medium_grey, .tp-caption.medium_grey { + background-color: #888; + color: #fff; + font-size: 20px; + line-height: 20px; + padding: 2px 4px +} + +.small_text, .tp-caption.small_text { + color: #fff; + font-size: 14px; + line-height: 20px +} + +.medium_text, .tp-caption.medium_text { + color: #fff; + font-size: 20px; + line-height: 20px +} + +.large_text, .tp-caption.large_text { + color: #fff; + font-size: 40px; + line-height: 40px +} + +.tp-caption.very_large_text, .very_large_text { + border-style: none; + border-width: 0; + color: #fff; + font-family: Arial; + font-size: 60px; + font-weight: 700; + letter-spacing: -2px; + line-height: 60px; + margin: 0; + position: absolute; + text-shadow: 0 2px 5px rgba(0, 0, 0, .5); + white-space: nowrap +} + +.tp-caption.very_big_black, .tp-caption.very_big_white, .very_big_black, .very_big_white { + border-style: none; + border-width: 0; + font-family: Arial; + font-size: 60px; + line-height: 60px; + margin: 0; + padding: 1px 4px 0; + position: absolute; + text-shadow: none; + white-space: nowrap +} + +.tp-caption.very_big_white, .very_big_white { + background-color: #000; + color: #fff; + font-weight: 800 +} + +.tp-caption.very_big_black, .very_big_black { + background-color: #fff; + color: #000; + font-weight: 700 +} + +.modern_medium_fat, .modern_medium_fat_white, .modern_medium_light, .tp-caption.modern_medium_fat, .tp-caption.modern_medium_fat_white, .tp-caption.modern_medium_light { + white-space: nowrap; + font-family: "Open Sans", sans-serif; + font-size: 24px; + line-height: 20px; + margin: 0; + position: absolute; + text-shadow: none +} + +.modern_medium_fat, .tp-caption.modern_medium_fat { + border-style: none; + border-width: 0; + color: #000; + font-weight: 800 +} + +.modern_medium_fat_white, .tp-caption.modern_medium_fat_white { + border-style: none; + border-width: 0; + color: #fff; + font-weight: 800 +} + +.modern_medium_light, .tp-caption.modern_medium_light { + border-style: none; + border-width: 0; + color: #000; + font-weight: 300 +} + +.modern_big_bluebg, .modern_big_redbg, .tp-caption.modern_big_bluebg, .tp-caption.modern_big_redbg { + margin: 0; + border-style: none; + border-width: 0; + text-shadow: none; + position: absolute; + color: #fff; + font-family: "Open Sans", sans-serif; + font-size: 30px; + letter-spacing: 0; + line-height: 36px +} + +.modern_big_bluebg, .tp-caption.modern_big_bluebg { + background-color: #4e5b6c; + font-weight: 800; + padding: 3px 10px +} + +.modern_big_redbg, .tp-caption.modern_big_redbg { + background-color: #de543e; + font-weight: 300; + padding: 1px 10px 3px +} + +.modern_small_text_dark, .tp-caption.modern_small_text_dark { + border-style: none; + border-width: 0; + color: #555; + font-family: Arial; + font-size: 14px; + line-height: 22px; + margin: 0; + position: absolute; + text-shadow: none; + white-space: nowrap +} + +.boxshadow, .tp-caption.boxshadow { + -moz-box-shadow: 0 0 20px rgba(0, 0, 0, .5); + -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .5); + box-shadow: 0 0 20px rgba(0, 0, 0, .5) +} + +.black, .tp-caption.black { + color: #000; + text-shadow: none +} + +.thinheadline_dark, .thintext_dark, .tp-caption.thinheadline_dark, .tp-caption.thintext_dark { + background-color: transparent; + color: rgba(0, 0, 0, .85); + font-family: "Open Sans"; + font-weight: 300; + position: absolute; + text-shadow: none +} + +.noshadow, .tp-caption.noshadow { + text-shadow: none +} + +.thinheadline_dark, .tp-caption.thinheadline_dark { + font-size: 30px; + line-height: 30px +} + +.thintext_dark, .tp-caption.thintext_dark { + font-size: 16px; + line-height: 26px +} + +.largeblackbg, .largepinkbg, .tp-caption.largeblackbg, .tp-caption.largepinkbg { + text-shadow: none; + font-family: "Open Sans"; + font-size: 50px; + font-weight: 300; + line-height: 70px; + padding: 0 20px; + position: absolute; + color: #fff +} + +.largeblackbg, .tp-caption.largeblackbg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #000; + border-radius: 0 +} + +.largepinkbg, .tp-caption.largepinkbg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #db4360; + border-radius: 0 +} + +.largewhitebg, .tp-caption.largewhitebg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #fff; + border-radius: 0; + color: #000; + font-family: "Open Sans"; + font-size: 50px; + font-weight: 300; + line-height: 70px; + padding: 0 20px; + position: absolute; + text-shadow: none +} + +.largegreenbg, .tp-caption.largegreenbg { + -moz-border-radius: 0; + -webkit-border-radius: 0; + background-color: #67ae73; + border-radius: 0; + color: #fff; + font-family: "Open Sans"; + font-size: 50px; + font-weight: 300; + line-height: 70px; + padding: 0 20px; + position: absolute; + text-shadow: none +} + +.excerpt, .tp-caption.excerpt { + background-color: rgba(0, 0, 0, 1); + border-color: #fff; + border-style: none; + border-width: 0; + color: #fff; + font-family: Arial; + font-size: 36px; + font-weight: 700; + height: auto; + letter-spacing: -1.5px; + line-height: 36px; + margin: 0; + padding: 1px 4px 0; + text-decoration: none; + text-shadow: none; + white-space: normal !important; + width: 150px +} + +.large_bold_grey, .tp-caption.large_bold_grey { + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #666; + font-family: "Open Sans"; + font-size: 60px; + font-weight: 800; + line-height: 60px; + margin: 0; + padding: 1px 4px 0; + text-decoration: none; + text-shadow: none +} + +.medium_thin_grey, .small_thin_grey, .tp-caption.medium_thin_grey, .tp-caption.small_thin_grey { + text-shadow: none; + border-style: none; + border-width: 0; + text-decoration: none; + background-color: transparent; + border-color: #ffd658; + font-family: "Open Sans"; + font-weight: 300; + margin: 0; + padding: 1px 4px 0 +} + +.medium_thin_grey, .tp-caption.medium_thin_grey { + color: #666; + font-size: 34px; + line-height: 30px +} + +.small_thin_grey, .tp-caption.small_thin_grey { + color: #757575; + font-size: 18px; + line-height: 26px +} + +.lightgrey_divider, .tp-caption.lightgrey_divider { + background-color: rgba(235, 235, 235, 1); + background-position: initial initial; + background-repeat: initial initial; + border-color: #222; + border-style: none; + border-width: 0; + height: 3px; + text-decoration: none; + width: 370px +} + +.large_bold_darkblue, .medium_bg_darkblue, .medium_bold_red, .tp-caption.large_bold_darkblue, .tp-caption.medium_bg_darkblue, .tp-caption.medium_bold_red { + border-color: #ffd658; + font-family: "Open Sans"; + font-weight: 800 +} + +.large_bold_darkblue, .tp-caption.large_bold_darkblue { + background-color: transparent; + border-style: none; + border-width: 0; + color: #34495e; + font-size: 58px; + line-height: 60px; + text-decoration: none +} + +.medium_bg_darkblue, .tp-caption.medium_bg_darkblue { + background-color: #34495e; + border-style: none; + border-width: 0; + color: #fff; + font-size: 20px; + line-height: 20px; + padding: 10px; + text-decoration: none +} + +.medium_bold_red, .medium_light_red, .tp-caption.medium_bold_red, .tp-caption.medium_light_red { + padding: 0; + border-style: none; + border-width: 0; + background-color: transparent; + color: #e33a0c; + text-decoration: none +} + +.medium_bold_red, .tp-caption.medium_bold_red { + font-size: 24px; + line-height: 30px +} + +.medium_light_red, .tp-caption.medium_light_red { + border-color: #ffd658; + font-family: "Open Sans"; + font-size: 21px; + font-weight: 300; + line-height: 26px +} + +.medium_bg_red, .medium_bold_orange, .tp-caption.medium_bg_red, .tp-caption.medium_bold_orange { + border-color: #ffd658; + font-family: "Open Sans"; + font-weight: 800; + text-decoration: none +} + +.medium_bg_red, .tp-caption.medium_bg_red { + background-color: #e33a0c; + border-style: none; + border-width: 0; + color: #fff; + font-size: 20px; + line-height: 20px; + padding: 10px +} + +.medium_bold_orange, .tp-caption.medium_bold_orange { + background-color: transparent; + border-style: none; + border-width: 0; + color: #f39c12; + font-size: 24px; + line-height: 30px +} + +.large_bold_white, .medium_bg_orange, .tp-caption.large_bold_white, .tp-caption.medium_bg_orange { + text-decoration: none; + border-style: none; + border-width: 0; + color: #fff; + font-family: "Open Sans"; + font-weight: 800 +} + +.medium_bg_orange, .tp-caption.medium_bg_orange { + background-color: #f39c12; + border-color: #ffd658; + font-size: 20px; + line-height: 20px; + padding: 10px +} + +.grassfloor, .tp-caption.grassfloor { + background-color: rgba(160, 179, 151, 1); + border-color: #222; + border-style: none; + border-width: 0; + height: 150px; + text-decoration: none; + width: 4000px +} + +.large_bold_white, .tp-caption.large_bold_white { + background-color: transparent; + border-color: #ffd658; + font-size: 58px; + line-height: 60px +} + +.medium_light_white, .tp-caption.medium_light_white { + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #fff; + font-family: "Open Sans"; + font-size: 30px; + font-weight: 300; + line-height: 36px; + padding: 0; + text-decoration: none +} + +.mediumlarge_light_white, .mediumlarge_light_white_center, .tp-caption.mediumlarge_light_white, .tp-caption.mediumlarge_light_white_center { + color: #fff; + font-family: "Open Sans"; + text-decoration: none; + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + font-size: 34px; + font-weight: 300; + line-height: 40px; + padding: 0 +} + +.mediumlarge_light_white_center, .tp-caption.mediumlarge_light_white_center { + text-align: center +} + +.medium_bg_asbestos, .tp-caption.medium_bg_asbestos { + background-color: #7f8c8d; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #fff; + font-family: "Open Sans"; + font-size: 20px; + font-weight: 800; + line-height: 20px; + padding: 10px; + text-decoration: none +} + +.large_bold_black, .medium_light_black, .tp-caption.large_bold_black, .tp-caption.medium_light_black { + border-color: #ffd658; + font-family: "Open Sans"; + text-decoration: none; + border-style: none; + border-width: 0; + color: #000 +} + +.medium_light_black, .tp-caption.medium_light_black { + background-color: transparent; + font-size: 30px; + font-weight: 300; + line-height: 36px; + padding: 0 +} + +.large_bold_black, .tp-caption.large_bold_black { + background-color: transparent; + font-size: 58px; + font-weight: 800; + line-height: 60px +} + +.mediumlarge_light_darkblue, .tp-caption.mediumlarge_light_darkblue { + background-color: transparent; + border-color: #ffd658; + border-style: none; + border-width: 0; + color: #34495e; + font-family: "Open Sans"; + font-size: 34px; + font-weight: 300; + line-height: 40px; + padding: 0; + text-decoration: none +} + +.large_bg_black, .small_light_white, .tp-caption.large_bg_black, .tp-caption.small_light_white { + text-decoration: none; + border-style: none; + border-width: 0; + font-family: "Open Sans"; + color: #fff +} + +.small_light_white, .tp-caption.small_light_white { + background-color: transparent; + border-color: #ffd658; + font-size: 17px; + font-weight: 300; + line-height: 28px; + padding: 0 +} + +.roundedimage, .tp-caption.roundedimage { + border-color: #222; + border-style: none; + border-width: 0 +} + +.large_bg_black, .tp-caption.large_bg_black { + background-color: #000; + border-color: #ffd658; + font-size: 40px; + font-weight: 800; + line-height: 40px; + padding: 10px 20px 15px +} + +.mediumwhitebg, .tp-caption.mediumwhitebg { + background-color: #fff; + border-color: #000; + border-style: none; + border-width: 0; + color: #000; + font-family: "Open Sans"; + font-size: 30px; + font-weight: 300; + line-height: 30px; + padding: 5px 15px 10px; + text-decoration: none; + text-shadow: none +} + +.maincaption, .tp-caption.maincaption { + background-color: transparent; + border-color: #000; + border-style: none; + border-width: 0; + color: #212a40; + font-family: roboto; + font-size: 33px; + font-weight: 500; + line-height: 43px; + text-decoration: none; + text-shadow: none +} + +.miami_subtitle, .miami_title_60px, .tp-caption.miami_subtitle, .tp-caption.miami_title_60px { + text-decoration: none; + background-color: transparent; + border-color: #000; + border-style: none; + border-width: 0; + font-family: "Source Sans Pro"; + text-shadow: none +} + +.miami_title_60px, .tp-caption.miami_title_60px { + color: #fff; + font-size: 60px; + font-weight: 700; + letter-spacing: 1px; + line-height: 60px +} + +.miami_subtitle, .tp-caption.miami_subtitle { + color: rgba(255, 255, 255, .65); + font-size: 17px; + font-weight: 400; + letter-spacing: 2px; + line-height: 24px +} + +.Miami_nostyle, .divideline30px, .tp-caption.Miami_nostyle, .tp-caption.divideline30px { + border-color: #222; + border-style: none; + border-width: 0 +} + +.divideline30px, .tp-caption.divideline30px { + background: #fff; + height: 2px; + min-width: 30px; + text-decoration: none +} + +.miami_content_dark, .miami_content_light, .miami_title_60px_dark, .tp-caption.miami_content_dark, .tp-caption.miami_content_light, .tp-caption.miami_title_60px_dark { + border-style: none; + border-width: 0; + text-decoration: none; + text-shadow: none; + background-color: transparent; + border-color: #000; + font-family: "Source Sans Pro" +} + +.miami_content_light, .tp-caption.miami_content_light { + color: #fff; + font-size: 22px; + font-weight: 400; + letter-spacing: 0; + line-height: 28px +} + +.miami_title_60px_dark, .tp-caption.miami_title_60px_dark { + color: #333; + font-size: 60px; + font-weight: 700; + letter-spacing: 1px; + line-height: 60px +} + +.miami_content_dark, .tp-caption.miami_content_dark { + color: #666; + font-size: 22px; + font-weight: 400; + letter-spacing: 0; + line-height: 28px +} + +.divideline30px_dark, .tp-caption.divideline30px_dark { + background-color: #333; + border-color: #222; + border-style: none; + border-width: 0; + height: 2px; + min-width: 30px; + text-decoration: none +} + +.ellipse70px, .tp-caption.ellipse70px { + background-color: rgba(0, 0, 0, .14902); + border-color: #222; + border-radius: 50px; + border-style: none; + border-width: 0; + cursor: pointer; + line-height: 1px; + min-height: 70px; + min-width: 70px; + text-decoration: none +} + +.arrowicon, .tp-caption.arrowicon { + border-color: #222; + border-style: none; + border-width: 0; + line-height: 1px +} + +.MarkerDisplay, .tp-caption.MarkerDisplay { + background-color: transparent; + border-color: #000; + border-radius: 0; + border-style: none; + border-width: 0; + font-family: Permanent Marker; + font-style: normal; + padding: 0; + text-decoration: none; + text-shadow: none +} + +.Restaurant-Cursive, .Restaurant-Display, .tp-caption.Restaurant-Cursive, .tp-caption.Restaurant-Display { + padding: 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: #fff; + font-style: normal +} + +.Restaurant-Display, .tp-caption.Restaurant-Display { + font-family: Roboto; + font-size: 120px; + font-weight: 700; + line-height: 120px +} + +.Restaurant-Cursive, .tp-caption.Restaurant-Cursive { + font-family: Nothing you could do; + font-size: 30px; + font-weight: 400; + letter-spacing: 2px; + line-height: 30px +} + +.Restaurant-ScrollDownText, .tp-caption.Restaurant-ScrollDownText { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: #fff; + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 400; + letter-spacing: 2px; + line-height: 17px; + padding: 0; + text-decoration: none +} + +.Restaurant-Description, .Restaurant-Price, .tp-caption.Restaurant-Description, .tp-caption.Restaurant-Price { + border-radius: 0; + font-family: Roboto; + font-style: normal; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + color: #fff; + font-weight: 300; + letter-spacing: 3px; + line-height: 30px; + padding: 0 +} + +.Restaurant-Description, .tp-caption.Restaurant-Description { + font-size: 20px +} + +.Restaurant-Price, .tp-caption.Restaurant-Price { + font-size: 30px +} + +.Restaurant-Menuitem, .tp-caption.Restaurant-Menuitem { + background-color: rgba(0, 0, 0, 1); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 400; + letter-spacing: 2px; + line-height: 17px; + padding: 10px 30px; + text-align: left; + text-decoration: none +} + +.Furniture-LogoText, .Furniture-Plus, .tp-caption.Furniture-LogoText, .tp-caption.Furniture-Plus { + border-color: transparent; + border-style: none; + border-width: 0; + color: rgba(230, 207, 163, 1); + font-family: Raleway; + font-style: normal; + text-decoration: none; + text-shadow: none +} + +.Furniture-LogoText, .tp-caption.Furniture-LogoText { + background-color: transparent; + border-radius: 0; + font-size: 160px; + font-weight: 300; + line-height: 150px; + padding: 0 +} + +.Furniture-Plus, .tp-caption.Furniture-Plus { + background-color: rgba(255, 255, 255, 1); + border-radius: 30px; + box-shadow: rgba(0, 0, 0, .1) 0 1px 3px; + font-size: 20px; + font-weight: 400; + line-height: 20px; + padding: 6px 7px 4px +} + +.Furniture-Subtitle, .Furniture-Title, .tp-caption.Furniture-Subtitle, .tp-caption.Furniture-Title { + text-shadow: none; + color: rgba(0, 0, 0, 1); + font-family: Raleway; + font-style: normal; + line-height: 20px; + padding: 0; + text-decoration: none +} + +.Furniture-Title, .tp-caption.Furniture-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px; + font-weight: 700; + letter-spacing: 3px +} + +.Furniture-Subtitle, .tp-caption.Furniture-Subtitle { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 17px; + font-weight: 300 +} + +.Fashion-SmallText, .Gym-Display, .Gym-SmallText, .Gym-Subline, .tp-caption.Fashion-SmallText, .tp-caption.Gym-Display, .tp-caption.Gym-SmallText, .tp-caption.Gym-Subline { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-style: normal; + padding: 0; + text-decoration: none +} + +.Gym-Display, .tp-caption.Gym-Display { + font-size: 80px; + font-weight: 900; + line-height: 70px +} + +.Gym-Subline, .tp-caption.Gym-Subline { + font-size: 30px; + font-weight: 100; + letter-spacing: 5px; + line-height: 30px +} + +.Gym-SmallText, .tp-caption.Gym-SmallText { + font-size: 17px; + font-weight: 300; + line-height: 22; + text-shadow: none +} + +.Fashion-SmallText, .tp-caption.Fashion-SmallText { + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + line-height: 20px +} + +.Fashion-BigDisplay, .Fashion-TextBlock, .tp-caption.Fashion-BigDisplay, .tp-caption.Fashion-TextBlock { + color: rgba(0, 0, 0, 1); + font-family: Raleway; + font-style: normal; + letter-spacing: 2px; + padding: 0; + text-decoration: none +} + +.Fashion-BigDisplay, .tp-caption.Fashion-BigDisplay { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 60px; + font-weight: 900; + line-height: 60px +} + +.Fashion-TextBlock, .tp-caption.Fashion-TextBlock { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px; + font-weight: 400; + line-height: 40px +} + +.Sports-Display, .Sports-DisplayFat, .tp-caption.Sports-Display, .tp-caption.Sports-DisplayFat { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-width: 0; + text-decoration: none; + font-style: normal; + padding: 0; + border-style: none; + font-family: Raleway; + color: rgba(255, 255, 255, 1); + font-size: 130px; + line-height: 130px +} + +.Sports-Display, .tp-caption.Sports-Display { + font-weight: 100; + letter-spacing: 13px +} + +.Sports-DisplayFat, .tp-caption.Sports-DisplayFat { + font-weight: 900 +} + +.Sports-Subline, .tp-caption.Sports-Subline { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(0, 0, 0, 1); + font-family: Raleway; + font-size: 32px; + font-style: normal; + font-weight: 400; + letter-spacing: 4px; + line-height: 32px; + padding: 0; + text-decoration: none +} + +.Instagram-Caption, .tp-caption.Instagram-Caption { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Roboto; + font-size: 20px; + font-style: normal; + font-weight: 900; + line-height: 20px; + padding: 0; + text-decoration: none +} + +.News-Subtitle, .News-Title, .tp-caption.News-Subtitle, .tp-caption.News-Title { + padding: 0; + font-style: normal; + border-style: none; + color: rgba(255, 255, 255, 1); + font-family: Roboto Slab +} + +.News-Title, .tp-caption.News-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-width: 0; + font-size: 70px; + font-weight: 400; + line-height: 60px; + text-decoration: none +} + +.News-Subtitle, .News-Subtitle:hover, .tp-caption.News-Subtitle, .tp-caption.News-Subtitle:hover { + border-color: transparent; + text-decoration: none; + background-color: rgba(255, 255, 255, 0); + border-radius: 0; + border-width: 0 +} + +.News-Subtitle, .tp-caption.News-Subtitle { + font-size: 15px; + font-weight: 300; + line-height: 24px +} + +.News-Subtitle:hover, .tp-caption.News-Subtitle:hover { + border-style: solid; + color: rgba(255, 255, 255, .65) +} + +.Photography-Display, .tp-caption.Photography-Display { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 80px; + font-style: normal; + font-weight: 100; + letter-spacing: 5px; + line-height: 70px; + padding: 0; + text-decoration: none +} + +.Photography-ImageHover, .Photography-Menuitem, .Photography-Subline, .tp-caption.Photography-ImageHover, .tp-caption.Photography-Menuitem, .tp-caption.Photography-Subline { + font-style: normal; + text-decoration: none; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px +} + +.Photography-Subline, .tp-caption.Photography-Subline { + background-color: transparent; + border-color: transparent; + color: rgba(119, 119, 119, 1); + font-family: Raleway; + font-weight: 300; + letter-spacing: 3px; + line-height: 30px; + padding: 0 +} + +.Photography-ImageHover, .tp-caption.Photography-ImageHover { + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + color: rgba(255, 255, 255, 1); + font-weight: 400; + line-height: 22; + padding: 0 +} + +.Photography-ImageHover:hover, .tp-caption.Photography-ImageHover:hover { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Photography-Menuitem, .tp-caption.Photography-Menuitem { + background-color: rgba(0, 0, 0, .65); + border-color: transparent; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-weight: 300; + letter-spacing: 2px; + line-height: 20px; + padding: 3px 5px 3px 8px +} + +.Photography-Menuitem:hover, .tp-caption.Photography-Menuitem:hover { + background-color: rgba(0, 255, 222, .65); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Photography-Textblock, .tp-caption.Photography-Textblock { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 17px; + font-style: normal; + font-weight: 300; + letter-spacing: 2px; + line-height: 30px; + padding: 0; + text-decoration: none +} + +.Photography-ImageHover2, .Photography-Subline-2, .tp-caption.Photography-ImageHover2, .tp-caption.Photography-Subline-2 { + font-style: normal; + padding: 0; + text-decoration: none; + background-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-size: 20px +} + +.Photography-Subline-2, .tp-caption.Photography-Subline-2 { + border-color: transparent; + color: rgba(255, 255, 255, .35); + font-family: Raleway; + font-weight: 300; + letter-spacing: 3px; + line-height: 30px +} + +.Photography-ImageHover2, .tp-caption.Photography-ImageHover2 { + border-color: rgba(255, 255, 255, 0); + color: rgba(255, 255, 255, 1); + font-family: Arial; + font-weight: 400; + line-height: 22 +} + +.Photography-ImageHover2:hover, .tp-caption.Photography-ImageHover2:hover { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.WebProduct-Title, .tp-caption.WebProduct-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(51, 51, 51, 1); + font-family: Raleway; + font-size: 90px; + font-style: normal; + font-weight: 100; + line-height: 90px; + padding: 0; + text-decoration: none +} + +.WebProduct-Content, .WebProduct-SubTitle, .tp-caption.WebProduct-Content, .tp-caption.WebProduct-SubTitle { + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + text-decoration: none; + font-family: Raleway; + font-style: normal; + background-color: transparent; + color: rgba(153, 153, 153, 1); + padding: 0 +} + +.WebProduct-SubTitle, .tp-caption.WebProduct-SubTitle { + font-size: 15px; + font-weight: 400; + line-height: 20px +} + +.WebProduct-Content, .tp-caption.WebProduct-Content { + font-size: 16px; + font-weight: 600; + line-height: 24px +} + +.WebProduct-Menuitem, .tp-caption.WebProduct-Menuitem { + background-color: rgba(51, 51, 51, 1); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 15px; + font-style: normal; + font-weight: 500; + letter-spacing: 2px; + line-height: 20px; + padding: 3px 5px 3px 8px; + text-align: left; + text-decoration: none +} + +.WebProduct-Menuitem:hover, .tp-caption.WebProduct-Menuitem:hover { + background-color: rgba(255, 255, 255, 1); + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(153, 153, 153, 1); + text-decoration: none +} + +.WebProduct-Content-Light, .WebProduct-SubTitle-Light, .WebProduct-Title-Light, .tp-caption.WebProduct-Content-Light, .tp-caption.WebProduct-SubTitle-Light, .tp-caption.WebProduct-Title-Light { + border-color: transparent; + font-family: Raleway; + font-style: normal; + text-align: left; + background-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + padding: 0; + text-decoration: none +} + +.WebProduct-Title-Light, .tp-caption.WebProduct-Title-Light { + color: rgba(255, 255, 255, 1); + font-size: 90px; + font-weight: 100; + line-height: 90px +} + +.WebProduct-SubTitle-Light, .tp-caption.WebProduct-SubTitle-Light { + color: rgba(255, 255, 255, .35); + font-size: 15px; + font-weight: 400; + line-height: 20px +} + +.WebProduct-Content-Light, .tp-caption.WebProduct-Content-Light { + color: rgba(255, 255, 255, .65); + font-size: 16px; + font-weight: 600; + line-height: 24px +} + +.FatRounded, .FatRounded:hover, .tp-caption.FatRounded, .tp-caption.FatRounded:hover { + border-style: none; + border-width: 0; + text-decoration: none; + border-color: rgba(211, 211, 211, 1); + border-radius: 50px; + color: rgba(255, 255, 255, 1) +} + +.FatRounded, .tp-caption.FatRounded { + background-color: rgba(0, 0, 0, .5); + font-family: Raleway; + font-size: 30px; + font-style: normal; + font-weight: 900; + line-height: 30px; + padding: 20px 22px 20px 25px; + text-align: left; + text-shadow: none +} + +.FatRounded:hover, .tp-caption.FatRounded:hover { + background-color: rgba(0, 0, 0, 1) +} + +.NotGeneric-Title, .tp-caption.NotGeneric-Title { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 70px; + font-style: normal; + font-weight: 800; + line-height: 70px; + padding: 10px 0; + text-decoration: none +} + +.NotGeneric-CallToAction, .NotGeneric-SubTitle, .tp-caption.NotGeneric-CallToAction, .tp-caption.NotGeneric-SubTitle { + font-style: normal; + text-align: left; + font-family: Raleway; + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: transparent; + border-radius: 0; + font-weight: 500 +} + +.NotGeneric-SubTitle, .tp-caption.NotGeneric-SubTitle { + border-color: transparent; + border-style: none; + border-width: 0; + font-size: 13px; + letter-spacing: 4px; + line-height: 20px; + padding: 0 +} + +.NotGeneric-CallToAction, .tp-caption.NotGeneric-CallToAction { + border-color: rgba(255, 255, 255, .5); + border-style: solid; + border-width: 1px; + font-size: 14px; + letter-spacing: 3px; + line-height: 14px; + padding: 10px 30px +} + +.NotGeneric-CallToAction:hover, .tp-caption.NotGeneric-CallToAction:hover { + background-color: transparent; + border-color: rgba(255, 255, 255, 1); + border-radius: 0; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.NotGeneric-Icon, .tp-caption.NotGeneric-Icon { + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + border-radius: 0; + border-style: solid; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 30px; + font-style: normal; + font-weight: 400; + letter-spacing: 3px; + line-height: 30px; + padding: 0; + text-align: left; + text-decoration: none +} + +.NotGeneric-Menuitem, .NotGeneric-Menuitem:hover, .tp-caption.NotGeneric-Menuitem, .tp-caption.NotGeneric-Menuitem:hover { + background-color: transparent; + border-radius: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none; + border-style: solid; + border-width: 1px +} + +.NotGeneric-Menuitem, .tp-caption.NotGeneric-Menuitem { + border-color: rgba(255, 255, 255, .15); + font-family: Raleway; + font-size: 14px; + font-style: normal; + font-weight: 500; + letter-spacing: 3px; + line-height: 14px; + padding: 27px 30px; + text-align: left +} + +.NotGeneric-Menuitem:hover, .tp-caption.NotGeneric-Menuitem:hover { + border-color: rgba(255, 255, 255, 1) +} + +.MarkerStyle, .tp-caption.MarkerStyle { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: "Permanent Marker"; + font-size: 17px; + font-style: normal; + font-weight: 100; + line-height: 30px; + padding: 0; + text-align: left; + text-decoration: none +} + +.Gym-Menuitem, .Gym-Menuitem:hover, .tp-caption.Gym-Menuitem, .tp-caption.Gym-Menuitem:hover { + text-decoration: none; + color: rgba(255, 255, 255, 1); + background-color: rgba(0, 0, 0, 1); + border-radius: 3px; + border-style: solid; + border-width: 2px +} + +.Gym-Menuitem, .tp-caption.Gym-Menuitem { + border-color: rgba(255, 255, 255, 0); + font-family: Raleway; + font-size: 20px; + font-style: normal; + font-weight: 300; + letter-spacing: 2px; + line-height: 20px; + padding: 3px 5px 3px 8px; + text-align: left +} + +.Gym-Menuitem:hover, .tp-caption.Gym-Menuitem:hover { + border-color: rgba(255, 255, 255, .25) +} + +.Newspaper-Title-Centered, .tp-caption.Newspaper-Title-Centered { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + font-family: "Roboto Slab"; + font-size: 50px; + font-style: normal; + font-weight: 400; + line-height: 55px; + padding: 0 0 10px; + text-align: center; + text-decoration: none +} + +.Hero-Button, .NotGeneric-BigButton, .NotGeneric-Button, .tp-caption.Hero-Button, .tp-caption.NotGeneric-BigButton, .tp-caption.NotGeneric-Button { + font-style: normal; + text-align: left; + font-weight: 500; + letter-spacing: 3px; + line-height: 14px +} + +.Hero-Button, .tp-caption.Hero-Button { + background-color: transparent; + border-color: rgba(255, 255, 255, .5); + border-radius: 0; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 14px; + padding: 10px 30px; + text-decoration: none +} + +.Hero-Button:hover, .tp-caption.Hero-Button:hover { + background-color: rgba(255, 255, 255, 1); + border-color: rgba(255, 255, 255, 1); + border-radius: 0; + border-style: solid; + border-width: 1px; + color: rgba(0, 0, 0, 1); + text-decoration: none +} + +.NotGeneric-BigButton, .NotGeneric-BigButton:hover, .NotGeneric-Button, .NotGeneric-Button:hover, .tp-caption.NotGeneric-BigButton, .tp-caption.NotGeneric-BigButton:hover, .tp-caption.NotGeneric-Button, .tp-caption.NotGeneric-Button:hover { + border-radius: 0; + text-decoration: none; + color: rgba(255, 255, 255, 1); + background-color: transparent; + border-style: solid; + border-width: 1px +} + +.NotGeneric-Button, .tp-caption.NotGeneric-Button { + border-color: rgba(255, 255, 255, .5); + font-family: Raleway; + font-size: 14px; + padding: 10px 30px +} + +.NotGeneric-Button:hover, .tp-caption.NotGeneric-Button:hover { + border-color: rgba(255, 255, 255, 1) +} + +.NotGeneric-BigButton, .tp-caption.NotGeneric-BigButton { + border-color: rgba(255, 255, 255, .15); + font-family: Raleway; + font-size: 14px; + padding: 27px 30px +} + +.NotGeneric-BigButton:hover, .tp-caption.NotGeneric-BigButton:hover { + border-color: rgba(255, 255, 255, 1) +} + +.WebProduct-Button, .tp-caption.WebProduct-Button { + background-color: rgba(51, 51, 51, 1); + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: none; + border-width: 2px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 16px; + font-style: normal; + font-weight: 600; + letter-spacing: 1px; + line-height: 48px; + padding: 0 40px; + text-align: left; + text-decoration: none +} + +.WebProduct-Button:hover, .tp-caption.WebProduct-Button:hover { + background-color: rgba(255, 255, 255, 1); + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: none; + border-width: 2px; + color: rgba(51, 51, 51, 1); + text-decoration: none +} + +.Restaurant-Button, .tp-caption.Restaurant-Button { + background-color: rgba(10, 10, 10, 0); + border-color: rgba(255, 255, 255, .5); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 500; + letter-spacing: 3px; + line-height: 17px; + padding: 12px 35px; + text-align: left; + text-decoration: none +} + +.Gym-Button, .Gym-Button-Light, .tp-caption.Gym-Button, .tp-caption.Gym-Button-Light { + font-size: 15px; + font-style: normal; + font-weight: 600; + line-height: 15px; + text-align: left +} + +.Restaurant-Button:hover, .tp-caption.Restaurant-Button:hover { + background-color: transparent; + border-color: rgba(255, 224, 129, 1); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Gym-Button, .Gym-Button:hover, .tp-caption.Gym-Button, .tp-caption.Gym-Button:hover { + border-radius: 30px; + border-style: solid; + color: rgba(255, 255, 255, 1); + text-decoration: none; + border-color: transparent; + border-width: 0 +} + +.Gym-Button, .tp-caption.Gym-Button { + background-color: rgba(139, 192, 39, 1); + font-family: Raleway; + letter-spacing: 1px; + padding: 13px 35px +} + +.Gym-Button:hover, .tp-caption.Gym-Button:hover { + background-color: rgba(114, 168, 0, 1) +} + +.Gym-Button-Light, .tp-caption.Gym-Button-Light { + background-color: transparent; + border-color: rgba(255, 255, 255, .25); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + padding: 12px 35px; + text-decoration: none +} + +.Sports-Button-Light, .Sports-Button-Red, .tp-caption.Sports-Button-Light, .tp-caption.Sports-Button-Red { + font-style: normal; + text-align: left; + font-family: Raleway; + font-weight: 600; + font-size: 17px; + letter-spacing: 2px; + line-height: 17px; + padding: 12px 35px +} + +.Gym-Button-Light:hover, .tp-caption.Gym-Button-Light:hover { + background-color: rgba(114, 168, 0, 0); + border-color: rgba(139, 192, 39, 1); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Sports-Button-Light, .Sports-Button-Light:hover, .tp-caption.Sports-Button-Light, .tp-caption.Sports-Button-Light:hover { + border-style: solid; + color: rgba(255, 255, 255, 1); + text-decoration: none; + border-radius: 0; + border-width: 2px; + background-color: transparent +} + +.Sports-Button-Light, .tp-caption.Sports-Button-Light { + border-color: rgba(255, 255, 255, .5) +} + +.Sports-Button-Light:hover, .tp-caption.Sports-Button-Light:hover { + border-color: rgba(255, 255, 255, 1) +} + +.Sports-Button-Red, .tp-caption.Sports-Button-Red { + background-color: rgba(219, 28, 34, 1); + border-color: rgba(219, 28, 34, 0); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Sports-Button-Red:hover, .tp-caption.Sports-Button-Red:hover { + background-color: rgba(0, 0, 0, 1); + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Photography-Button, .tp-caption.Photography-Button { + background-color: transparent; + border-color: rgba(255, 255, 255, .25); + border-radius: 30px; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + font-family: Raleway; + font-size: 15px; + font-style: normal; + font-weight: 600; + letter-spacing: 1px; + line-height: 15px; + padding: 13px 35px; + text-align: left; + text-decoration: none +} + +.Photography-Button:hover, .tp-caption.Photography-Button:hover { + background-color: transparent; + border-color: rgba(255, 255, 255, 1); + border-radius: 30px; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Newspaper-Button-2, .Newspaper-Button-2:hover, .tp-caption.Newspaper-Button-2, .tp-caption.Newspaper-Button-2:hover { + background-color: transparent; + border-radius: 3px; + border-style: solid; + border-width: 2px; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Newspaper-Button-2, .tp-caption.Newspaper-Button-2 { + border-color: rgba(255, 255, 255, .5); + font-family: Roboto; + font-size: 15px; + font-style: normal; + font-weight: 900; + line-height: 15px; + padding: 10px 30px; + text-align: left +} + +.Feature-Examples, .Feature-Tour, .tp-caption.Feature-Examples, .tp-caption.Feature-Tour { + font-family: Roboto; + font-size: 17px; + font-style: normal; + font-weight: 700; + line-height: 17px; + text-align: left +} + +.Newspaper-Button-2:hover, .tp-caption.Newspaper-Button-2:hover { + border-color: rgba(255, 255, 255, 1) +} + +.Feature-Tour, .Feature-Tour:hover, .tp-caption.Feature-Tour, .tp-caption.Feature-Tour:hover { + border-radius: 30px; + border-style: solid; + text-decoration: none; + border-color: transparent; + border-width: 0; + color: rgba(255, 255, 255, 1) +} + +.Feature-Tour, .tp-caption.Feature-Tour { + background-color: rgba(139, 192, 39, 1); + padding: 17px 35px +} + +.Feature-Tour:hover, .tp-caption.Feature-Tour:hover { + background-color: rgba(114, 168, 0, 1) +} + +.Feature-Examples, .tp-caption.Feature-Examples { + background-color: transparent; + border-color: rgba(33, 42, 64, .15); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(33, 42, 64, .5); + padding: 15px 35px; + text-decoration: none +} + +.Feature-Examples:hover, .tp-caption.Feature-Examples:hover { + background-color: transparent; + border-color: rgba(139, 192, 39, 1); + border-radius: 30px; + border-style: solid; + border-width: 2px; + color: rgba(139, 192, 39, 1); + text-decoration: none +} + +.menutab, .subcaption, .tp-caption.menutab, .tp-caption.subcaption { + border-radius: 0; + border-style: none; + border-width: 0; + text-decoration: none; + background-color: transparent; + border-color: rgba(0, 0, 0, 1); + font-family: roboto; + font-style: normal; + padding: 0; + text-align: left; + text-shadow: none +} + +.subcaption, .tp-caption.subcaption { + color: rgba(111, 124, 130, 1); + font-size: 19px; + font-weight: 400; + line-height: 24px +} + +.menutab, .tp-caption.menutab { + color: rgba(41, 46, 49, 1); + font-size: 25px; + font-weight: 300; + line-height: 30px +} + +.menutab:hover, .tp-caption.menutab:hover { + background-color: transparent; + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + color: rgba(213, 0, 0, 1); + text-decoration: none +} + +.maincontent, .minitext, .tp-caption.maincontent, .tp-caption.minitext { + text-shadow: none; + background-color: transparent; + border-color: rgba(0, 0, 0, 1); + border-radius: 0; + border-style: none; + border-width: 0; + font-family: roboto; + font-style: normal; + padding: 0; + text-align: left; + text-decoration: none +} + +.maincontent, .tp-caption.maincontent { + color: rgba(41, 46, 49, 1); + font-size: 21px; + font-weight: 300; + line-height: 26px +} + +.minitext, .tp-caption.minitext { + color: rgba(185, 186, 187, 1); + font-size: 15px; + font-weight: 400; + line-height: 20px +} + +.Feature-Buy, .Feature-Examples-Light, .tp-caption.Feature-Buy, .tp-caption.Feature-Examples-Light { + font-size: 17px; + font-family: Roboto; + font-style: normal; + font-weight: 700; + line-height: 17px; + text-align: left +} + +.Feature-Buy, .Feature-Buy:hover, .tp-caption.Feature-Buy, .tp-caption.Feature-Buy:hover { + border-color: transparent; + border-radius: 30px; + border-style: solid; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Feature-Buy, .tp-caption.Feature-Buy { + background-color: rgba(0, 154, 238, 1); + padding: 17px 35px +} + +.Feature-Buy:hover, .tp-caption.Feature-Buy:hover { + background-color: rgba(0, 133, 214, 1) +} + +.Feature-Examples-Light, .Feature-Examples-Light:hover, .tp-caption.Feature-Examples-Light, .tp-caption.Feature-Examples-Light:hover { + color: rgba(255, 255, 255, 1); + background-color: transparent; + border-radius: 30px; + border-style: solid; + border-width: 2px; + text-decoration: none +} + +.Feature-Examples-Light, .tp-caption.Feature-Examples-Light { + border-color: rgba(255, 255, 255, .15); + padding: 15px 35px +} + +.Feature-Examples-Light:hover, .tp-caption.Feature-Examples-Light:hover { + border-color: rgba(255, 255, 255, 1) +} + +.Facebook-Likes, .Twitter-Favorites, .Twitter-Link, .tp-caption.Facebook-Likes, .tp-caption.Twitter-Favorites, .tp-caption.Twitter-Link { + font-size: 15px; + border-style: none; + border-width: 0; + text-decoration: none; + border-color: transparent; + font-family: Roboto; + font-style: normal; + font-weight: 500; + text-align: left +} + +.Facebook-Likes, .tp-caption.Facebook-Likes { + background-color: rgba(59, 89, 153, 1); + border-radius: 0; + color: rgba(255, 255, 255, 1); + line-height: 22px; + padding: 5px 15px +} + +.Twitter-Favorites, .tp-caption.Twitter-Favorites { + background-color: rgba(255, 255, 255, 0); + border-radius: 0; + color: rgba(136, 153, 166, 1); + line-height: 22px; + padding: 0 +} + +.Twitter-Link, .tp-caption.Twitter-Link { + background-color: rgba(255, 255, 255, 1); + border-radius: 30px; + color: rgba(135, 153, 165, 1); + line-height: 15px; + padding: 11px 11px 9px +} + +.Twitter-Link:hover, .tp-caption.Twitter-Link:hover { + background-color: rgba(0, 132, 180, 1); + border-color: transparent; + border-radius: 30px; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none +} + +.Twitter-Content, .Twitter-Retweet, .tp-caption.Twitter-Content, .tp-caption.Twitter-Retweet { + border-color: transparent; + border-radius: 0; + border-style: none; + border-width: 0; + font-family: Roboto; + font-style: normal; + font-weight: 500; + text-align: left; + text-decoration: none +} + +.Twitter-Retweet, .tp-caption.Twitter-Retweet { + background-color: rgba(255, 255, 255, 0); + color: rgba(136, 153, 166, 1); + font-size: 15px; + line-height: 22px; + padding: 0 +} + +.Twitter-Content, .tp-caption.Twitter-Content { + background-color: rgba(255, 255, 255, 1); + color: rgba(41, 47, 51, 1); + font-size: 20px; + line-height: 28px; + padding: 30px 30px 70px +} + +.revtp-form input[type=text], .revtp-form input[type=email], .revtp-searchform input[type=text], .revtp-searchform input[type=email] { + font-family: Arial, sans-serif; + font-size: 15px; + color: #000; + background-color: #fff; + line-height: 46px; + padding: 0 20px; + cursor: text; + border: 0; + width: 400px; + margin-bottom: 0; + -webkit-transition: background-color .5s; + -moz-transition: background-color .5s; + -o-transition: background-color .5s; + -ms-transition: background-color .5s; + transition: background-color .5s; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0 +} + +.BigBold-SubTitle, .BigBold-Title, .tp-caption.BigBold-SubTitle, .tp-caption.BigBold-Title { + font-style: normal; + text-align: left; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0 +} + +.BigBold-Title, .tp-caption.BigBold-Title { + color: rgba(255, 255, 255, 1); + font-size: 110px; + line-height: 100px; + font-weight: 800; + font-family: Raleway; + padding: 10px 0 +} + +.BigBold-SubTitle, .tp-caption.BigBold-SubTitle { + color: rgba(255, 255, 255, .5); + font-size: 15px; + line-height: 24px; + font-weight: 500; + font-family: Raleway; + padding: 0; + letter-spacing: 1px +} + +.BigBold-Button, .BigBold-Button:hover, .tp-caption.BigBold-Button, .tp-caption.BigBold-Button:hover { + border-radius: 0; + text-decoration: none; + border-style: solid; + border-width: 1px; + color: rgba(255, 255, 255, 1); + background-color: transparent +} + +.BigBold-Button, .tp-caption.BigBold-Button { + font-size: 13px; + line-height: 13px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 15px 50px; + border-color: rgba(255, 255, 255, .5); + text-align: left; + letter-spacing: 1px +} + +.BigBold-Button:hover, .tp-caption.BigBold-Button:hover { + border-color: rgba(255, 255, 255, 1) +} + +.FoodCarousel-Content, .tp-caption.FoodCarousel-Content { + color: rgba(41, 46, 49, 1); + font-size: 17px; + line-height: 28px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 30px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 0; + text-align: left +} + +.FoodCarousel-Button, .FoodCarousel-CloseButton, .tp-caption.FoodCarousel-Button, .tp-caption.FoodCarousel-CloseButton { + font-style: normal; + border-style: solid; + border-width: 1px; + font-weight: 700; + font-family: Raleway; + text-decoration: none; + text-align: left; + letter-spacing: 1px +} + +.FoodCarousel-Button, .tp-caption.FoodCarousel-Button { + color: rgba(41, 46, 49, 1); + font-size: 13px; + line-height: 13px; + padding: 15px 70px 15px 50px; + background-color: rgba(255, 255, 255, 1); + border-color: rgba(41, 46, 49, 1); + border-radius: 0 +} + +.FoodCarousel-Button:hover, .tp-caption.FoodCarousel-Button:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 0 +} + +.FoodCarousel-CloseButton, .tp-caption.FoodCarousel-CloseButton { + color: rgba(41, 46, 49, 1); + font-size: 20px; + line-height: 20px; + padding: 14px 14px 14px 16px; + background-color: transparent; + border-color: rgba(41, 46, 49, 0); + border-radius: 30px +} + +.FoodCarousel-CloseButton:hover, .tp-caption.FoodCarousel-CloseButton:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 0); + border-style: solid; + border-width: 1px; + border-radius: 30px +} + +.Video-SubTitle, .Video-Title, .tp-caption.Video-SubTitle, .tp-caption.Video-Title { + font-family: Raleway; + border-style: none; + border-width: 0; + color: rgba(255, 255, 255, 1); + text-decoration: none; + padding: 5px; + border-color: transparent; + border-radius: 0; + text-align: left +} + +.Video-SubTitle, .tp-caption.Video-SubTitle { + font-size: 12px; + line-height: 12px; + font-weight: 600; + font-style: normal; + background-color: rgba(0, 0, 0, .35); + letter-spacing: 2px +} + +.Video-Title, .tp-caption.Video-Title { + font-size: 30px; + line-height: 30px; + font-weight: 900; + font-style: normal; + background-color: rgba(0, 0, 0, 1) +} + +.RotatingWords-TitleWhite, .Travel-BigCaption, .Travel-SmallCaption, .tp-caption.RotatingWords-TitleWhite, .tp-caption.Travel-BigCaption, .tp-caption.Travel-SmallCaption { + border-color: transparent; + font-style: normal; + background-color: transparent; + border-radius: 0; + text-align: left +} + +.Travel-BigCaption, .tp-caption.Travel-BigCaption { + color: rgba(255, 255, 255, 1); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-family: Roboto; + padding: 0; + text-decoration: none; + border-style: none; + border-width: 0 +} + +.Travel-SmallCaption, .tp-caption.Travel-SmallCaption { + color: rgba(255, 255, 255, 1); + font-size: 25px; + line-height: 30px; + font-weight: 300; + font-family: Roboto; + padding: 0; + text-decoration: none; + border-style: none; + border-width: 0 +} + +.Travel-CallToAction, .Travel-CallToAction:hover, .tp-caption.Travel-CallToAction, .tp-caption.Travel-CallToAction:hover { + text-decoration: none; + color: rgba(255, 255, 255, 1); + border-color: rgba(255, 255, 255, 1); + border-style: solid; + border-width: 2px; + border-radius: 5px +} + +.Travel-CallToAction, .tp-caption.Travel-CallToAction { + font-size: 25px; + line-height: 25px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 20px; + background-color: rgba(255, 255, 255, .05); + text-align: left; + letter-spacing: 1px +} + +.Travel-CallToAction:hover, .tp-caption.Travel-CallToAction:hover { + background-color: rgba(255, 255, 255, .15) +} + +.RotatingWords-TitleWhite, .tp-caption.RotatingWords-TitleWhite { + color: rgba(255, 255, 255, 1); + font-size: 70px; + line-height: 70px; + font-weight: 800; + font-family: Raleway; + padding: 0; + text-decoration: none; + border-style: none; + border-width: 0 +} + +.RotatingWords-Button, .RotatingWords-SmallText, .tp-caption.RotatingWords-Button, .tp-caption.RotatingWords-SmallText { + color: rgba(255, 255, 255, 1); + line-height: 20px; + font-style: normal; + font-family: Raleway; + text-decoration: none; + background-color: transparent; + border-radius: 0; + text-align: left +} + +.RotatingWords-Button, .tp-caption.RotatingWords-Button { + font-size: 20px; + font-weight: 700; + padding: 20px 50px; + border-color: rgba(255, 255, 255, .15); + border-style: solid; + border-width: 2px; + letter-spacing: 3px +} + +.RotatingWords-Button:hover, .tp-caption.RotatingWords-Button:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1); + border-style: solid; + border-width: 2px; + border-radius: 0 +} + +.RotatingWords-SmallText, .tp-caption.RotatingWords-SmallText { + font-size: 14px; + font-weight: 400; + padding: 0; + border-color: transparent; + border-style: none; + border-width: 0; + text-shadow: none +} + +.ContentZoom-SmallSubtitle, .ContentZoom-SmallTitle, .tp-caption.ContentZoom-SmallSubtitle, .tp-caption.ContentZoom-SmallTitle { + font-style: normal; + font-family: Raleway; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0; + text-align: left; + font-weight: 600; + padding: 0 +} + +.ContentZoom-SmallTitle, .tp-caption.ContentZoom-SmallTitle { + color: rgba(41, 46, 49, 1); + font-size: 33px; + line-height: 45px +} + +.ContentZoom-SmallSubtitle, .tp-caption.ContentZoom-SmallSubtitle { + color: rgba(111, 124, 130, 1); + font-size: 16px; + line-height: 24px +} + +.ContentZoom-SmallIcon, .tp-caption.ContentZoom-SmallIcon { + color: rgba(41, 46, 49, 1); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Raleway; + padding: 10px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0; + text-align: left +} + +.ContentZoom-SmallIcon:hover, .tp-caption.ContentZoom-SmallIcon:hover { + color: rgba(111, 124, 130, 1); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0 +} + +.ContentZoom-DetailTitle, .tp-caption.ContentZoom-DetailTitle { + color: rgba(41, 46, 49, 1); + font-size: 70px; + line-height: 70px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0; + border-radius: 0; + text-align: left +} + +.ContentZoom-DetailContent, .ContentZoom-DetailSubTitle, .tp-caption.ContentZoom-DetailContent, .tp-caption.ContentZoom-DetailSubTitle { + border-radius: 0; + background-color: transparent; + color: rgba(111, 124, 130, 1); + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0; + text-decoration: none; + border-color: transparent; + border-style: none; + border-width: 0; + text-align: left +} + +.ContentZoom-DetailSubTitle, .tp-caption.ContentZoom-DetailSubTitle { + font-size: 25px; + line-height: 25px +} + +.ContentZoom-DetailContent, .tp-caption.ContentZoom-DetailContent { + font-size: 17px; + line-height: 28px +} + +.ContentZoom-Button, .ContentZoom-ButtonClose, .tp-caption.ContentZoom-Button, .tp-caption.ContentZoom-ButtonClose { + border-style: solid; + border-width: 1px; + font-size: 13px; + line-height: 13px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + text-decoration: none; + text-align: left; + letter-spacing: 1px +} + +.ContentZoom-Button, .tp-caption.ContentZoom-Button { + color: rgba(41, 46, 49, 1); + padding: 15px 50px; + background-color: transparent; + border-color: rgba(41, 46, 49, .5); + border-radius: 0 +} + +.ContentZoom-Button:hover, .tp-caption.ContentZoom-Button:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 0 +} + +.ContentZoom-ButtonClose, .tp-caption.ContentZoom-ButtonClose { + color: rgba(41, 46, 49, 1); + padding: 14px 14px 14px 16px; + background-color: transparent; + border-color: rgba(41, 46, 49, .5); + border-radius: 30px +} + +.ContentZoom-ButtonClose:hover, .tp-caption.ContentZoom-ButtonClose:hover { + color: rgba(255, 255, 255, 1); + text-decoration: none; + background-color: rgba(41, 46, 49, 1); + border-color: rgba(41, 46, 49, 1); + border-style: solid; + border-width: 1px; + border-radius: 30px +} + +.Newspaper-Subtitle, .Newspaper-Title, .tp-caption.Newspaper-Subtitle, .tp-caption.Newspaper-Title { + text-decoration: none; + border-radius: 0; + font-style: normal; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0 +} + +.Newspaper-Title, .tp-caption.Newspaper-Title { + color: rgba(255, 255, 255, 1); + font-size: 50px; + line-height: 55px; + font-weight: 400; + font-family: "Roboto Slab"; + padding: 0 0 10px +} + +.Newspaper-Subtitle, .tp-caption.Newspaper-Subtitle { + color: rgba(168, 216, 238, 1); + font-size: 15px; + line-height: 20px; + font-weight: 900; + font-family: Roboto; + padding: 0 +} + +.Newspaper-Button, .tp-caption.Newspaper-Button { + color: rgba(255, 255, 255, 1); + font-size: 13px; + line-height: 17px; + font-weight: 700; + font-style: normal; + font-family: Roboto; + padding: 12px 35px; + text-decoration: none; + background-color: rgba(255, 255, 255, 0); + border-color: rgba(255, 255, 255, .25); + border-style: solid; + border-width: 1px; + border-radius: 0; + letter-spacing: 2px; + text-align: left +} + +.Newspaper-Button:hover, .tp-caption.Newspaper-Button:hover { + color: rgba(0, 0, 0, 1); + text-decoration: none; + background-color: rgba(255, 255, 255, 1); + border-color: rgba(255, 255, 255, 1); + border-style: solid; + border-width: 1px; + border-radius: 0 +} + +.rtwhitemedium, .tp-caption.rtwhitemedium { + font-size: 22px; + line-height: 26px; + color: #fff; + text-decoration: none; + background-color: transparent; + border-width: 0; + border-color: #000; + border-style: none; + text-shadow: none +} + +@media only screen and (max-width: 767px) { + .revtp-form input[type=text], .revtp-form input[type=email], .revtp-searchform input[type=text], .revtp-searchform input[type=email] { + width: 200px !important + } +} + +.revtp-form input[type=submit], .revtp-searchform input[type=submit] { + font-family: Arial, sans-serif; + line-height: 46px; + letter-spacing: 1px; + text-transform: uppercase; + font-size: 15px; + font-weight: 700; + padding: 0 20px; + border: 0; + background: #009aee; + color: #fff; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0 +} + +iframe { + border: 0; +} + +.hermes .tp-arr-imgholder { + background-size: cover; +} + +/* Bullets +-------------------------------------------------------*/ +.tp-bullet { + background: rgba(255, 255, 255, 0); + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + width: 12px !important; + height: 12px !important; + border: 2px solid rgba(255, 255, 255, 0.7) !important; + display: inline-block; + -webkit-transition: background-color 0.2s, border-color 0.2s; + -moz-transition: background-color 0.2s, border-color 0.2s; + -o-transition: background-color 0.2s, border-color 0.2s; + -ms-transition: background-color 0.2s, border-color 0.2s; + transition: background-color 0.2s, border-color 0.2s; + float: none !important; +} + +.tp-bullet.selected, +.tp-bullet:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background-color: #fff; + width: 12px !important; + height: 12px !important; + border: 2px solid rgba(0, 0, 0, 0) !important; +} + +/* Scroll Down icon +-------------------------------------------------------*/ + +.scroll-down { + font-size: 20px; + width: 32px; + height: 32px; + background-color: rgba(255, 255, 255, .2); + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + text-align: center; + line-height: 32px; + z-index: 50 !important; + position: absolute; + bottom: 40px; + left: 50%; + margin-left: -16px; +} + +.scroll-down a { + line-height: 36px; + position: relative; + z-index: 50 !important; +} + +@-webkit-keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +@-moz-keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +@-o-keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +@keyframes scroll-down-icon { + 0% { + bottom: 2px; + } + 50% { + bottom: 7px; + } + 100% { + bottom: 2px; + } +} + +.scroll-down i { + color: #fff; + -webkit-animation: scroll-down-icon 1s infinite; + -moz-animation: scroll-down-icon 1s infinite; + -o-animation: scroll-down-icon 1s infinite; + animation: scroll-down-icon 1s infinite; + position: absolute; + left: 10px; +} + +/*Slides 2, 3*/ + +.tp-caption.hero-text { + color: #fff; + text-shadow: none; + font-weight: 700; + line-height: 60px; + font-family: "Montserrat", sans-serif; + letter-spacing: 0.02em; + margin: 0px; + border-width: 0px; + border-style: none; + white-space: nowrap; + padding: 0px 4px; + padding-top: 1px; + text-transform: uppercase; +} + +.tp-caption.hero-text.giant_nocaps { + font-size: 116px; + text-transform: none; +} + +.tp-caption.hero-text.huge_nocaps { + font-size: 76px; + text-transform: none; +} + +.tp-caption.hero-text.huge_white { + font-size: 76px; +} + +.tp-caption.hero-text.large_white { + font-size: 60px; +} + +.tp-caption.hero-text.medium { + font-size: 46px; +} + +.tp-caption.medium_text { + color: #fff; + font-weight: 400; + font-size: 15px; + line-height: 20px; + font-family: "Montserrat", sans-serif; + letter-spacing: 0.02em; + margin: 0px; + border-width: 0px; + border-style: none; + white-space: nowrap; + text-transform: uppercase; + text-shadow: none; +} + +.tp-caption.small_text { + color: #fff; + font-weight: 400; + font-size: 16px; + line-height: 20px; + font-family: "Montserrat", sans-serif; + margin: 0px; + border-width: 0px; + border-style: none; + white-space: nowrap; + text-shadow: none; +} + +.subheading_text { + font-family: "Pt Serif", serif; + font-size: 22px; + color: #fff; +} + +.tp-caption.hero-line { + content: ""; + border-bottom: 3px solid #fff; + width: 20%; +} + +.tp-caption a { + color: #fff; +} + +.tp-caption a:hover { + color: #fff; +} diff --git a/server/www/static/www/revolution/assets/Thumbs.db b/server/www/static/www/revolution/assets/Thumbs.db new file mode 100644 index 0000000..e69de29 diff --git a/server/www/static/www/revolution/assets/coloredbg.png b/server/www/static/www/revolution/assets/coloredbg.png new file mode 100644 index 0000000..db75b7a Binary files /dev/null and b/server/www/static/www/revolution/assets/coloredbg.png differ diff --git a/server/www/static/www/revolution/assets/gridtile.png b/server/www/static/www/revolution/assets/gridtile.png new file mode 100644 index 0000000..b07e396 Binary files /dev/null and b/server/www/static/www/revolution/assets/gridtile.png differ diff --git a/server/www/static/www/revolution/assets/gridtile_3x3.png b/server/www/static/www/revolution/assets/gridtile_3x3.png new file mode 100644 index 0000000..6f2c31d Binary files /dev/null and b/server/www/static/www/revolution/assets/gridtile_3x3.png differ diff --git a/server/www/static/www/revolution/assets/gridtile_3x3_white.png b/server/www/static/www/revolution/assets/gridtile_3x3_white.png new file mode 100644 index 0000000..a8830fc Binary files /dev/null and b/server/www/static/www/revolution/assets/gridtile_3x3_white.png differ diff --git a/server/www/static/www/revolution/assets/gridtile_white.png b/server/www/static/www/revolution/assets/gridtile_white.png new file mode 100644 index 0000000..7f2599e Binary files /dev/null and b/server/www/static/www/revolution/assets/gridtile_white.png differ diff --git a/server/www/static/www/revolution/assets/loader.gif b/server/www/static/www/revolution/assets/loader.gif new file mode 100644 index 0000000..53dd589 Binary files /dev/null and b/server/www/static/www/revolution/assets/loader.gif differ diff --git a/server/www/static/www/revolution/css/layers.css b/server/www/static/www/revolution/css/layers.css new file mode 100644 index 0000000..0c38119 --- /dev/null +++ b/server/www/static/www/revolution/css/layers.css @@ -0,0 +1,4916 @@ +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Layer Style Settings - + +Screen Stylesheet + +version: 5.0.0 +date: 18/03/15 +author: themepunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ + +.tp-caption.Twitter-Content a,.tp-caption.Twitter-Content a:visited +{ + color:#0084B4!important; +} + +.tp-caption.Twitter-Content a:hover +{ + color:#0084B4!important; + text-decoration:underline!important; +} + +.tp-caption.medium_grey,.medium_grey +{ + background-color:#888; + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:20px; + font-weight:700; + line-height:20px; + margin:0; + padding:2px 4px; + position:absolute; + text-shadow:0 2px 5px rgba(0,0,0,0.5); + white-space:nowrap; +} + +.tp-caption.small_text,.small_text +{ + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:14px; + font-weight:700; + line-height:20px; + margin:0; + position:absolute; + text-shadow:0 2px 5px rgba(0,0,0,0.5); + white-space:nowrap; +} + +.tp-caption.medium_text,.medium_text +{ + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:20px; + font-weight:700; + line-height:20px; + margin:0; + position:absolute; + text-shadow:0 2px 5px rgba(0,0,0,0.5); + white-space:nowrap; +} + +.tp-caption.large_text,.large_text +{ + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:40px; + font-weight:700; + line-height:40px; + margin:0; + position:absolute; + text-shadow:0 2px 5px rgba(0,0,0,0.5); + white-space:nowrap; +} + +.tp-caption.very_large_text,.very_large_text +{ + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:60px; + font-weight:700; + letter-spacing:-2px; + line-height:60px; + margin:0; + position:absolute; + text-shadow:0 2px 5px rgba(0,0,0,0.5); + white-space:nowrap; +} + +.tp-caption.very_big_white,.very_big_white +{ + background-color:#000; + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:60px; + font-weight:800; + line-height:60px; + margin:0; + padding:1px 4px 0; + position:absolute; + text-shadow:none; + white-space:nowrap; +} + +.tp-caption.very_big_black,.very_big_black +{ + background-color:#fff; + border-style:none; + border-width:0; + color:#000; + font-family:Arial; + font-size:60px; + font-weight:700; + line-height:60px; + margin:0; + padding:1px 4px 0; + position:absolute; + text-shadow:none; + white-space:nowrap; +} + +.tp-caption.modern_medium_fat,.modern_medium_fat +{ + border-style:none; + border-width:0; + color:#000; + font-family:"Open Sans", sans-serif; + font-size:24px; + font-weight:800; + line-height:20px; + margin:0; + position:absolute; + text-shadow:none; + white-space:nowrap; +} + +.tp-caption.modern_medium_fat_white,.modern_medium_fat_white +{ + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans", sans-serif; + font-size:24px; + font-weight:800; + line-height:20px; + margin:0; + position:absolute; + text-shadow:none; + white-space:nowrap; +} + +.tp-caption.modern_medium_light,.modern_medium_light +{ + border-style:none; + border-width:0; + color:#000; + font-family:"Open Sans", sans-serif; + font-size:24px; + font-weight:300; + line-height:20px; + margin:0; + position:absolute; + text-shadow:none; + white-space:nowrap; +} + +.tp-caption.modern_big_bluebg,.modern_big_bluebg +{ + background-color:#4e5b6c; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans", sans-serif; + font-size:30px; + font-weight:800; + letter-spacing:0; + line-height:36px; + margin:0; + padding:3px 10px; + position:absolute; + text-shadow:none; +} + +.tp-caption.modern_big_redbg,.modern_big_redbg +{ + background-color:#de543e; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans", sans-serif; + font-size:30px; + font-weight:300; + letter-spacing:0; + line-height:36px; + margin:0; + padding:1px 10px 3px; + position:absolute; + text-shadow:none; +} + +.tp-caption.modern_small_text_dark,.modern_small_text_dark +{ + border-style:none; + border-width:0; + color:#555; + font-family:Arial; + font-size:14px; + line-height:22px; + margin:0; + position:absolute; + text-shadow:none; + white-space:nowrap; +} + +.tp-caption.boxshadow,.boxshadow +{ + -moz-box-shadow:0 0 20px rgba(0,0,0,0.5); + -webkit-box-shadow:0 0 20px rgba(0,0,0,0.5); + box-shadow:0 0 20px rgba(0,0,0,0.5); +} + +.tp-caption.black,.black +{ + color:#000; + text-shadow:none; +} + +.tp-caption.noshadow,.noshadow +{ + text-shadow:none; +} + +.tp-caption.thinheadline_dark,.thinheadline_dark +{ + background-color:transparent; + color:rgba(0,0,0,0.85); + font-family:"Open Sans"; + font-size:30px; + font-weight:300; + line-height:30px; + position:absolute; + text-shadow:none; +} + +.tp-caption.thintext_dark,.thintext_dark +{ + background-color:transparent; + color:rgba(0,0,0,0.85); + font-family:"Open Sans"; + font-size:16px; + font-weight:300; + line-height:26px; + position:absolute; + text-shadow:none; +} + +.tp-caption.largeblackbg,.largeblackbg +{ + -moz-border-radius:0; + -webkit-border-radius:0; + background-color:#000; + border-radius:0; + color:#fff; + font-family:"Open Sans"; + font-size:50px; + font-weight:300; + line-height:70px; + padding:0 20px; + position:absolute; + text-shadow:none; +} + +.tp-caption.largepinkbg,.largepinkbg +{ + -moz-border-radius:0; + -webkit-border-radius:0; + background-color:#db4360; + border-radius:0; + color:#fff; + font-family:"Open Sans"; + font-size:50px; + font-weight:300; + line-height:70px; + padding:0 20px; + position:absolute; + text-shadow:none; +} + +.tp-caption.largewhitebg,.largewhitebg +{ + -moz-border-radius:0; + -webkit-border-radius:0; + background-color:#fff; + border-radius:0; + color:#000; + font-family:"Open Sans"; + font-size:50px; + font-weight:300; + line-height:70px; + padding:0 20px; + position:absolute; + text-shadow:none; +} + +.tp-caption.largegreenbg,.largegreenbg +{ + -moz-border-radius:0; + -webkit-border-radius:0; + background-color:#67ae73; + border-radius:0; + color:#fff; + font-family:"Open Sans"; + font-size:50px; + font-weight:300; + line-height:70px; + padding:0 20px; + position:absolute; + text-shadow:none; +} + +.tp-caption.excerpt,.excerpt +{ + background-color:rgba(0,0,0,1); + border-color:#fff; + border-style:none; + border-width:0; + color:#fff; + font-family:Arial; + font-size:36px; + font-weight:700; + height:auto; + letter-spacing:-1.5px; + line-height:36px; + margin:0; + padding:1px 4px 0; + text-decoration:none; + text-shadow:none; + white-space:normal!important; + width:150px; +} + +.tp-caption.large_bold_grey,.large_bold_grey +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#666; + font-family:"Open Sans"; + font-size:60px; + font-weight:800; + line-height:60px; + margin:0; + padding:1px 4px 0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.medium_thin_grey,.medium_thin_grey +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#666; + font-family:"Open Sans"; + font-size:34px; + font-weight:300; + line-height:30px; + margin:0; + padding:1px 4px 0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.small_thin_grey,.small_thin_grey +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#757575; + font-family:"Open Sans"; + font-size:18px; + font-weight:300; + line-height:26px; + margin:0; + padding:1px 4px 0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.lightgrey_divider,.lightgrey_divider +{ + background-color:rgba(235,235,235,1); + background-position:initial initial; + background-repeat:initial initial; + border-color:#222; + border-style:none; + border-width:0; + height:3px; + text-decoration:none; + width:370px; +} + +.tp-caption.large_bold_darkblue,.large_bold_darkblue +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#34495e; + font-family:"Open Sans"; + font-size:58px; + font-weight:800; + line-height:60px; + text-decoration:none; +} + +.tp-caption.medium_bg_darkblue,.medium_bg_darkblue +{ + background-color:#34495e; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:20px; + font-weight:800; + line-height:20px; + padding:10px; + text-decoration:none; +} + +.tp-caption.medium_bold_red,.medium_bold_red +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#e33a0c; + font-family:"Open Sans"; + font-size:24px; + font-weight:800; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.medium_light_red,.medium_light_red +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#e33a0c; + font-family:"Open Sans"; + font-size:21px; + font-weight:300; + line-height:26px; + padding:0; + text-decoration:none; +} + +.tp-caption.medium_bg_red,.medium_bg_red +{ + background-color:#e33a0c; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:20px; + font-weight:800; + line-height:20px; + padding:10px; + text-decoration:none; +} + +.tp-caption.medium_bold_orange,.medium_bold_orange +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#f39c12; + font-family:"Open Sans"; + font-size:24px; + font-weight:800; + line-height:30px; + text-decoration:none; +} + +.tp-caption.medium_bg_orange,.medium_bg_orange +{ + background-color:#f39c12; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:20px; + font-weight:800; + line-height:20px; + padding:10px; + text-decoration:none; +} + +.tp-caption.grassfloor,.grassfloor +{ + background-color:rgba(160,179,151,1); + border-color:#222; + border-style:none; + border-width:0; + height:150px; + text-decoration:none; + width:4000px; +} + +.tp-caption.large_bold_white,.large_bold_white +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:58px; + font-weight:800; + line-height:60px; + text-decoration:none; +} + +.tp-caption.medium_light_white,.medium_light_white +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:30px; + font-weight:300; + line-height:36px; + padding:0; + text-decoration:none; +} + +.tp-caption.mediumlarge_light_white,.mediumlarge_light_white +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:34px; + font-weight:300; + line-height:40px; + padding:0; + text-decoration:none; +} + +.tp-caption.mediumlarge_light_white_center,.mediumlarge_light_white_center +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:34px; + font-weight:300; + line-height:40px; + padding:0; + text-align:center; + text-decoration:none; +} + +.tp-caption.medium_bg_asbestos,.medium_bg_asbestos +{ + background-color:#7f8c8d; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:20px; + font-weight:800; + line-height:20px; + padding:10px; + text-decoration:none; +} + +.tp-caption.medium_light_black,.medium_light_black +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#000; + font-family:"Open Sans"; + font-size:30px; + font-weight:300; + line-height:36px; + padding:0; + text-decoration:none; +} + +.tp-caption.large_bold_black,.large_bold_black +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#000; + font-family:"Open Sans"; + font-size:58px; + font-weight:800; + line-height:60px; + text-decoration:none; +} + +.tp-caption.mediumlarge_light_darkblue,.mediumlarge_light_darkblue +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#34495e; + font-family:"Open Sans"; + font-size:34px; + font-weight:300; + line-height:40px; + padding:0; + text-decoration:none; +} + +.tp-caption.small_light_white,.small_light_white +{ + background-color:transparent; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:17px; + font-weight:300; + line-height:28px; + padding:0; + text-decoration:none; +} + +.tp-caption.roundedimage,.roundedimage +{ + border-color:#222; + border-style:none; + border-width:0; +} + +.tp-caption.large_bg_black,.large_bg_black +{ + background-color:#000; + border-color:#ffd658; + border-style:none; + border-width:0; + color:#fff; + font-family:"Open Sans"; + font-size:40px; + font-weight:800; + line-height:40px; + padding:10px 20px 15px; + text-decoration:none; +} + +.tp-caption.mediumwhitebg,.mediumwhitebg +{ + background-color:#fff; + border-color:#000; + border-style:none; + border-width:0; + color:#000; + font-family:"Open Sans"; + font-size:30px; + font-weight:300; + line-height:30px; + padding:5px 15px 10px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.maincaption,.maincaption +{ + background-color:transparent; + border-color:#000; + border-style:none; + border-width:0; + color:#212a40; + font-family:roboto; + font-size:33px; + font-weight:500; + line-height:43px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.miami_title_60px,.miami_title_60px +{ + background-color:transparent; + border-color:#000; + border-style:none; + border-width:0; + color:#fff; + font-family:"Source Sans Pro"; + font-size:60px; + font-weight:700; + letter-spacing:1px; + line-height:60px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.miami_subtitle,.miami_subtitle +{ + background-color:transparent; + border-color:#000; + border-style:none; + border-width:0; + color:rgba(255,255,255,0.65); + font-family:"Source Sans Pro"; + font-size:17px; + font-weight:400; + letter-spacing:2px; + line-height:24px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.divideline30px,.divideline30px +{ + background:#fff; + background-color:#fff; + border-color:#222; + border-style:none; + border-width:0; + height:2px; + min-width:30px; + text-decoration:none; +} + +.tp-caption.Miami_nostyle,.Miami_nostyle +{ + border-color:#222; + border-style:none; + border-width:0; +} + +.tp-caption.miami_content_light,.miami_content_light +{ + background-color:transparent; + border-color:#000; + border-style:none; + border-width:0; + color:#fff; + font-family:"Source Sans Pro"; + font-size:22px; + font-weight:400; + letter-spacing:0; + line-height:28px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.miami_title_60px_dark,.miami_title_60px_dark +{ + background-color:transparent; + border-color:#000; + border-style:none; + border-width:0; + color:#333; + font-family:"Source Sans Pro"; + font-size:60px; + font-weight:700; + letter-spacing:1px; + line-height:60px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.miami_content_dark,.miami_content_dark +{ + background-color:transparent; + border-color:#000; + border-style:none; + border-width:0; + color:#666; + font-family:"Source Sans Pro"; + font-size:22px; + font-weight:400; + letter-spacing:0; + line-height:28px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.divideline30px_dark,.divideline30px_dark +{ + background-color:#333; + border-color:#222; + border-style:none; + border-width:0; + height:2px; + min-width:30px; + text-decoration:none; +} + +.tp-caption.ellipse70px,.ellipse70px +{ + background-color:rgba(0,0,0,0.14902); + border-color:#222; + border-radius:50px 50px 50px 50px; + border-style:none; + border-width:0; + cursor:pointer; + line-height:1px; + min-height:70px; + min-width:70px; + text-decoration:none; +} + +.tp-caption.arrowicon,.arrowicon +{ + border-color:#222; + border-style:none; + border-width:0; + line-height:1px; +} + +.tp-caption.MarkerDisplay,.MarkerDisplay +{ + background-color:transparent; + border-color:#000; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + font-family:Permanent Marker; + font-style:normal; + padding:0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Restaurant-Display,.Restaurant-Display +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:#fff; + font-family:Roboto; + font-size:120px; + font-style:normal; + font-weight:700; + line-height:120px; + padding:0; + text-decoration:none; +} + +.tp-caption.Restaurant-Cursive,.Restaurant-Cursive +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:#fff; + font-family:Nothing you could do; + font-size:30px; + font-style:normal; + font-weight:400; + letter-spacing:2px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Restaurant-ScrollDownText,.Restaurant-ScrollDownText +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:#fff; + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:400; + letter-spacing:2px; + line-height:17px; + padding:0; + text-decoration:none; +} + +.tp-caption.Restaurant-Description,.Restaurant-Description +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:#fff; + font-family:Roboto; + font-size:20px; + font-style:normal; + font-weight:300; + letter-spacing:3px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Restaurant-Price,.Restaurant-Price +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:#fff; + font-family:Roboto; + font-size:30px; + font-style:normal; + font-weight:300; + letter-spacing:3px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Restaurant-Menuitem,.Restaurant-Menuitem +{ + background-color:rgba(0,0,0,1.00); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:400; + letter-spacing:2px; + line-height:17px; + padding:10px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Furniture-LogoText,.Furniture-LogoText +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(230,207,163,1.00); + font-family:Raleway; + font-size:160px; + font-style:normal; + font-weight:300; + line-height:150px; + padding:0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Furniture-Plus,.Furniture-Plus +{ + background-color:rgba(255,255,255,1.00); + border-color:transparent; + border-radius:30px 30px 30px 30px; + border-style:none; + border-width:0; + box-shadow:rgba(0,0,0,0.1) 0 1px 3px; + color:rgba(230,207,163,1.00); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:400; + line-height:20px; + padding:6px 7px 4px; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Furniture-Title,.Furniture-Title +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(0,0,0,1.00); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:700; + letter-spacing:3px; + line-height:20px; + padding:0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Furniture-Subtitle,.Furniture-Subtitle +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(0,0,0,1.00); + font-family:Raleway; + font-size:17px; + font-style:normal; + font-weight:300; + line-height:20px; + padding:0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Gym-Display,.Gym-Display +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:80px; + font-style:normal; + font-weight:900; + line-height:70px; + padding:0; + text-decoration:none; +} + +.tp-caption.Gym-Subline,.Gym-Subline +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:30px; + font-style:normal; + font-weight:100; + letter-spacing:5px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Gym-SmallText,.Gym-SmallText +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:17px; + font-style:normal; + font-weight:300; + line-height:22; + padding:0; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Fashion-SmallText,.Fashion-SmallText +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:12px; + font-style:normal; + font-weight:600; + letter-spacing:2px; + line-height:20px; + padding:0; + text-decoration:none; +} + +.tp-caption.Fashion-BigDisplay,.Fashion-BigDisplay +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(0,0,0,1.00); + font-family:Raleway; + font-size:60px; + font-style:normal; + font-weight:900; + letter-spacing:2px; + line-height:60px; + padding:0; + text-decoration:none; +} + +.tp-caption.Fashion-TextBlock,.Fashion-TextBlock +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(0,0,0,1.00); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:400; + letter-spacing:2px; + line-height:40px; + padding:0; + text-decoration:none; +} + +.tp-caption.Sports-Display,.Sports-Display +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:130px; + font-style:normal; + font-weight:100; + letter-spacing:13px; + line-height:130px; + padding:0; + text-decoration:none; +} + +.tp-caption.Sports-DisplayFat,.Sports-DisplayFat +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:130px; + font-style:normal; + font-weight:900; + line-height:130px; + padding:0; + text-decoration:none; +} + +.tp-caption.Sports-Subline,.Sports-Subline +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(0,0,0,1.00); + font-family:Raleway; + font-size:32px; + font-style:normal; + font-weight:400; + letter-spacing:4px; + line-height:32px; + padding:0; + text-decoration:none; +} + +.tp-caption.Instagram-Caption,.Instagram-Caption +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:20px; + font-style:normal; + font-weight:900; + line-height:20px; + padding:0; + text-decoration:none; +} + +.tp-caption.News-Title,.News-Title +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto Slab; + font-size:70px; + font-style:normal; + font-weight:400; + line-height:60px; + padding:0; + text-decoration:none; +} + +.tp-caption.News-Subtitle,.News-Subtitle +{ + background-color:rgba(255,255,255,0); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto Slab; + font-size:15px; + font-style:normal; + font-weight:300; + line-height:24px; + padding:0; + text-decoration:none; +} + +.tp-caption.News-Subtitle:hover,.News-Subtitle:hover +{ + background-color:rgba(255,255,255,0); + border-color:transparent; + border-radius:0 0 0 0; + border-style:solid; + border-width:0; + color:rgba(255,255,255,0.65); + text-decoration:none; +} + +.tp-caption.Photography-Display,.Photography-Display +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:80px; + font-style:normal; + font-weight:100; + letter-spacing:5px; + line-height:70px; + padding:0; + text-decoration:none; +} + +.tp-caption.Photography-Subline,.Photography-Subline +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(119,119,119,1.00); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:300; + letter-spacing:3px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Photography-ImageHover,.Photography-ImageHover +{ + background-color:transparent; + border-color:rgba(255,255,255,0); + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-size:20px; + font-style:normal; + font-weight:400; + line-height:22; + padding:0; + text-decoration:none; +} + +.tp-caption.Photography-ImageHover:hover,.Photography-ImageHover:hover +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Photography-Menuitem,.Photography-Menuitem +{ + background-color:rgba(0,0,0,0.65); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:300; + letter-spacing:2px; + line-height:20px; + padding:3px 5px 3px 8px; + text-decoration:none; +} + +.tp-caption.Photography-Menuitem:hover,.Photography-Menuitem:hover +{ + background-color:rgba(0,255,222,0.65); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Photography-Textblock,.Photography-Textblock +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:17px; + font-style:normal; + font-weight:300; + letter-spacing:2px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Photography-Subline-2,.Photography-Subline-2 +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,0.35); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:300; + letter-spacing:3px; + line-height:30px; + padding:0; + text-decoration:none; +} + +.tp-caption.Photography-ImageHover2,.Photography-ImageHover2 +{ + background-color:transparent; + border-color:rgba(255,255,255,0); + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Arial; + font-size:20px; + font-style:normal; + font-weight:400; + line-height:22; + padding:0; + text-decoration:none; +} + +.tp-caption.Photography-ImageHover2:hover,.Photography-ImageHover2:hover +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.WebProduct-Title,.WebProduct-Title +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(51,51,51,1.00); + font-family:Raleway; + font-size:90px; + font-style:normal; + font-weight:100; + line-height:90px; + padding:0; + text-decoration:none; +} + +.tp-caption.WebProduct-SubTitle,.WebProduct-SubTitle +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(153,153,153,1.00); + font-family:Raleway; + font-size:15px; + font-style:normal; + font-weight:400; + line-height:20px; + padding:0; + text-decoration:none; +} + +.tp-caption.WebProduct-Content,.WebProduct-Content +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(153,153,153,1.00); + font-family:Raleway; + font-size:16px; + font-style:normal; + font-weight:600; + line-height:24px; + padding:0; + text-decoration:none; +} + +.tp-caption.WebProduct-Menuitem,.WebProduct-Menuitem +{ + background-color:rgba(51,51,51,1.00); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:15px; + font-style:normal; + font-weight:500; + letter-spacing:2px; + line-height:20px; + padding:3px 5px 3px 8px; + text-align:left; + text-decoration:none; +} + +.tp-caption.WebProduct-Menuitem:hover,.WebProduct-Menuitem:hover +{ + background-color:rgba(255,255,255,1.00); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(153,153,153,1.00); + text-decoration:none; +} + +.tp-caption.WebProduct-Title-Light,.WebProduct-Title-Light +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:90px; + font-style:normal; + font-weight:100; + line-height:90px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.WebProduct-SubTitle-Light,.WebProduct-SubTitle-Light +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,0.35); + font-family:Raleway; + font-size:15px; + font-style:normal; + font-weight:400; + line-height:20px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.WebProduct-Content-Light,.WebProduct-Content-Light +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,0.65); + font-family:Raleway; + font-size:16px; + font-style:normal; + font-weight:600; + line-height:24px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.FatRounded,.FatRounded +{ + background-color:rgba(0,0,0,0.50); + border-color:rgba(211,211,211,1.00); + border-radius:50px 50px 50px 50px; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:30px; + font-style:normal; + font-weight:900; + line-height:30px; + padding:20px 22px 20px 25px; + text-align:left; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.FatRounded:hover,.FatRounded:hover +{ + background-color:rgba(0,0,0,1.00); + border-color:rgba(211,211,211,1.00); + border-radius:50px 50px 50px 50px; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.NotGeneric-Title,.NotGeneric-Title +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:70px; + font-style:normal; + font-weight:800; + line-height:70px; + padding:10px 0; + text-decoration:none; +} + +.tp-caption.NotGeneric-SubTitle,.NotGeneric-SubTitle +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:13px; + font-style:normal; + font-weight:500; + letter-spacing:4px; + line-height:20px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-CallToAction,.NotGeneric-CallToAction +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.50); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:14px; + font-style:normal; + font-weight:500; + letter-spacing:3px; + line-height:14px; + padding:10px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-CallToAction:hover,.NotGeneric-CallToAction:hover +{ + background-color:transparent; + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.NotGeneric-Icon,.NotGeneric-Icon +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0); + border-radius:0 0 0 0; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:30px; + font-style:normal; + font-weight:400; + letter-spacing:3px; + line-height:30px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-Menuitem,.NotGeneric-Menuitem +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.15); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:14px; + font-style:normal; + font-weight:500; + letter-spacing:3px; + line-height:14px; + padding:27px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-Menuitem:hover,.NotGeneric-Menuitem:hover +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.MarkerStyle,.MarkerStyle +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:"Permanent Marker"; + font-size:17px; + font-style:normal; + font-weight:100; + line-height:30px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.Gym-Menuitem,.Gym-Menuitem +{ + background-color:rgba(0,0,0,1.00); + border-color:rgba(255,255,255,0); + border-radius:3px 3px 3px 3px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:20px; + font-style:normal; + font-weight:300; + letter-spacing:2px; + line-height:20px; + padding:3px 5px 3px 8px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Gym-Menuitem:hover,.Gym-Menuitem:hover +{ + background-color:rgba(0,0,0,1.00); + border-color:rgba(255,255,255,0.25); + border-radius:3px 3px 3px 3px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Newspaper-Button,.Newspaper-Button +{ + background-color:rgba(255,255,255,0); + border-color:rgba(255,255,255,0.25); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:13px; + font-style:normal; + font-weight:700; + letter-spacing:2px; + line-height:17px; + padding:12px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Newspaper-Button:hover,.Newspaper-Button:hover +{ + background-color:rgba(255,255,255,1.00); + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(0,0,0,1.00); + text-decoration:none; +} + +.tp-caption.Newspaper-Subtitle,.Newspaper-Subtitle +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(168,216,238,1.00); + font-family:Roboto; + font-size:15px; + font-style:normal; + font-weight:900; + line-height:20px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.Newspaper-Title,.Newspaper-Title +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:"Roboto Slab"; + font-size:50px; + font-style:normal; + font-weight:400; + line-height:55px; + padding:0 0 10px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Newspaper-Title-Centered,.Newspaper-Title-Centered +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:"Roboto Slab"; + font-size:50px; + font-style:normal; + font-weight:400; + line-height:55px; + padding:0 0 10px; + text-align:center; + text-decoration:none; +} + +.tp-caption.Hero-Button,.Hero-Button +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.50); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:14px; + font-style:normal; + font-weight:500; + letter-spacing:3px; + line-height:14px; + padding:10px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Hero-Button:hover,.Hero-Button:hover +{ + background-color:rgba(255,255,255,1.00); + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(0,0,0,1.00); + text-decoration:none; +} + +.tp-caption.Video-Title,.Video-Title +{ + background-color:rgba(0,0,0,1.00); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:30px; + font-style:normal; + font-weight:900; + line-height:30px; + padding:5px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Video-SubTitle,.Video-SubTitle +{ + background-color:rgba(0,0,0,0.35); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:12px; + font-style:normal; + font-weight:600; + letter-spacing:2px; + line-height:12px; + padding:5px; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-Button,.NotGeneric-Button +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.50); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:14px; + font-style:normal; + font-weight:500; + letter-spacing:3px; + line-height:14px; + padding:10px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-Button:hover,.NotGeneric-Button:hover +{ + background-color:transparent; + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.NotGeneric-BigButton,.NotGeneric-BigButton +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.15); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:14px; + font-style:normal; + font-weight:500; + letter-spacing:3px; + line-height:14px; + padding:27px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.NotGeneric-BigButton:hover,.NotGeneric-BigButton:hover +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.WebProduct-Button,.WebProduct-Button +{ + background-color:rgba(51,51,51,1.00); + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:none; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:16px; + font-style:normal; + font-weight:600; + letter-spacing:1px; + line-height:48px; + padding:0 40px; + text-align:left; + text-decoration:none; +} + +.tp-caption.WebProduct-Button:hover,.WebProduct-Button:hover +{ + background-color:rgba(255,255,255,1.00); + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:none; + border-width:2px; + color:rgba(51,51,51,1.00); + text-decoration:none; +} + +.tp-caption.Restaurant-Button,.Restaurant-Button +{ + background-color:rgba(10,10,10,0); + border-color:rgba(255,255,255,0.50); + border-radius:0 0 0 0; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:500; + letter-spacing:3px; + line-height:17px; + padding:12px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Restaurant-Button:hover,.Restaurant-Button:hover +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,224,129,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Gym-Button,.Gym-Button +{ + background-color:rgba(139,192,39,1.00); + border-color:rgba(0,0,0,0); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:15px; + font-style:normal; + font-weight:600; + letter-spacing:1px; + line-height:15px; + padding:13px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Gym-Button:hover,.Gym-Button:hover +{ + background-color:rgba(114,168,0,1.00); + border-color:rgba(0,0,0,0); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Gym-Button-Light,.Gym-Button-Light +{ + background-color:transparent; + border-color:rgba(255,255,255,0.25); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:15px; + font-style:normal; + font-weight:600; + line-height:15px; + padding:12px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Gym-Button-Light:hover,.Gym-Button-Light:hover +{ + background-color:rgba(114,168,0,0); + border-color:rgba(139,192,39,1.00); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Sports-Button-Light,.Sports-Button-Light +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.50); + border-radius:0 0 0 0; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:17px; + font-style:normal; + font-weight:600; + letter-spacing:2px; + line-height:17px; + padding:12px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Sports-Button-Light:hover,.Sports-Button-Light:hover +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Sports-Button-Red,.Sports-Button-Red +{ + background-color:rgba(219,28,34,1.00); + border-color:rgba(219,28,34,0); + border-radius:0 0 0 0; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:17px; + font-style:normal; + font-weight:600; + letter-spacing:2px; + line-height:17px; + padding:12px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Sports-Button-Red:hover,.Sports-Button-Red:hover +{ + background-color:rgba(0,0,0,1.00); + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Photography-Button,.Photography-Button +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.25); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + font-family:Raleway; + font-size:15px; + font-style:normal; + font-weight:600; + letter-spacing:1px; + line-height:15px; + padding:13px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Photography-Button:hover,.Photography-Button:hover +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,1.00); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:1px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Newspaper-Button-2,.Newspaper-Button-2 +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,0.50); + border-radius:3px 3px 3px 3px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:15px; + font-style:normal; + font-weight:900; + line-height:15px; + padding:10px 30px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Newspaper-Button-2:hover,.Newspaper-Button-2:hover +{ + background-color:rgba(0,0,0,0); + border-color:rgba(255,255,255,1.00); + border-radius:3px 3px 3px 3px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Feature-Tour,.Feature-Tour +{ + background-color:rgba(139,192,39,1.00); + border-color:rgba(0,0,0,0); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:700; + line-height:17px; + padding:17px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Feature-Tour:hover,.Feature-Tour:hover +{ + background-color:rgba(114,168,0,1.00); + border-color:rgba(0,0,0,0); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Feature-Examples,.Feature-Examples +{ + background-color:transparent; + border-color:rgba(33,42,64,0.15); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:2px; + color:rgba(33,42,64,0.50); + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:700; + line-height:17px; + padding:15px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Feature-Examples:hover,.Feature-Examples:hover +{ + background-color:transparent; + border-color:rgba(139,192,39,1.00); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:2px; + color:rgba(139,192,39,1.00); + text-decoration:none; +} + +.tp-caption.subcaption,.subcaption +{ + background-color:transparent; + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(111,124,130,1.00); + font-family:roboto; + font-size:19px; + font-style:normal; + font-weight:400; + line-height:24px; + padding:0; + text-align:left; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.menutab,.menutab +{ + background-color:transparent; + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(41,46,49,1.00); + font-family:roboto; + font-size:25px; + font-style:normal; + font-weight:300; + line-height:30px; + padding:0; + text-align:left; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.menutab:hover,.menutab:hover +{ + background-color:transparent; + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(213,0,0,1.00); + text-decoration:none; +} + +.tp-caption.maincontent,.maincontent +{ + background-color:transparent; + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(41,46,49,1.00); + font-family:roboto; + font-size:21px; + font-style:normal; + font-weight:300; + line-height:26px; + padding:0; + text-align:left; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.minitext,.minitext +{ + background-color:transparent; + border-color:rgba(0,0,0,1.00); + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(185,186,187,1.00); + font-family:roboto; + font-size:15px; + font-style:normal; + font-weight:400; + line-height:20px; + padding:0; + text-align:left; + text-decoration:none; + text-shadow:none; +} + +.tp-caption.Feature-Buy,.Feature-Buy +{ + background-color:rgba(0,154,238,1.00); + border-color:rgba(0,0,0,0); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:700; + line-height:17px; + padding:17px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Feature-Buy:hover,.Feature-Buy:hover +{ + background-color:rgba(0,133,214,1.00); + border-color:rgba(0,0,0,0); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Feature-Examples-Light,.Feature-Examples-Light +{ + background-color:transparent; + border-color:rgba(255,255,255,0.15); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:17px; + font-style:normal; + font-weight:700; + line-height:17px; + padding:15px 35px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Feature-Examples-Light:hover,.Feature-Examples-Light:hover +{ + background-color:transparent; + border-color:rgba(255,255,255,1.00); + border-radius:30px 30px 30px 30px; + border-style:solid; + border-width:2px; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Facebook-Likes,.Facebook-Likes +{ + background-color:rgba(59,89,153,1.00); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + font-family:Roboto; + font-size:15px; + font-style:normal; + font-weight:500; + line-height:22px; + padding:5px 15px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Twitter-Favorites,.Twitter-Favorites +{ + background-color:rgba(255,255,255,0); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(136,153,166,1.00); + font-family:Roboto; + font-size:15px; + font-style:normal; + font-weight:500; + line-height:22px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.Twitter-Link,.Twitter-Link +{ + background-color:rgba(255,255,255,1.00); + border-color:transparent; + border-radius:30px 30px 30px 30px; + border-style:none; + border-width:0; + color:rgba(135,153,165,1.00); + font-family:Roboto; + font-size:15px; + font-style:normal; + font-weight:500; + line-height:15px; + padding:11px 11px 9px; + text-align:left; + text-decoration:none; +} + +.tp-caption.Twitter-Link:hover,.Twitter-Link:hover +{ + background-color:rgba(0,132,180,1.00); + border-color:transparent; + border-radius:30px 30px 30px 30px; + border-style:none; + border-width:0; + color:rgba(255,255,255,1.00); + text-decoration:none; +} + +.tp-caption.Twitter-Retweet,.Twitter-Retweet +{ + background-color:rgba(255,255,255,0); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(136,153,166,1.00); + font-family:Roboto; + font-size:15px; + font-style:normal; + font-weight:500; + line-height:22px; + padding:0; + text-align:left; + text-decoration:none; +} + +.tp-caption.Twitter-Content,.Twitter-Content +{ + background-color:rgba(255,255,255,1.00); + border-color:transparent; + border-radius:0 0 0 0; + border-style:none; + border-width:0; + color:rgba(41,47,51,1.00); + font-family:Roboto; + font-size:20px; + font-style:normal; + font-weight:500; + line-height:28px; + padding:30px 30px 70px; + text-align:left; + text-decoration:none; +} + +.revtp-searchform input[type="text"], +.revtp-searchform input[type="email"], +.revtp-form input[type="text"], +.revtp-form input[type="email"]{ + font-family: "Arial", sans-serif; + font-size: 15px; + color: #000; + background-color: #fff; + line-height: 46px; + padding: 0 20px; + cursor: text; + border: 0; + width: 400px; + margin-bottom: 0px; + -webkit-transition: background-color 0.5s; + -moz-transition: background-color 0.5s; + -o-transition: background-color 0.5s; + -ms-transition: background-color 0.5s; + transition: background-color 0.5s; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} + + +.tp-caption.BigBold-Title, +.BigBold-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 110px; + line-height: 100px; + font-weight: 800; + font-style: normal; + font-family: Raleway; + padding: 10px 0px 10px 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.BigBold-SubTitle, +.BigBold-SubTitle { + color: rgba(255, 255, 255, 0.50); + font-size: 15px; + line-height: 24px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.BigBold-Button, +.BigBold-Button { + color: rgba(255, 255, 255, 1.00); + font-size: 13px; + line-height: 13px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 15px 50px 15px 50px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 0.50); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.BigBold-Button:hover, +.BigBold-Button:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px +} +.tp-caption.FoodCarousel-Content, +.FoodCarousel-Content { + color: rgba(41, 46, 49, 1.00); + font-size: 17px; + line-height: 28px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 30px 30px 30px 30px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(41, 46, 49, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.FoodCarousel-Button, +.FoodCarousel-Button { + color: rgba(41, 46, 49, 1.00); + font-size: 13px; + line-height: 13px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + padding: 15px 70px 15px 50px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(41, 46, 49, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.FoodCarousel-Button:hover, +.FoodCarousel-Button:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(41, 46, 49, 1.00); + border-color: rgba(41, 46, 49, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px +} +.tp-caption.FoodCarousel-CloseButton, +.FoodCarousel-CloseButton { + color: rgba(41, 46, 49, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + padding: 14px 14px 14px 16px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(41, 46, 49, 0); + border-style: solid; + border-width: 1px; + border-radius: 30px 30px 30px 30px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.FoodCarousel-CloseButton:hover, +.FoodCarousel-CloseButton:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(41, 46, 49, 1.00); + border-color: rgba(41, 46, 49, 0); + border-style: solid; + border-width: 1px; + border-radius: 30px 30px 30px 30px +} +.tp-caption.Video-SubTitle, +.Video-SubTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 12px; + line-height: 12px; + font-weight: 600; + font-style: normal; + font-family: Raleway; + padding: 5px 5px 5px 5px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0.35); + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + letter-spacing: 2px; + text-align: left +} +.tp-caption.Video-Title, +.Video-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 30px; + line-height: 30px; + font-weight: 900; + font-style: normal; + font-family: Raleway; + padding: 5px 5px 5px 5px; + text-decoration: none; + background-color: rgba(0, 0, 0, 1.00); + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Travel-BigCaption, +.Travel-BigCaption { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Travel-SmallCaption, +.Travel-SmallCaption { + color: rgba(255, 255, 255, 1.00); + font-size: 25px; + line-height: 30px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Travel-CallToAction, +.Travel-CallToAction { + color: rgba(255, 255, 255, 1.00); + font-size: 25px; + line-height: 25px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 20px 12px 20px; + text-decoration: none; + background-color: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 5px 5px 5px 5px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.Travel-CallToAction:hover, +.Travel-CallToAction:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 5px 5px 5px 5px +} + + +.tp-caption.RotatingWords-TitleWhite, +.RotatingWords-TitleWhite { + color: rgba(255, 255, 255, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 800; + font-style: normal; + font-family: Raleway; + padding: 0px 0px 0px 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.RotatingWords-Button, +.RotatingWords-Button { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + padding: 20px 50px 20px 50px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 0.15); + border-style: solid; + border-width: 2px; + border-radius: 0px 0px 0px 0px; + text-align: left; + letter-spacing: 3px +} +.tp-caption.RotatingWords-Button:hover, +.RotatingWords-Button:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 0px 0px 0px 0px +} +.tp-caption.RotatingWords-SmallText, +.RotatingWords-SmallText { + color: rgba(255, 255, 255, 1.00); + font-size: 14px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + text-shadow: none +} + + + + +.tp-caption.ContentZoom-SmallTitle, +.ContentZoom-SmallTitle { + color: rgba(41, 46, 49, 1.00); + font-size: 33px; + line-height: 45px; + font-weight: 600; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ContentZoom-SmallSubtitle, +.ContentZoom-SmallSubtitle { + color: rgba(111, 124, 130, 1.00); + font-size: 16px; + line-height: 24px; + font-weight: 600; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ContentZoom-SmallIcon, +.ContentZoom-SmallIcon { + color: rgba(41, 46, 49, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Raleway; + padding: 10px 10px 10px 10px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ContentZoom-SmallIcon:hover, +.ContentZoom-SmallIcon:hover { + color: rgba(111, 124, 130, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px +} +.tp-caption.ContentZoom-DetailTitle, +.ContentZoom-DetailTitle { + color: rgba(41, 46, 49, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ContentZoom-DetailSubTitle, +.ContentZoom-DetailSubTitle { + color: rgba(111, 124, 130, 1.00); + font-size: 25px; + line-height: 25px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ContentZoom-DetailContent, +.ContentZoom-DetailContent { + color: rgba(111, 124, 130, 1.00); + font-size: 17px; + line-height: 28px; + font-weight: 500; + font-style: normal; + font-family: Raleway; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ContentZoom-Button, +.ContentZoom-Button { + color: rgba(41, 46, 49, 1.00); + font-size: 13px; + line-height: 13px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + padding: 15px 50px 15px 50px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(41, 46, 49, 0.50); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.ContentZoom-Button:hover, +.ContentZoom-Button:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(41, 46, 49, 1.00); + border-color: rgba(41, 46, 49, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px +} +.tp-caption.ContentZoom-ButtonClose, +.ContentZoom-ButtonClose { + color: rgba(41, 46, 49, 1.00); + font-size: 13px; + line-height: 13px; + font-weight: 700; + font-style: normal; + font-family: Raleway; + padding: 14px 14px 14px 16px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(41, 46, 49, 0.50); + border-style: solid; + border-width: 1px; + border-radius: 30px 30px 30px 30px; + text-align: left; + letter-spacing: 1px +} +.tp-caption.ContentZoom-ButtonClose:hover, +.ContentZoom-ButtonClose:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(41, 46, 49, 1.00); + border-color: rgba(41, 46, 49, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 30px 30px 30px 30px +} +.tp-caption.Newspaper-Title, +.Newspaper-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 55px; + font-weight: 400; + font-style: normal; + font-family: "Roboto Slab"; + padding: 0 0 10px 0; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Newspaper-Subtitle, +.Newspaper-Subtitle { + color: rgba(168, 216, 238, 1.00); + font-size: 15px; + line-height: 20px; + font-weight: 900; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Newspaper-Button, +.Newspaper-Button { + color: rgba(255, 255, 255, 1.00); + font-size: 13px; + line-height: 17px; + font-weight: 700; + font-style: normal; + font-family: Roboto; + padding: 12px 35px 12px 35px; + text-decoration: none; + background-color: rgba(255, 255, 255, 0); + border-color: rgba(255, 255, 255, 0.25); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 2px; + text-align: left +} +.tp-caption.Newspaper-Button:hover, +.Newspaper-Button:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px +} +.tp-caption.rtwhitemedium, +.rtwhitemedium { + font-size: 22px; + line-height: 26px; + color: rgb(255, 255, 255); + text-decoration: none; + background-color: transparent; + border-width: 0px; + border-color: rgb(0, 0, 0); + border-style: none; + text-shadow: none +} + +@media only screen and (max-width: 767px) { + .revtp-searchform input[type="text"], + .revtp-searchform input[type="email"], + .revtp-form input[type="text"], + .revtp-form input[type="email"] { width: 200px !important; } +} + +.revtp-searchform input[type="submit"], +.revtp-form input[type="submit"] { + font-family: "Arial", sans-serif; + line-height: 46px; + letter-spacing: 1px; + text-transform: uppercase; + font-size: 15px; + font-weight: 700; + padding: 0 20px; + border: 0; + background: #009aee; + color: #fff; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} + +.tp-caption.Twitter-Content a, + .tp-caption.Twitter-Content a:visited { + color: #0084B4 !important + } + .tp-caption.Twitter-Content a:hover { + color: #0084B4 !important; + text-decoration: underline !important + } + .tp-caption.Concept-Title, + .Concept-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 700; + font-style: normal; + font-family: Roboto Condensed; + padding: 0px 0px 10px 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 5px + } + .tp-caption.Concept-SubTitle, + .Concept-SubTitle { + color: rgba(255, 255, 255, 0.65); + font-size: 25px; + line-height: 25px; + font-weight: 700; + font-style: italic; + font-family: Playfair Display; + padding: 0px 0px 10px 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px + } + .tp-caption.Concept-Content, + .Concept-Content { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 30px; + font-weight: 400; + font-style: normal; + font-family: Roboto Condensed; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: center; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 1.00); + border-style: none; + border-width: 2px; + border-radius: 0px 0px 0px 0px + } + .tp-caption.Concept-MoreBtn, + .Concept-MoreBtn { + color: rgba(255, 255, 255, 1.00); + font-size: 30px; + line-height: 30px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 10px 8px 7px 10px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 50px 50px 50px 50px; + letter-spacing: 1px; + text-align: left + } + .tp-caption.Concept-MoreBtn:hover, + .Concept-MoreBtn:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 50px 50px 50px 50px + } + .tp-caption.Concept-LessBtn, + .Concept-LessBtn { + color: rgba(255, 255, 255, 1.00); + font-size: 30px; + line-height: 30px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 10px 8px 7px 10px; + text-decoration: none; + text-align: left; + background-color: rgba(0, 0, 0, 1.00); + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 50px 50px 50px 50px; + letter-spacing: 1px; + text-align: left + } + .tp-caption.Concept-LessBtn:hover, + .Concept-LessBtn:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 50px 50px 50px 50px + } + .tp-caption.Concept-SubTitle-Dark, + .Concept-SubTitle-Dark { + color: rgba(0, 0, 0, 0.65); + font-size: 25px; + line-height: 25px; + font-weight: 700; + font-style: italic; + font-family: Playfair Display; + padding: 0px 0px 10px 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px + } + .tp-caption.Concept-Title-Dark, + .Concept-Title-Dark { + color: rgba(0, 0, 0, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 700; + font-style: normal; + font-family: Roboto Condensed; + padding: 0px 0px 10px 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 5px + } + .tp-caption.Concept-MoreBtn-Dark, + .Concept-MoreBtn-Dark { + color: rgba(0, 0, 0, 1.00); + font-size: 30px; + line-height: 30px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 10px 8px 7px 10px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 50px 50px 50px 50px; + letter-spacing: 1px; + text-align: left + } + .tp-caption.Concept-MoreBtn-Dark:hover, + .Concept-MoreBtn-Dark:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(0, 0, 0, 1.00); + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 50px 50px 50px 50px + } + .tp-caption.Concept-Content-Dark, + .Concept-Content-Dark { + color: rgba(0, 0, 0, 1.00); + font-size: 20px; + line-height: 30px; + font-weight: 400; + font-style: normal; + font-family: Roboto Condensed; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: center; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 1.00); + border-style: none; + border-width: 2px; + border-radius: 0px 0px 0px 0px + } + .tp-caption.Concept-Notice, + .Concept-Notice { + color: rgba(255, 255, 255, 1.00); + font-size: 15px; + line-height: 15px; + font-weight: 400; + font-style: normal; + font-family: Roboto Condensed; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: center; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 1.00); + border-style: none; + border-width: 2px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 2px + } + .tp-caption.Concept-Content a, + .tp-caption.Concept-Content a:visited { + color: #fff !important; + border-bottom: 1px solid #fff !important; + font-weight: 700 !important; + } + .tp-caption.Concept-Content a:hover { + border-bottom: 1px solid transparent !important; + } + .tp-caption.Concept-Content-Dark a, + .tp-caption.Concept-Content-Dark a:visited { + color: #000 !important; + border-bottom: 1px solid #000 !important; + font-weight: 700 !important; + } + .tp-caption.Concept-Content-Dark a:hover { + border-bottom: 1px solid transparent !important; + } + + .tp-caption.Twitter-Content a, + .tp-caption.Twitter-Content a:visited { + color: #0084B4 !important + } + .tp-caption.Twitter-Content a:hover { + color: #0084B4 !important; + text-decoration: underline !important + } + .tp-caption.Creative-Title, + .Creative-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 400; + font-style: normal; + font-family: Playfair Display; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px + } + .tp-caption.Creative-SubTitle, + .Creative-SubTitle { + color: rgba(205, 176, 131, 1.00); + font-size: 14px; + line-height: 14px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 2px + } + .tp-caption.Creative-Button, + .Creative-Button { + color: rgba(205, 176, 131, 1.00); + font-size: 13px; + line-height: 13px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 15px 50px 15px 50px; + text-decoration: none; + text-align: left; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(205, 176, 131, 0.25); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 2px + } + .tp-caption.Creative-Button:hover, + .Creative-Button:hover { + color: rgba(205, 176, 131, 1.00); + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(205, 176, 131, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px + } + +.tp-caption.subcaption, + .subcaption { + color: rgba(111, 124, 130, 1.00); + font-size: 19px; + line-height: 24px; + font-weight: 400; + font-style: normal; + font-family: roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: rgba(0, 0, 0, 1.00); + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-shadow: none; + text-align: left + } + .tp-caption.RedDot, + .RedDot { + color: rgba(0, 0, 0, 1.00); + font-weight: 400; + font-style: normal; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: left; + background-color: rgba(213, 0, 0, 1.00); + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 5px; + border-radius: 50px 50px 50px 50px + } + .tp-caption.RedDot:hover, + .RedDot:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 0.75); + border-color: rgba(213, 0, 0, 1.00); + border-style: solid; + border-width: 5px; + border-radius: 50px 50px 50px 50px + } + + .tp-caption.SlidingOverlays-Title, + .SlidingOverlays-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Playfair Display; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px + } + .tp-caption.SlidingOverlays-Title, + .SlidingOverlays-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Playfair Display; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px + } + + .tp-caption.Woo-TitleLarge, + .Woo-TitleLarge { + color: rgba(0, 0, 0, 1.00); + font-size: 40px; + line-height: 40px; + font-weight: 400; + font-style: normal; + font-family: Playfair Display; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + type: text + } + .tp-caption.Woo-Rating, + .Woo-Rating { + color: rgba(0, 0, 0, 1.00); + font-size: 14px; + line-height: 30px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + type: text + } + .tp-caption.Woo-SubTitle, + .Woo-SubTitle { + color: rgba(0, 0, 0, 1.00); + font-size: 18px; + line-height: 18px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 2px; + type: text + } + .tp-caption.Woo-PriceLarge, + .Woo-PriceLarge { + color: rgba(0, 0, 0, 1.00); + font-size: 60px; + line-height: 60px; + font-weight: 700; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + type: text + } + .tp-caption.Woo-ProductInfo, + .Woo-ProductInfo { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 15px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 75px 12px 50px; + text-decoration: none; + background-color: rgba(254, 207, 114, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px; + text-align: left; + type: button + } + .tp-caption.Woo-ProductInfo:hover, + .Woo-ProductInfo:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(243, 168, 71, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px + } + .tp-caption.Woo-AddToCart, + .Woo-AddToCart { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 15px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 35px 12px 35px; + text-decoration: none; + background-color: rgba(254, 207, 114, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px; + text-align: left; + type: button + } + .tp-caption.Woo-AddToCart:hover, + .Woo-AddToCart:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(243, 168, 71, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px + } + .tp-caption.Woo-TitleLarge, + .Woo-TitleLarge { + color: rgba(0, 0, 0, 1.00); + font-size: 40px; + line-height: 40px; + font-weight: 400; + font-style: normal; + font-family: Playfair Display; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + type: text + } + .tp-caption.Woo-SubTitle, + .Woo-SubTitle { + color: rgba(0, 0, 0, 1.00); + font-size: 18px; + line-height: 18px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 2px; + type: text + } + .tp-caption.Woo-PriceLarge, + .Woo-PriceLarge { + color: rgba(0, 0, 0, 1.00); + font-size: 60px; + line-height: 60px; + font-weight: 700; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + type: text + } + .tp-caption.Woo-ProductInfo, + .Woo-ProductInfo { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 15px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 75px 12px 50px; + text-decoration: none; + background-color: rgba(254, 207, 114, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px; + text-align: left; + type: button + } + .tp-caption.Woo-ProductInfo:hover, + .Woo-ProductInfo:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(243, 168, 71, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px + } + .tp-caption.Woo-AddToCart, + .Woo-AddToCart { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 15px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 12px 35px 12px 35px; + text-decoration: none; + background-color: rgba(254, 207, 114, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px; + text-align: left; + type: button + } + .tp-caption.Woo-AddToCart:hover, + .Woo-AddToCart:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(243, 168, 71, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 4px 4px 4px 4px + } + + .tp-caption.FullScreen-Toggle, + .FullScreen-Toggle { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Raleway; + padding: 11px 8px 11px 12px; + text-decoration: none; + text-align: left; + background-color: rgba(0, 0, 0, 0.50); + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + letter-spacing: 3px; + text-align: left + } + .tp-caption.FullScreen-Toggle:hover, + .FullScreen-Toggle:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(0, 0, 0, 1.00); + border-color: rgba(255, 255, 255, 0); + border-style: solid; + border-width: 0px; + border-radius: 0px 0px 0px 0px + } + + .tp-caption.Agency-Title, +.Agency-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 900; + font-style: normal; + font-family: lato; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 10px +} +.tp-caption.Agency-SubTitle, +.Agency-SubTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: italic; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.Agency-PlayBtn, +.Agency-PlayBtn { + color: rgba(255, 255, 255, 1.00); + font-size: 30px; + line-height: 71px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 0px 0px 0px; + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 100px 100px 100px 100px; + text-align: center +} +.tp-caption.Agency-PlayBtn:hover, +.Agency-PlayBtn:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 100px 100px 100px 100px; + cursor: pointer +} +.tp-caption.Agency-SmallText, +.Agency-SmallText { + color: rgba(255, 255, 255, 1.00); + font-size: 12px; + line-height: 12px; + font-weight: 900; + font-style: normal; + font-family: lato; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 5px +} +.tp-caption.Agency-Social, +.Agency-Social { + color: rgba(51, 51, 51, 1.00); + font-size: 25px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: rgba(51, 51, 51, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 30px 30px 30px 30px; + text-align: center +} +.tp-caption.Agency-Social:hover, +.Agency-Social:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(51, 51, 51, 1.00); + border-color: rgba(51, 51, 51, 1.00); + border-style: solid; + border-width: 2px; + border-radius: 30px 30px 30px 30px; + cursor: pointer +} +.tp-caption.Agency-CloseBtn, +.Agency-CloseBtn { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 0px 0px 0px; + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + border-style: none; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + text-align: center +} +.tp-caption.Agency-CloseBtn:hover, +.Agency-CloseBtn:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 0); + border-style: none; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + cursor: pointer +} + +.tp-caption.Dining-Title, +.Dining-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 400; + font-style: normal; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 10px +} +.tp-caption.Dining-SubTitle, +.Dining-SubTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Dining-BtnLight, +.Dining-BtnLight { + color: rgba(255, 255, 255, 0.50); + font-size: 15px; + line-height: 15px; + font-weight: 700; + font-style: normal; + font-family: Lato; + padding: 17px 73px 17px 50px; + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 0.25); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + text-align: left; + letter-spacing: 2px +} +.tp-caption.Dining-BtnLight:hover, +.Dining-BtnLight:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(0, 0, 0, 0); + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px +} +.tp-caption.Dining-Social, +.Dining-Social { + color: rgba(255, 255, 255, 1.00); + font-size: 25px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 0.25); + border-style: solid; + border-width: 1px; + border-radius: 30px 30px 30px 30px; + text-align: center +} +.tp-caption.Dining-Social:hover, +.Dining-Social:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: rgba(255, 255, 255, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 30px 30px 30px 30px; + cursor: pointer +} +tp-caption.Team-Thumb, +.Team-Thumb { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 22px; + font-weight: 400; + font-style: normal; + font-family: Arial; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Team-Thumb:hover, +.Team-Thumb:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + cursor: pointer +} +.tp-caption.Team-Name, +.Team-Name { + color: rgba(255, 255, 255, 1.00); + font-size: 70px; + line-height: 70px; + font-weight: 900; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Team-Position, +.Team-Position { + color: rgba(255, 255, 255, 1.00); + font-size: 30px; + line-height: 30px; + font-weight: 400; + font-style: normal; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Team-Description, +.Team-Description { + color: rgba(255, 255, 255, 1.00); + font-size: 18px; + line-height: 28px; + font-weight: 400; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Team-Social, +.Team-Social { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Arial; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.Team-Social:hover, +.Team-Social:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + cursor: pointer +} + +.tp-caption.VideoControls-Play, +.VideoControls-Play { + color: rgba(0, 0, 0, 1.00); + font-size: 50px; + line-height: 120px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 0px 0px 7px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + text-align: center +} +.tp-caption.VideoControls-Play:hover, +.VideoControls-Play:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + cursor: pointer +} +.tp-caption.VideoPlayer-Title, +.VideoPlayer-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 40px; + line-height: 40px; + font-weight: 900; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 10px +} +.tp-caption.VideoPlayer-SubTitle, +.VideoPlayer-SubTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: italic; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.VideoPlayer-Social, +.VideoPlayer-Social { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 400; + font-style: normal; + font-family: Arial; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.VideoPlayer-Social:hover, +.VideoPlayer-Social:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + cursor: pointer +} +.tp-caption.VideoControls-Mute, +.VideoControls-Mute { + color: rgba(0, 0, 0, 1.00); + font-size: 20px; + line-height: 50px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 0px 0px 0px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + text-align: center +} +.tp-caption.VideoControls-Mute:hover, +.VideoControls-Mute:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + cursor: pointer +} +.tp-caption.VideoControls-Pause, +.VideoControls-Pause { + color: rgba(0, 0, 0, 1.00); + font-size: 20px; + line-height: 50px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 0px 0px 0px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + text-align: center +} +.tp-caption.VideoControls-Pause:hover, +.VideoControls-Pause:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 100px 100px 100px 100px; + cursor: pointer + } + +.soundcloudwrapper iframe { + width: 100% !important +} +.tp-caption.SleekLanding-Title, +.SleekLanding-Title { + color: rgba(255, 255, 255, 1.00); + font-size: 35px; + line-height: 40px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 5px +} +.tp-caption.SleekLanding-ButtonBG, +.SleekLanding-ButtonBG { + color: rgba(0, 0, 0, 1.00); + font-size: px; + line-height: px; + font-weight: 700; + font-style: normal; + font-family: ; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: rgba(255, 255, 255, 0.10); + border-color: rgba(0, 0, 0, 0); + border-style: solid; + border-width: 0px; + border-radius: 5px 5px 5px 5px; + text-align: left; + -webkit-box-shadow: inset 0px 2px 0px 0px rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0px 2px 0px 0px rgba(0, 0, 0, 0.15); + box-shadow: inset 0px 2px 0px 0px rgba(0, 0, 0, 0.15) +} +.tp-caption.SleekLanding-SmallTitle, +.SleekLanding-SmallTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 13px; + line-height: 50px; + font-weight: 900; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left; + letter-spacing: 2px +} +.tp-caption.SleekLanding-BottomText, +.SleekLanding-BottomText { + color: rgba(255, 255, 255, 1.00); + font-size: 15px; + line-height: 24px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.SleekLanding-Social, +.SleekLanding-Social { + color: rgba(255, 255, 255, 1.00); + font-size: 22px; + line-height: 30px; + font-weight: 400; + font-style: normal; + font-family: Arial; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.SleekLanding-Social:hover, +.SleekLanding-Social:hover { + color: rgba(0, 0, 0, 0.25); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + cursor: pointer +} +#rev_slider_429_1_wrapper .tp-loader.spinner2 { + background-color: #555555 !important; +} +.tp-fat { + font-weight: 900 !important; +} + +.tp-caption.PostSlider-Category, +.PostSlider-Category { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 15px; + font-weight: 300; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + letter-spacing: 3px; + text-align: left +} +.tp-caption.PostSlider-Title, +.PostSlider-Title { + color: rgba(0, 0, 0, 1.00); + font-size: 40px; + line-height: 40px; + font-weight: 400; + font-style: normal; + font-family: Playfair Display; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.PostSlider-Content, +.PostSlider-Content { + color: rgba(119, 119, 119, 1.00); + font-size: 15px; + line-height: 23px; + font-weight: 400; + font-style: normal; + font-family: Roboto; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.PostSlider-Button, +.PostSlider-Button { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 40px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 1px 56px 1px 32px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + text-align: left +} +.tp-caption.PostSlider-Button:hover, +.PostSlider-Button:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(238, 238, 238, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 1px; + border-radius: 0px 0px 0px 0px; + cursor: pointer +} + +/* media queries */ + +@media only screen and (max-width: 960px) {} @media only screen and (max-width: 768px) {} .tp-caption.LandingPage-Title, +.LandingPage-Title { + color:rgba(255, + 255, + 255, + 1.00); + font-size:70px; + line-height:80px; + font-weight:900; + font-style:normal; + font-family:Lato; + padding:0 0 0 0px; + text-decoration:none; + background-color:transparent; + border-color:transparent; + border-style:none; + border-width:0px; + border-radius:0 0 0 0px; + text-align:left; + letter-spacing:10px +} +.tp-caption.LandingPage-SubTitle, +.LandingPage-SubTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 30px; + font-weight: 400; + font-style: italic; + font-family: Georgia, serif; + padding: 0 0 0 0px; + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.LandingPage-Button, +.LandingPage-Button { + color: rgba(0, 0, 0, 1.00); + font-size: 15px; + line-height: 54px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 35px 0px 35px; + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + text-align: left; + letter-spacing: 3px +} +.tp-caption.LandingPage-Button:hover, +.LandingPage-Button:hover { + color: rgba(0, 0, 0, 1.00); + text-decoration: none; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + cursor: pointer +} +.tp-caption.App-Content a, +.tp-caption.App-Content a:visited { + color: #89124e !important; + border-bottom: 1px solid transparent !important; + font-weight: bold !important; +} +.tp-caption.App-Content a:hover { + border-bottom: 1px solid #89124e !important; +} +.tp-caption.RockBand-LogoText, +.RockBand-LogoText { + color: rgba(255, 255, 255, 1.00); + font-size: 60px; + line-height: 60px; + font-weight: 700; + font-style: normal; + font-family: Oswald; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Twitter-Content a, +.tp-caption.Twitter-Content a:visited { + color: #fff !important; + text-decoration: underline !important; +} +.tp-caption.Twitter-Content a:hover { + color: #fff !important; + text-decoration: none !important; +} +.soundcloudwrapper iframe { + width: 100% !important +} + +.tp-caption.Agency-LogoText, +.Agency-LogoText { + color: rgba(255, 255, 255, 1.00); + font-size: 12px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 1px +} +.tp-caption.ComingSoon-Highlight, +.ComingSoon-Highlight { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 37px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0 20px 3px 20px; + text-decoration: none; + text-align: left; + background-color: rgba(0, 154, 238, 1.00); + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ComingSoon-Count, +.ComingSoon-Count { + color: rgba(255, 255, 255, 1.00); + font-size: 50px; + line-height: 50px; + font-weight: 900; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.ComingSoon-CountUnit, +.ComingSoon-CountUnit { + color: rgba(255, 255, 255, 1.00); + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.ComingSoon-NotifyMe, +.ComingSoon-NotifyMe { + color: rgba(164, 157, 143, 1.00); + font-size: 27px; + line-height: 35px; + font-weight: 600; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} + +#mc_embed_signup input#mce-EMAIL { + font-family: "Lato", sans-serif; + font-size: 15px; + color: #000; + background-color: #fff; + line-height: 46px; + padding: 0 20px; + cursor: text; + border: 1px solid #fff; + width: 400px; + margin-bottom: 0px; + -webkit-transition: background-color 0.5s; + -moz-transition: background-color 0.5s; + -o-transition: background-color 0.5s; + -ms-transition: background-color 0.5s; + transition: background-color 0.5s; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} +#mc_embed_signup input#mce-EMAIL[type="email"]:focus { + background-color: #fff; + border: 1px solid #666; + border-right: 0; +} +#mc_embed_signup input#mc-embedded-subscribe, +#mc_embed_signup input#mc-embedded-subscribe:focus { + font-family: "Lato", sans-serif; + line-height: 46px; + letter-spacing: 1px; + text-transform: uppercase; + font-size: 13px; + font-weight: 900; + padding: 0 20px; + border: 1px solid #009aee; + background: #009aee; + color: #fff; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} +#mc_embed_signup input#mc-embedded-subscribe:hover { + background: #0083d4; +} +@media only screen and (max-width: 767px) { + #mc_embed_signup input#mce-EMAIL { + width: 200px; + } +} +.tp-caption.Agency-SmallTitle, +.Agency-SmallTitle { + color: rgba(255, 255, 255, 1.00); + font-size: 15px; + line-height: 22px; + font-weight: 400; + font-style: normal; + font-family: lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 6px +} +.tp-caption.Agency-SmallContent, +.Agency-SmallContent { + color: rgba(255, 255, 255, 1.00); + font-size: 15px; + line-height: 24px; + font-weight: 400; + font-style: normal; + font-family: lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.Agency-SmallLink, +.Agency-SmallLink { + color: rgba(248, 124, 9, 1.00); + font-size: 12px; + line-height: 22px; + font-weight: 700; + font-style: normal; + font-family: lato; + padding: 0 0 0px 0; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 2px; + border-bottom: 1px solid #f87c09 !important +} +.tp-caption.Agency-SmallLink:hover, +.Agency-SmallLink:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + cursor: pointer +} +.tp-caption.Agency-NavButton, +.Agency-NavButton { + color: rgba(51, 51, 51, 1.00); + font-size: 17px; + line-height: 50px; + font-weight: 500; + font-style: normal; + font-family: Roboto; + padding: 0px 0px 0px 0px; + text-decoration: none; + text-align: center; + background-color: rgba(255, 255, 255, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + text-align: center +} +.tp-caption.Agency-NavButton:hover, +.Agency-NavButton:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: rgba(51, 51, 51, 1.00); + border-color: rgba(0, 0, 0, 1.00); + border-style: solid; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + cursor: pointer +} +.tp-caption.Agency-SmallLinkGreen, +.Agency-SmallLinkGreen { + color: rgba(109, 177, 155, 1.00); + font-size: 12px; + line-height: 22px; + font-weight: 700; + font-style: normal; + font-family: lato; + padding: 0 0 0px 0; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 2px; + border-bottom: 1px solid #6db19b !important +} +.tp-caption.Agency-SmallLinkGreen:hover, +.Agency-SmallLinkGreen:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + cursor: pointer +} +.tp-caption.Agency-SmallLinkBlue, +.Agency-SmallLinkBlue { + color: rgba(153, 153, 153, 1.00); + font-size: 12px; + line-height: 22px; + font-weight: 700; + font-style: normal; + font-family: lato; + padding: 0 0 0px 0; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 2px; + border-bottom: 1px solid #999 !important +} +.tp-caption.Agency-SmallLinkBlue:hover, +.Agency-SmallLinkBlue:hover { + color: rgba(255, 255, 255, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + cursor: pointer +} +.tp-caption.Agency-LogoText, +.Agency-LogoText { + color: rgba(255, 255, 255, 1.00); + font-size: 12px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Lato; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center; + letter-spacing: 1px +} +.tp-caption.Agency-ArrowTooltip, +.Agency-ArrowTooltip { + color: rgba(51, 51, 51, 1.00); + font-size: 15px; + line-height: 20px; + font-weight: 400; + font-style: normal; + font-family: Permanent Marker; + padding: 0 0 0 0px; + text-decoration: none; + text-align: left; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: left +} +.tp-caption.Agency-SmallSocial, +.Agency-SmallSocial { + color: rgba(255, 255, 255, 1.00); + font-size: 30px; + line-height: 30px; + font-weight: 400; + font-style: normal; + font-family: Arial; + padding: 0 0 0 0px; + text-decoration: none; + text-align: center; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0 0 0 0px; + text-align: center +} +.tp-caption.Agency-SmallSocial:hover, +.Agency-SmallSocial:hover { + color: rgba(51, 51, 51, 1.00); + text-decoration: none; + background-color: transparent; + border-color: transparent; + border-style: none; + border-width: 0px; + border-radius: 0px 0px 0px 0px; + cursor: pointer +} \ No newline at end of file diff --git a/server/www/static/www/revolution/css/navigation.css b/server/www/static/www/revolution/css/navigation.css new file mode 100644 index 0000000..8cb7146 --- /dev/null +++ b/server/www/static/www/revolution/css/navigation.css @@ -0,0 +1,2642 @@ +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + ARES SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +.ares.tparrows { + cursor:pointer; + background:#fff; + min-width:60px; + min-height:60px; + position:absolute; + display:block; + z-index:100; + border-radius:50%; +} +.ares.tparrows:hover { +} +.ares.tparrows:before { + font-family: "revicons"; + font-size:25px; + color:#aaa; + display:block; + line-height: 60px; + text-align: center; + -webkit-transition: color 0.3s; + -moz-transition: color 0.3s; + transition: color 0.3s; + z-index:2; + position:relative; +} +.ares.tparrows.tp-leftarrow:before { + content: "\e81f"; +} +.ares.tparrows.tp-rightarrow:before { + content: "\e81e"; +} +.ares.tparrows:hover:before { + color:#000; + } +.ares .tp-title-wrap { + position:absolute; + z-index:1; + display:inline-block; + background:#fff; + min-height:60px; + line-height:60px; + top:0px; + margin-left:30px; + border-radius:0px 30px 30px 0px; + overflow:hidden; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transform:scaleX(0); + -webkit-transform:scaleX(0); + transform-origin:0% 50%; + -webkit-transform-origin:0% 50%; +} + .ares.tp-rightarrow .tp-title-wrap { + right:0px; + margin-right:30px;margin-left:0px; + -webkit-transform-origin:100% 50%; +border-radius:30px 0px 0px 30px; + } +.ares.tparrows:hover .tp-title-wrap { + transform:scaleX(1) scaleY(1); + -webkit-transform:scaleX(1) scaleY(1); +} +.ares .tp-arr-titleholder { + position:relative; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transform:translateX(200px); + text-transform:uppercase; + color:#000; + font-weight:400; + font-size:14px; + line-height:60px; + white-space:nowrap; + padding:0px 20px; + margin-left:10px; + opacity:0; +} + +.ares.tp-rightarrow .tp-arr-titleholder { + transform:translateX(-200px); + margin-left:0px; margin-right:10px; + } + +.ares.tparrows:hover .tp-arr-titleholder { + transform:translateX(0px); + -webkit-transform:translateX(0px); + transition-delay: 0.1s; + opacity:1; +} + +/* BULLETS */ +.ares.tp-bullets { +} +.ares.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; +} +.ares .tp-bullet { + width:13px; + height:13px; + position:absolute; + background:#e5e5e5; + border-radius:50%; + cursor: pointer; + box-sizing:content-box; +} +.ares .tp-bullet:hover, +.ares .tp-bullet.selected { + background:#fff; +} +.ares .tp-bullet-title { + position:absolute; + color:#888; + font-size:12px; + padding:0px 10px; + font-weight:600; + right:27px; + top:-4px; + background:#fff; + background:rgba(255,255,255,0.75); + visibility:hidden; + transform:translateX(-20px); + -webkit-transform:translateX(-20px); + transition:transform 0.3s; + -webkit-transition:transform 0.3s; + line-height:20px; + white-space:nowrap; +} + +.ares .tp-bullet-title:after { + width: 0px; + height: 0px; + border-style: solid; + border-width: 10px 0 10px 10px; + border-color: transparent transparent transparent rgba(255,255,255,0.75); + content:" "; + position:absolute; + right:-10px; + top:0px; +} + +.ares .tp-bullet:hover .tp-bullet-title{ + visibility:visible; + transform:translateX(0px); + -webkit-transform:translateX(0px); +} + +.ares .tp-bullet.selected:hover .tp-bullet-title { + background:#fff; + } +.ares .tp-bullet.selected:hover .tp-bullet-title:after { + border-color:transparent transparent transparent #fff; +} +.ares.tp-bullets:hover .tp-bullet-title { + visibility:hidden; +} +.ares.tp-bullets:hover .tp-bullet:hover .tp-bullet-title { + visibility:visible; + } + +/* TABS */ +.ares .tp-tab { + opacity:1; + padding:10px; + box-sizing:border-box; + font-family: "Roboto", sans-serif; + border-bottom: 1px solid #e5e5e5; + } +.ares .tp-tab-image +{ + width:60px; + height:60px; max-height:100%; max-width:100%; + position:relative; + display:inline-block; + float:left; + +} +.ares .tp-tab-content +{ + background:rgba(0,0,0,0); + position:relative; + padding:15px 15px 15px 85px; + left:0px; + overflow:hidden; + margin-top:-15px; + box-sizing:border-box; + color:#333; + display: inline-block; + width:100%; + height:100%; + position:absolute; } +.ares .tp-tab-date + { + display:block; + color: #aaa; + font-weight:500; + font-size:12px; + margin-bottom:0px; + } +.ares .tp-tab-title +{ + display:block; + text-align:left; + color:#333; + font-size:14px; + font-weight:500; + text-transform:none; + line-height:17px; +} +.ares .tp-tab:hover, +.ares .tp-tab.selected { + background:#eee; +} + +.ares .tp-tab-mask { +} + +/* MEDIA QUERIES */ +@media only screen and (max-width: 960px) { + +} +@media only screen and (max-width: 768px) { + +} + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + CUSTOM SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.custom.tparrows { + cursor:pointer; + background:#000; + background:rgba(0,0,0,0.5); + width:40px; + height:40px; + position:absolute; + display:block; + z-index:100; +} +.custom.tparrows:hover { + background:#000; +} +.custom.tparrows:before { + font-family: "revicons"; + font-size:15px; + color:#fff; + display:block; + line-height: 40px; + text-align: center; +} +.custom.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.custom.tparrows.tp-rightarrow:before { + content: "\e825"; +} + + + +/* BULLETS */ +.custom.tp-bullets { +} +.custom.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; +} +.custom .tp-bullet { + width:12px; + height:12px; + position:absolute; + background:#aaa; + background:rgba(125,125,125,0.5); + cursor: pointer; + box-sizing:content-box; +} +.custom .tp-bullet:hover, +.custom .tp-bullet.selected { + background:rgb(125,125,125); +} +.custom .tp-bullet-image { +} +.custom .tp-bullet-title { +} + + +/* THUMBS */ + + +/* TABS */ + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + DIONE SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.dione.tparrows { + height:100%; + width:100px; + background:transparent; + background:rgba(0,0,0,0); + line-height:100%; + transition:all 0.3s; +-webkit-transition:all 0.3s; +} + +.dione.tparrows:hover { + background:rgba(0,0,0,0.45); + } +.dione .tp-arr-imgwrapper { + width:100px; + left:0px; + position:absolute; + height:100%; + top:0px; + overflow:hidden; + } +.dione.tp-rightarrow .tp-arr-imgwrapper { +left:auto; +right:0px; +} + +.dione .tp-arr-imgholder { +background-position:center center; +background-size:cover; +width:100px; +height:100%; +top:0px; +visibility:hidden; +transform:translateX(-50px); +-webkit-transform:translateX(-50px); +transition:all 0.3s; +-webkit-transition:all 0.3s; +opacity:0; +left:0px; +} + +.dione.tparrows.tp-rightarrow .tp-arr-imgholder { + right:0px; + left:auto; + transform:translateX(50px); + -webkit-transform:translateX(50px); +} + +.dione.tparrows:before { +position:absolute; +line-height:30px; +margin-left:-22px; +top:50%; +left:50%; +font-size:30px; +margin-top:-15px; +transition:all 0.3s; +-webkit-transition:all 0.3s; +} + +.dione.tparrows.tp-rightarrow:before { +margin-left:6px; +} + +.dione.tparrows:hover:before { + transform:translateX(-20px); +-webkit-transform:translateX(-20px); +opacity:0; +} + +.dione.tparrows.tp-rightarrow:hover:before { + transform:translateX(20px); +-webkit-transform:translateX(20px); +} + +.dione.tparrows:hover .tp-arr-imgholder { + transform:translateX(0px); +-webkit-transform:translateX(0px); +opacity:1; +visibility:visible; +} + + + +/* BULLETS */ +.dione .tp-bullet { + opacity:1; + width:50px; + height:50px; + padding:3px; + background:#000; + background-color:rgba(0,0,0,0.25); + margin:0px; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; + + } + +.dione .tp-bullet-image { + display:block; + box-sizing:border-box; + position:relative; + -webkit-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + -moz-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + width:44px; + height:44px; + background-size:cover; + background-position:center center; + } +.dione .tp-bullet-title { + position:absolute; + bottom:65px; + display:inline-block; + left:50%; + background:#000; + background:rgba(0,0,0,0.75); + color:#fff; + padding:10px 30px; + border-radius:4px; + -webkit-border-radius:4px; + opacity:0; + transition:all 0.3s; + -webkit-transition:all 0.3s; + transform: translateZ(0.001px) translateX(-50%) translateY(14px); + transform-origin:50% 100%; + -webkit-transform: translateZ(0.001px) translateX(-50%) translateY(14px); + -webkit-transform-origin:50% 100%; + opacity:0; + white-space:nowrap; + } + +.dione .tp-bullet:hover .tp-bullet-title { + transform:rotateX(0deg) translateX(-50%); + -webkit-transform:rotateX(0deg) translateX(-50%); + opacity:1; +} + +.dione .tp-bullet.selected, +.dione .tp-bullet:hover { + + background: rgba(255,255,255,1); + background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(119,119,119,1))); + background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#777777", GradientType=0 ); + + } +.dione .tp-bullet-title:after { + content:" "; + position:absolute; + left:50%; + margin-left:-8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0 8px; + border-color: rgba(0,0,0,0.75) transparent transparent transparent; + bottom:-8px; + } + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + ERINYEN SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.erinyen.tparrows { + cursor:pointer; + background:#000; + background:rgba(0,0,0,0.5); + min-width:70px; + min-height:70px; + position:absolute; + display:block; + z-index:100; + border-radius:35px; +} + +.erinyen.tparrows:before { + font-family: "revicons"; + font-size:20px; + color:#fff; + display:block; + line-height: 70px; + text-align: center; + z-index:2; + position:relative; +} +.erinyen.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.erinyen.tparrows.tp-rightarrow:before { + content: "\e825"; +} + +.erinyen .tp-title-wrap { + position:absolute; + z-index:1; + display:inline-block; + background:#000; + background:rgba(0,0,0,0.5); + min-height:70px; + line-height:70px; + top:0px; + margin-left:0px; + border-radius:35px; + overflow:hidden; + transition: opacity 0.3s; + -webkit-transition:opacity 0.3s; + -moz-transition:opacity 0.3s; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); + visibility:hidden; + opacity:0; +} + +.erinyen.tparrows:hover .tp-title-wrap{ + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); + opacity:1; + visibility:visible; +} + + .erinyen.tp-rightarrow .tp-title-wrap { + right:0px; + margin-right:0px;margin-left:0px; + -webkit-transform-origin:100% 50%; + border-radius:35px; + padding-right:20px; + padding-left:10px; + } + + +.erinyen.tp-leftarrow .tp-title-wrap { + padding-left:20px; + padding-right:10px; +} + +.erinyen .tp-arr-titleholder { + letter-spacing: 3px; + position:relative; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transform:translateX(200px); + text-transform:uppercase; + color:#fff; + font-weight:600; + font-size:13px; + line-height:70px; + white-space:nowrap; + padding:0px 20px; + margin-left:11px; + opacity:0; +} + +.erinyen .tp-arr-imgholder { + width:100%; + height:100%; + position:absolute; + top:0px; + left:0px; + background-position:center center; + background-size:cover; + } + .erinyen .tp-arr-img-over { + width:100%; + height:100%; + position:absolute; + top:0px; + left:0px; + background:#000; + background:rgba(0,0,0,0.5); + } +.erinyen.tp-rightarrow .tp-arr-titleholder { + transform:translateX(-200px); + margin-left:0px; margin-right:11px; + } + +.erinyen.tparrows:hover .tp-arr-titleholder { + transform:translateX(0px); + -webkit-transform:translateX(0px); + transition-delay: 0.1s; + opacity:1; +} + +/* BULLETS */ +.erinyen.tp-bullets { +} +.erinyen.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background: #555555; /* old browsers */ + background: -moz-linear-gradient(top, #555555 0%, #222222 100%); /* ff3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#555555), color-stop(100%,#222222)); /* chrome,safari4+ */ + background: -webkit-linear-gradient(top, #555555 0%,#222222 100%); /* chrome10+,safari5.1+ */ + background: -o-linear-gradient(top, #555555 0%,#222222 100%); /* opera 11.10+ */ + background: -ms-linear-gradient(top, #555555 0%,#222222 100%); /* ie10+ */ + background: linear-gradient(to bottom, #555555 0%,#222222 100%); /* w3c */ + filter: progid:dximagetransform.microsoft.gradient( startcolorstr="#555555", endcolorstr="#222222",gradienttype=0 ); /* ie6-9 */ + padding:10px 15px; + margin-left:-15px;margin-top:-10px; + box-sizing:content-box; + border-radius:10px; + box-shadow:0px 0px 2px 1px rgba(33,33,33,0.3); +} +.erinyen .tp-bullet { + width:13px; + height:13px; + position:absolute; + background:#111; + border-radius:50%; + cursor: pointer; + box-sizing:content-box; +} +.erinyen .tp-bullet:hover, +.erinyen .tp-bullet.selected { + background: #e5e5e5; /* old browsers */ +background: -moz-linear-gradient(top, #e5e5e5 0%, #999999 100%); /* ff3.6+ */ +background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e5e5e5), color-stop(100%,#999999)); /* chrome,safari4+ */ +background: -webkit-linear-gradient(top, #e5e5e5 0%,#999999 100%); /* chrome10+,safari5.1+ */ +background: -o-linear-gradient(top, #e5e5e5 0%,#999999 100%); /* opera 11.10+ */ +background: -ms-linear-gradient(top, #e5e5e5 0%,#999999 100%); /* ie10+ */ +background: linear-gradient(to bottom, #e5e5e5 0%,#999999 100%); /* w3c */ +filter: progid:dximagetransform.microsoft.gradient( startcolorstr="#e5e5e5", endcolorstr="#999999",gradienttype=0 ); /* ie6-9 */ + border:1px solid #555; + width:12px;height:12px; +} +.erinyen .tp-bullet-image { +} +.erinyen .tp-bullet-title { +} + + +/* THUMBS */ +.erinyen .tp-thumb { +opacity:1 +} + +.erinyen .tp-thumb-over { + background:#000; + background:rgba(0,0,0,0.25); + width:100%; + height:100%; + position:absolute; + top:0px; + left:0px; + z-index:1; + -webkit-transition:all 0.3s; + transition:all 0.3s; +} + +.erinyen .tp-thumb-more:before { + font-family: "revicons"; + font-size:12px; + color:#aaa; + color:rgba(255,255,255,0.75); + display:block; + line-height: 12px; + text-align: left; + z-index:2; + position:absolute; + top:20px; + right:20px; + z-index:2; +} +.erinyen .tp-thumb-more:before { + content: "\e825"; +} + +.erinyen .tp-thumb-title { + font-family:"Raleway"; + letter-spacing:1px; + font-size:12px; + color:#fff; + display:block; + line-height: 15px; + text-align: left; + z-index:2; + position:absolute; + top:0px; + left:0px; + z-index:2; + padding:20px 35px 20px 20px; + width:100%; + height:100%; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; + font-weight:500; +} + +.erinyen .tp-thumb.selected .tp-thumb-more:before, +.erinyen .tp-thumb:hover .tp-thumb-more:before { + color:#aaa; + +} + +.erinyen .tp-thumb.selected .tp-thumb-over, +.erinyen .tp-thumb:hover .tp-thumb-over { + background:#fff; +} +.erinyen .tp-thumb.selected .tp-thumb-title, +.erinyen .tp-thumb:hover .tp-thumb-title { + color:#000; + +} + + +/* TABS */ +.erinyen .tp-tab-title { + color:#a8d8ee; + font-size:13px; + font-weight:700; + text-transform:uppercase; + font-family:"Roboto Slab" + margin-bottom:5px; +} + +.erinyen .tp-tab-desc { + font-size:18px; + font-weight:400; + color:#fff; + line-height:25px; + font-family:"Roboto Slab"; +} + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + GYGES SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ + + +/* BULLETS */ +.gyges.tp-bullets { +} +.gyges.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background: #777777; /* Old browsers */ + background: -moz-linear-gradient(top, #777777 0%, #666666 100%); + background: -webkit-gradient(linear, left top, left bottom, + color-stop(0%,#777777), color-stop(100%,#666666)); + background: -webkit-linear-gradient(top, #777777 0%,#666666 100%); + background: -o-linear-gradient(top, #777777 0%,#666666 100%); + background: -ms-linear-gradient(top, #777777 0%,#666666 100%); + background: linear-gradient(to bottom, #777777 0%,#666666 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#777777", + endColorstr="#666666",GradientType=0 ); + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; + border-radius:10px; +} +.gyges .tp-bullet { + width:12px; + height:12px; + position:absolute; + background:#333; + border:3px solid #444; + border-radius:50%; + cursor: pointer; + box-sizing:content-box; +} +.gyges .tp-bullet:hover, +.gyges .tp-bullet.selected { + background: #ffffff; /* Old browsers */ + background: -moz-linear-gradient(top, #ffffff 0%, #e1e1e1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, + color-stop(0%,#ffffff), color-stop(100%,#e1e1e1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #ffffff 0%,#e1e1e1 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #ffffff 0%,#e1e1e1 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #ffffff 0%,#e1e1e1 100%); /* IE10+ */ + background: linear-gradient(to bottom, #ffffff 0%,#e1e1e1 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", + endColorstr="#e1e1e1",GradientType=0 ); /* IE6-9 */ + +} +.gyges .tp-bullet-image { +} +.gyges .tp-bullet-title { +} + + +/* THUMBS */ +.gyges .tp-thumb { + opacity:1 + } +.gyges .tp-thumb-img-wrap { + padding:3px; + background:#000; + background-color:rgba(0,0,0,0.25); + display:inline-block; + + width:100%; + height:100%; + position:relative; + margin:0px; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; +} +.gyges .tp-thumb-image { + padding:3px; + display:block; + box-sizing:border-box; + position:relative; + -webkit-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + -moz-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + } +.gyges .tp-thumb-title { + position:absolute; + bottom:100%; + display:inline-block; + left:50%; + background:rgba(255,255,255,0.8); + padding:10px 30px; + border-radius:4px; + -webkit-border-radius:4px; + margin-bottom:20px; + opacity:0; + transition:all 0.3s; + -webkit-transition:all 0.3s; + transform: translateZ(0.001px) translateX(-50%) translateY(14px); + transform-origin:50% 100%; + -webkit-transform: translateZ(0.001px) translateX(-50%) translateY(14px); + -webkit-transform-origin:50% 100%; + white-space:nowrap; + } +.gyges .tp-thumb:hover .tp-thumb-title { + transform:rotateX(0deg) translateX(-50%); + -webkit-transform:rotateX(0deg) translateX(-50%); + opacity:1; +} + +.gyges .tp-thumb:hover .tp-thumb-img-wrap, + .gyges .tp-thumb.selected .tp-thumb-img-wrap { + + background: rgba(255,255,255,1); + background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(119,119,119,1))); + background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#777777", GradientType=0 ); + } +.gyges .tp-thumb-title:after { + content:" "; + position:absolute; + left:50%; + margin-left:-8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0 8px; + border-color: rgba(255,255,255,0.8) transparent transparent transparent; + bottom:-8px; + } + + +/* TABS */ +.gyges .tp-tab { + opacity:1; + padding:10px; + box-sizing:border-box; + font-family: "Roboto", sans-serif; + border-bottom: 1px solid rgba(255,255,255,0.15); + } +.gyges .tp-tab-image +{ + width:60px; + height:60px; max-height:100%; max-width:100%; + position:relative; + display:inline-block; + float:left; + +} +.gyges .tp-tab-content +{ + background:rgba(0,0,0,0); + position:relative; + padding:15px 15px 15px 85px; + left:0px; + overflow:hidden; + margin-top:-15px; + box-sizing:border-box; + color:#333; + display: inline-block; + width:100%; + height:100%; + position:absolute; } +.gyges .tp-tab-date + { + display:block; + color: rgba(255,255,255,0.25); + font-weight:500; + font-size:12px; + margin-bottom:0px; + } +.gyges .tp-tab-title +{ + display:block; + text-align:left; + color:#fff; + font-size:14px; + font-weight:500; + text-transform:none; + line-height:17px; +} +.gyges .tp-tab:hover, +.gyges .tp-tab.selected { + background:rgba(0,0,0,0.5); +} + +.gyges .tp-tab-mask { +} + +/* MEDIA QUERIES */ +@media only screen and (max-width: 960px) { + +} +@media only screen and (max-width: 768px) { + +} + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + HADES SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.hades.tparrows { + cursor:pointer; + background:#000; + background:rgba(0,0,0,0.15); + width:100px; + height:100px; + position:absolute; + display:block; + z-index:100; +} + +.hades.tparrows:before { + font-family: "revicons"; + font-size:30px; + color:#fff; + display:block; + line-height: 100px; + text-align: center; + transition: background 0.3s, color 0.3s; +} +.hades.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.hades.tparrows.tp-rightarrow:before { + content: "\e825"; +} + +.hades.tparrows:hover:before { + color:#aaa; + background:#fff; + background:rgba(255,255,255,1); + } +.hades .tp-arr-allwrapper { + position:absolute; + left:100%; + top:0px; + background:#888; + width:100px;height:100px; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=0)"; + filter: alpha(opacity=0); + -moz-opacity: 0.0; + -khtml-opacity: 0.0; + opacity: 0.0; + -webkit-transform: rotatey(-90deg); + transform: rotatey(-90deg); + -webkit-transform-origin: 0% 50%; + transform-origin: 0% 50%; +} +.hades.tp-rightarrow .tp-arr-allwrapper { + left:auto; + right:100%; + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; + -webkit-transform: rotatey(90deg); + transform: rotatey(90deg); +} + +.hades:hover .tp-arr-allwrapper { + -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=100)"; + filter: alpha(opacity=100); + -moz-opacity: 1; + -khtml-opacity: 1; + opacity: 1; + -webkit-transform: rotatey(0deg); + transform: rotatey(0deg); + + } + +.hades .tp-arr-iwrapper { +} +.hades .tp-arr-imgholder { + background-size:cover; + position:absolute; + top:0px;left:0px; + width:100%;height:100%; +} +.hades .tp-arr-titleholder { +} +.hades .tp-arr-subtitleholder { +} + + +/* BULLETS */ +.hades.tp-bullets { +} +.hades.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; +} +.hades .tp-bullet { + width:3px; + height:3px; + position:absolute; + background:#888; + cursor: pointer; + border:5px solid #fff; + box-sizing:content-box; + box-shadow:0px 0px 3px 1px rgba(0,0,0,0.2); + -webkit-perspective:400; + perspective:400; + -webkit-transform:translatez(0.01px); + transform:translatez(0.01px); +} +.hades .tp-bullet:hover, +.hades .tp-bullet.selected { + background:#555; + +} + +.hades .tp-bullet-image { + position:absolute;top:-80px; left:-60px;width:120px;height:60px; + background-position:center center; + background-size:cover; + visibility:hidden; + opacity:0; + transition:all 0.3s; + -webkit-transform-style:flat; + transform-style:flat; + perspective:600; + -webkit-perspective:600; + transform: rotatex(-90deg); + -webkit-transform: rotatex(-90deg); + box-shadow:0px 0px 3px 1px rgba(0,0,0,0.2); + transform-origin:50% 100%; + -webkit-transform-origin:50% 100%; + + +} +.hades .tp-bullet:hover .tp-bullet-image { + display:block; + opacity:1; + transform: rotatex(0deg); + -webkit-transform: rotatex(0deg); + visibility:visible; + } +.hades .tp-bullet-title { +} + + +/* THUMBS */ +.hades .tp-thumb { + opacity:1 + } +.hades .tp-thumb-img-wrap { + border-radius:50%; + padding:3px; + display:inline-block; +background:#000; + background-color:rgba(0,0,0,0.25); + width:100%; + height:100%; + position:relative; + margin:0px; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; +} +.hades .tp-thumb-image { + padding:3px; + border-radius:50%; + display:block; + box-sizing:border-box; + position:relative; + -webkit-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + -moz-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + } + + +.hades .tp-thumb:hover .tp-thumb-img-wrap, +.hades .tp-thumb.selected .tp-thumb-img-wrap { + + background: rgba(255,255,255,1); + background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(119,119,119,1))); + background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#777777", GradientType=0 ); + + } +.hades .tp-thumb-title:after { + content:" "; + position:absolute; + left:50%; + margin-left:-8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0 8px; + border-color: rgba(0,0,0,0.75) transparent transparent transparent; + bottom:-8px; + } + + +/* TABS */ +.hades .tp-tab { + opacity:1; + } + +.hades .tp-tab-title + { + display:block; + color:#333; + font-weight:600; + font-size:18px; + text-align:center; + line-height:25px; + } +.hades .tp-tab-price + { + display:block; + text-align:center; + color:#999; + font-size:16px; + margin-top:10px; + line-height:20px +} + +.hades .tp-tab-button { + display:inline-block; + margin-top:15px; + text-align:center; + padding:5px 15px; + color:#fff; + font-size:14px; + background:#219bd7; + border-radius:4px; + font-weight:400; +} +.hades .tp-tab-inner { + text-align:center; +} + + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + HEBE SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.hebe.tparrows { + cursor:pointer; + background:#fff; + min-width:70px; + min-height:70px; + position:absolute; + display:block; + z-index:100; +} +.hebe.tparrows:hover { +} +.hebe.tparrows:before { + font-family: "revicons"; + font-size:30px; + color:#aaa; + display:block; + line-height: 70px; + text-align: center; + -webkit-transition: color 0.3s; + -moz-transition: color 0.3s; + transition: color 0.3s; + z-index:2; + position:relative; + background:#fff; + min-width:70px; + min-height:70px; +} +.hebe.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.hebe.tparrows.tp-rightarrow:before { + content: "\e825"; +} +.hebe.tparrows:hover:before { + color:#000; + } +.hebe .tp-title-wrap { + position:absolute; + z-index:0; + display:inline-block; + background:#000; + background:rgba(0,0,0,0.75); + min-height:60px; + line-height:60px; + top:-10px; + margin-left:0px; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transform:scaleX(0); + -webkit-transform:scaleX(0); + transform-origin:0% 50%; + -webkit-transform-origin:0% 50%; +} + .hebe.tp-rightarrow .tp-title-wrap { + right:0px; + -webkit-transform-origin:100% 50%; + } +.hebe.tparrows:hover .tp-title-wrap { + transform:scaleX(1); + -webkit-transform:scaleX(1); +} +.hebe .tp-arr-titleholder { + position:relative; + text-transform:uppercase; + color:#fff; + font-weight:600; + font-size:12px; + line-height:90px; + white-space:nowrap; + padding:0px 20px 0px 90px; +} + +.hebe.tp-rightarrow .tp-arr-titleholder { + margin-left:0px; + padding:0px 90px 0px 20px; + } + +.hebe.tparrows:hover .tp-arr-titleholder { + transform:translateX(0px); + -webkit-transform:translateX(0px); + transition-delay: 0.1s; + opacity:1; +} + +.hebe .tp-arr-imgholder{ + width:90px; + height:90px; + position:absolute; + left:100%; + display:block; + background-size:cover; + background-position:center center; + top:0px; right:-90px; + } +.hebe.tp-rightarrow .tp-arr-imgholder{ + right:auto;left:-90px; + } + +/* BULLETS */ +.hebe.tp-bullets { +} +.hebe.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; +} + +.hebe .tp-bullet { + width:3px; + height:3px; + position:absolute; + background:#fff; + cursor: pointer; + border:5px solid #222; + border-radius:50%; + box-sizing:content-box; + -webkit-perspective:400; + perspective:400; + -webkit-transform:translateZ(0.01px); + transform:translateZ(0.01px); + transition:all 0.3s; +} +.hebe .tp-bullet:hover, +.hebe .tp-bullet.selected { + background:#222; + border-color:#fff; +} + +.hebe .tp-bullet-image { + position:absolute; + top:-90px; left:-40px; + width:70px; + height:70px; + background-position:center center; + background-size:cover; + visibility:hidden; + opacity:0; + transition:all 0.3s; + -webkit-transform-style:flat; + transform-style:flat; + perspective:600; + -webkit-perspective:600; + transform: scale(0); + -webkit-transform: scale(0); + transform-origin:50% 100%; + -webkit-transform-origin:50% 100%; +border-radius:6px; + + +} +.hebe .tp-bullet:hover .tp-bullet-image { + display:block; + opacity:1; + transform: scale(1); + -webkit-transform: scale(1); + visibility:visible; + } +.hebe .tp-bullet-title { +} + + +/* TABS */ +.hebe .tp-tab-title { + color:#a8d8ee; + font-size:13px; + font-weight:700; + text-transform:uppercase; + font-family:"Roboto Slab" + margin-bottom:5px; +} + +.hebe .tp-tab-desc { + font-size:18px; + font-weight:400; + color:#fff; + line-height:25px; + font-family:"Roboto Slab"; +} + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + HEPHAISTOS SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.hephaistos.tparrows { + cursor:pointer; + background:#000; + background:rgba(0,0,0,0.5); + width:40px; + height:40px; + position:absolute; + display:block; + z-index:100; + border-radius:50%; +} +.hephaistos.tparrows:hover { + background:#000; +} +.hephaistos.tparrows:before { + font-family: "revicons"; + font-size:18px; + color:#fff; + display:block; + line-height: 40px; + text-align: center; +} +.hephaistos.tparrows.tp-leftarrow:before { + content: "\e82c"; + margin-left:-2px; + +} +.hephaistos.tparrows.tp-rightarrow:before { + content: "\e82d"; + margin-right:-2px; +} + + + +/* BULLETS */ +.hephaistos.tp-bullets { +} +.hephaistos.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; +} +.hephaistos .tp-bullet { + width:12px; + height:12px; + position:absolute; + background:#999; + border:3px solid #f5f5f5; + border-radius:50%; + cursor: pointer; + box-sizing:content-box; + box-shadow: 0px 0px 2px 1px rgba(130,130,130, 0.3); + +} +.hephaistos .tp-bullet:hover, +.hephaistos .tp-bullet.selected { + background:#fff; + border-color:#000; +} +.hephaistos .tp-bullet-image { +} +.hephaistos .tp-bullet-title { +} + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + HERMES SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.hermes.tparrows { + cursor:pointer; + background:#000; + background:rgba(0,0,0,0.5); + width:30px; + height:110px; + position:absolute; + display:block; + z-index:100; +} + +.hermes.tparrows:before { + font-family: "revicons"; + font-size:15px; + color:#fff; + display:block; + line-height: 110px; + text-align: center; + transform:translateX(0px); + -webkit-transform:translateX(0px); + transition:all 0.3s; + -webkit-transition:all 0.3s; +} +.hermes.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.hermes.tparrows.tp-rightarrow:before { + content: "\e825"; +} +.hermes.tparrows.tp-leftarrow:hover:before { + transform:translateX(-20px); + -webkit-transform:translateX(-20px); + opacity:0; +} +.hermes.tparrows.tp-rightarrow:hover:before { + transform:translateX(20px); + -webkit-transform:translateX(20px); + opacity:0; +} + +.hermes .tp-arr-allwrapper { + overflow:hidden; + position:absolute; + width:180px; + height:140px; + top:0px; + left:0px; + visibility:hidden; + -webkit-transition: -webkit-transform 0.3s 0.3s; + transition: transform 0.3s 0.3s; + -webkit-perspective: 1000px; + perspective: 1000px; + } +.hermes.tp-rightarrow .tp-arr-allwrapper { + right:0px;left:auto; + } +.hermes.tparrows:hover .tp-arr-allwrapper { + visibility:visible; + } +.hermes .tp-arr-imgholder { + width:180px;position:absolute; + left:0px;top:0px;height:110px; + transform:translateX(-180px); + -webkit-transform:translateX(-180px); + transition:all 0.3s; + transition-delay:0.3s; +} +.hermes.tp-rightarrow .tp-arr-imgholder{ + transform:translateX(180px); + -webkit-transform:translateX(180px); + } + +.hermes.tparrows:hover .tp-arr-imgholder { + transform:translateX(0px); + -webkit-transform:translateX(0px); +} +.hermes .tp-arr-titleholder { + top:110px; + width:180px; + text-align:left; + display:block; + padding:0px 10px; + line-height:30px; background:#000; + background:rgba(0,0,0,0.75);color:#fff; + font-weight:600; position:absolute; + font-size:12px; + white-space:nowrap; + letter-spacing:1px; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-transform: rotateX(-90deg); + transform: rotateX(-90deg); + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; + box-sizing:border-box; + +} +.hermes.tparrows:hover .tp-arr-titleholder { + -webkit-transition-delay: 0.6s; + transition-delay: 0.6s; + -webkit-transform: rotateX(0deg); + transform: rotateX(0deg); +} + + +/* BULLETS */ +.hermes.tp-bullets { +} + +.hermes .tp-bullet { + overflow:hidden; + border-radius:50%; + width:16px; + height:16px; + background-color: rgba(0, 0, 0, 0); + box-shadow: inset 0 0 0 2px #FFF; + -webkit-transition: background 0.3s ease; + transition: background 0.3s ease; + position:absolute; +} + +.hermes .tp-bullet:hover { + background-color: rgba(0, 0, 0, 0.2); +} +.hermes .tp-bullet:after { + content: ' '; + position: absolute; + bottom: 0; + height: 0; + left: 0; + width: 100%; + background-color: #FFF; + box-shadow: 0 0 1px #FFF; + -webkit-transition: height 0.3s ease; + transition: height 0.3s ease; +} +.hermes .tp-bullet.selected:after { + height:100%; +} + + +/* TABS */ +.hermes .tp-tab { + opacity:1; + padding-right:10px; + box-sizing:border-box; + } +.hermes .tp-tab-image +{ + width:100%; + height:60%; + position:relative; +} +.hermes .tp-tab-content +{ + background:rgb(54,54,54); + position:absolute; + padding:20px 20px 20px 30px; + box-sizing:border-box; + color:#fff; + display:block; + width:100%; + min-height:40%; + bottom:0px; + left:-10px; + } +.hermes .tp-tab-date + { + display:block; + color:#888; + font-weight:600; + font-size:12px; + margin-bottom:10px; + } +.hermes .tp-tab-title +{ + display:block; + color:#fff; + font-size:16px; + font-weight:800; + text-transform:uppercase; + line-height:19px; +} + +.hermes .tp-tab.selected .tp-tab-title:after { + width: 0px; + height: 0px; + border-style: solid; + border-width: 30px 0 30px 10px; + border-color: transparent transparent transparent rgb(54,54,54); + content:" "; + position:absolute; + right:-9px; + bottom:50%; + margin-bottom:-30px; +} +.hermes .tp-tab-mask { + padding-right:10px !important; + } + +/* MEDIA QUERIES */ +@media only screen and (max-width: 960px) { + .hermes .tp-tab .tp-tab-title {font-size:14px;line-height:16px;} + .hermes .tp-tab-date { font-size:11px; line-height:13px;margin-bottom:10px;} + .hermes .tp-tab-content { padding:15px 15px 15px 25px;} +} +@media only screen and (max-width: 768px) { + .hermes .tp-tab .tp-tab-title {font-size:12px;line-height:14px;} + .hermes .tp-tab-date {font-size:10px; line-height:12px;margin-bottom:5px;} + .hermes .tp-tab-content {padding:10px 10px 10px 20px;} +} + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + HESPERIDEN SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.hesperiden.tparrows { + cursor:pointer; + background:#000; + background:rgba(0,0,0,0.5); + width:40px; + height:40px; + position:absolute; + display:block; + z-index:100; + border-radius: 50%; +} +.hesperiden.tparrows:hover { + background:#000; +} +.hesperiden.tparrows:before { + font-family: "revicons"; + font-size:20px; + color:#fff; + display:block; + line-height: 40px; + text-align: center; +} +.hesperiden.tparrows.tp-leftarrow:before { + content: "\e82c"; + margin-left:-3px; +} +.hesperiden.tparrows.tp-rightarrow:before { + content: "\e82d"; + margin-right:-3px; +} + +/* BULLETS */ +.hesperiden.tp-bullets { +} +.hesperiden.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; + border-radius:8px; + +} +.hesperiden .tp-bullet { + width:12px; + height:12px; + position:absolute; + background: #999999; /* old browsers */ + background: -moz-linear-gradient(top, #999999 0%, #e1e1e1 100%); /* ff3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#999999), + color-stop(100%,#e1e1e1)); /* chrome,safari4+ */ + background: -webkit-linear-gradient(top, #999999 0%,#e1e1e1 100%); /* chrome10+,safari5.1+ */ + background: -o-linear-gradient(top, #999999 0%,#e1e1e1 100%); /* opera 11.10+ */ + background: -ms-linear-gradient(top, #999999 0%,#e1e1e1 100%); /* ie10+ */ + background: linear-gradient(to bottom, #999999 0%,#e1e1e1 100%); /* w3c */ + filter: progid:dximagetransform.microsoft.gradient( + startcolorstr="#999999", endcolorstr="#e1e1e1",gradienttype=0 ); /* ie6-9 */ + border:3px solid #e5e5e5; + border-radius:50%; + cursor: pointer; + box-sizing:content-box; +} +.hesperiden .tp-bullet:hover, +.hesperiden .tp-bullet.selected { + background:#666; +} +.hesperiden .tp-bullet-image { +} +.hesperiden .tp-bullet-title { +} + + +/* THUMBS */ +.hesperiden .tp-thumb { + opacity:1; + -webkit-perspective: 600px; + perspective: 600px; +} +.hesperiden .tp-thumb .tp-thumb-title { + font-size:12px; + position:absolute; + margin-top:-10px; + color:#fff; + display:block; + z-index:1000; + background-color:#000; + padding:5px 10px; + bottom:0px; + left:0px; + width:100%; + box-sizing:border-box; + text-align:center; + overflow:hidden; + white-space:nowrap; + transition:all 0.3s; + -webkit-transition:all 0.3s; + transform:rotatex(90deg) translatez(0.001px); + transform-origin:50% 100%; + -webkit-transform:rotatex(90deg) translatez(0.001px); + -webkit-transform-origin:50% 100%; + opacity:0; + } +.hesperiden .tp-thumb:hover .tp-thumb-title { + transform:rotatex(0deg); + -webkit-transform:rotatex(0deg); + opacity:1; +} + +/* TABS */ +.hesperiden .tp-tab { + opacity:1; + padding:10px; + box-sizing:border-box; + font-family: "Roboto", sans-serif; + border-bottom: 1px solid #e5e5e5; + } +.hesperiden .tp-tab-image +{ + width:60px; + height:60px; max-height:100%; max-width:100%; + position:relative; + display:inline-block; + float:left; + +} +.hesperiden .tp-tab-content +{ + background:rgba(0,0,0,0); + position:relative; + padding:15px 15px 15px 85px; + left:0px; + overflow:hidden; + margin-top:-15px; + box-sizing:border-box; + color:#333; + display: inline-block; + width:100%; + height:100%; + position:absolute; } +.hesperiden .tp-tab-date + { + display:block; + color: #aaa; + font-weight:500; + font-size:12px; + margin-bottom:0px; + } +.hesperiden .tp-tab-title +{ + display:block; + text-align:left; + color:#333; + font-size:14px; + font-weight:500; + text-transform:none; + line-height:17px; +} +.hesperiden .tp-tab:hover, +.hesperiden .tp-tab.selected { + background:#eee; +} + +.hesperiden .tp-tab-mask { +} + +/* MEDIA QUERIES */ +@media only screen and (max-width: 960px) { + +} +@media only screen and (max-width: 768px) { + +} + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + METIS SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.metis.tparrows { + background:#fff; + padding:10px; + transition:all 0.3s; + -webkit-transition:all 0.3s; + width:60px; + height:60px; + box-sizing:border-box; + } + + .metis.tparrows:hover { + background:#fff; + background:rgba(255,255,255,0.75); + } + + .metis.tparrows:before { + color:#000; + transition:all 0.3s; + -webkit-transition:all 0.3s; + } + + .metis.tparrows:hover:before { + transform:scale(1.5); + } + + +/* BULLETS */ +.metis .tp-bullet { + opacity:1; + width:50px; + height:50px; + padding:3px; + background:#000; + background-color:rgba(0,0,0,0.25); + margin:0px; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; + border-radius:50%; + } + +.metis .tp-bullet-image { + + border-radius:50%; + display:block; + box-sizing:border-box; + position:relative; + -webkit-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + -moz-box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + box-shadow: inset 5px 5px 10px 0px rgba(0,0,0,0.25); + width:44px; + height:44px; + background-size:cover; + background-position:center center; + } +.metis .tp-bullet-title { + position:absolute; + bottom:65px; + display:inline-block; + left:50%; + background:#000; + background:rgba(0,0,0,0.75); + color:#fff; + padding:10px 30px; + border-radius:4px; + -webkit-border-radius:4px; + opacity:0; + transition:all 0.3s; + -webkit-transition:all 0.3s; + transform: translateZ(0.001px) translateX(-50%) translateY(14px); + transform-origin:50% 100%; + -webkit-transform: translateZ(0.001px) translateX(-50%) translateY(14px); + -webkit-transform-origin:50% 100%; + opacity:0; + white-space:nowrap; + } + +.metis .tp-bullet:hover .tp-bullet-title { + transform:rotateX(0deg) translateX(-50%); + -webkit-transform:rotateX(0deg) translateX(-50%); + opacity:1; +} + +.metis .tp-bullet.selected, +.metis .tp-bullet:hover { + + background: rgba(255,255,255,1); + background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(119,119,119,1))); + background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(119,119,119,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#777777", GradientType=0 ); + + } +.metis .tp-bullet-title:after { + content:" "; + position:absolute; + left:50%; + margin-left:-8px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 8px 0 8px; + border-color: rgba(0,0,0,0.75) transparent transparent transparent; + bottom:-8px; + } + +.metis .tp-tab-number { + color: #fff; + font-size: 40px; + line-height: 30px; + font-weight: 400; + font-family: "Playfair Display"; + width: 50px; + margin-right: 17px; + display: inline-block; + float: left; + } + .metis .tp-tab-mask { + padding-left: 20px; + left: 0px; + max-width: 90px !important; + transition: 0.4s padding-left, 0.4s left, 0.4s max-width; + } + .metis:hover .tp-tab-mask { + padding-left: 0px; + left: 50px; + max-width: 500px !important; + } + .metis .tp-tab-divider { + border-right: 1px solid transparent; + height: 30px; + width: 1px; + margin-top: 5px; + display: inline-block; + float: left; + } + .metis .tp-tab-title { + color: #fff; + font-size: 20px; + line-height: 20px; + font-weight: 400; + font-family: "Playfair Display"; + position: relative; + padding-top: 10px; + padding-left: 30px; + display: inline-block; + transform: translateX(-100%); + transition: 0.4s all; + } + .metis .tp-tab-title-mask { + position: absolute; + overflow: hidden; + left: 67px; + } + .metis:hover .tp-tab-title { + transform: translateX(0); + } + .metis .tp-tab { + opacity: 0.15; + transition: 0.4s all; + } + .metis .tp-tab:hover, + .metis .tp-tab.selected { + opacity: 1; + } + .metis .tp-tab.selected .tp-tab-divider { + border-right: 1px solid #cdb083; + } + .metis.tp-tabs { + max-width: 118px !important; + padding-left: 50px; + } + .metis.tp-tabs:before { + content: " "; + height: 100%; + width: 88px; + background: rgba(0, 0, 0, 0.15); + border-right: 1px solid rgba(255, 255, 255, 0.10); + left: 0px; + top: 0px; + position: absolute; + transition: 0.4s all; + } + .metis.tp-tabs:hover:before { + width: 118px; + } + @media (max-width: 499px) { + .metis.tp-tabs:before { + background: rgba(0, 0, 0, 0.75); + } + } + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + PERSEPHONE SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.persephone.tparrows { + cursor:pointer; + background:#aaa; + background:rgba(200,200,200,0.5); + width:40px; + height:40px; + position:absolute; + display:block; + z-index:100; + border:1px solid #f5f5f5; +} +.persephone.tparrows:hover { + background:#333; +} +.persephone.tparrows:before { + font-family: "revicons"; + font-size:15px; + color:#fff; + display:block; + line-height: 40px; + text-align: center; +} +.persephone.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.persephone.tparrows.tp-rightarrow:before { + content: "\e825"; +} + + + +/* BULLETS */ +.persephone.tp-bullets { +} +.persephone.tp-bullets:before { + content:" "; + position:absolute; + width:100%; + height:100%; + background:#transparent; + padding:10px; + margin-left:-10px;margin-top:-10px; + box-sizing:content-box; +} +.persephone .tp-bullet { + width:12px; + height:12px; + position:absolute; + background:#aaa; + border:1px solid #e5e5e5; + cursor: pointer; + box-sizing:content-box; +} +.persephone .tp-bullet:hover, +.persephone .tp-bullet.selected { + background:#222; +} +.persephone .tp-bullet-image { +} +.persephone .tp-bullet-title { +} + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + URANUS SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.uranus.tparrows { + width:50px; + height:50px; + background:transparent; + } + .uranus.tparrows:before { + width:50px; + height:50px; + line-height:50px; + font-size:40px; + transition:all 0.3s; +-webkit-transition:all 0.3s; + } + + .uranus.tparrows:hover:before { + opacity:0.75; + } + +/* BULLETS */ +.uranus .tp-bullet{ + border-radius: 50%; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0); + -webkit-transition: box-shadow 0.3s ease; + transition: box-shadow 0.3s ease; + background:transparent; +} +.uranus .tp-bullet.selected, +.uranus .tp-bullet:hover { + box-shadow: 0 0 0 2px #FFF; + border:none; + border-radius: 50%; + + background:transparent; +} + + + +.uranus .tp-bullet-inner { + background-color: rgba(255, 255, 255, 0.7); + -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease; + transition: background-color 0.3s ease, transform 0.3s ease; + top: 0; + left: 0; + width: 100%; + height: 100%; + outline: none; + border-radius: 50%; + background-color: #FFF; + background-color: rgba(255, 255, 255, 0.3); + text-indent: -999em; + cursor: pointer; + position: absolute; +} + +.uranus .tp-bullet.selected .tp-bullet-inner, +.uranus .tp-bullet:hover .tp-bullet-inner{ + transform: scale(0.4); + -webkit-transform: scale(0.4); + background-color:#fff; +} + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + ZEUS SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ +/* ARROWS */ +.zeus.tparrows { + cursor:pointer; + min-width:70px; + min-height:70px; + position:absolute; + display:block; + z-index:100; + border-radius:35px; + overflow:hidden; + background:rgba(0,0,0,0.10); +} + +.zeus.tparrows:before { + font-family: "revicons"; + font-size:20px; + color:#fff; + display:block; + line-height: 70px; + text-align: center; + z-index:2; + position:relative; +} +.zeus.tparrows.tp-leftarrow:before { + content: "\e824"; +} +.zeus.tparrows.tp-rightarrow:before { + content: "\e825"; +} + +.zeus .tp-title-wrap { + background:#000; + background:rgba(0,0,0,0.5); + width:100%; + height:100%; + top:0px; + left:0px; + position:absolute; + opacity:0; + transform:scale(0); + -webkit-transform:scale(0); + transition: all 0.3s; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + border-radius:50%; + } +.zeus .tp-arr-imgholder { + width:100%; + height:100%; + position:absolute; + top:0px; + left:0px; + background-position:center center; + background-size:cover; + border-radius:50%; + transform:translateX(-100%); + -webkit-transform:translateX(-100%); + transition: all 0.3s; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + + } +.zeus.tp-rightarrow .tp-arr-imgholder { + transform:translateX(100%); + -webkit-transform:translateX(100%); + } +.zeus.tparrows:hover .tp-arr-imgholder { + transform:translateX(0); + -webkit-transform:translateX(0); + opacity:1; +} + +.zeus.tparrows:hover .tp-title-wrap { + transform:scale(1); + -webkit-transform:scale(1); + opacity:1; +} + + +/* BULLETS */ +.zeus .tp-bullet { + box-sizing:content-box; -webkit-box-sizing:content-box; border-radius:50%; + background-color: rgba(0, 0, 0, 0); + -webkit-transition: opacity 0.3s ease; + transition: opacity 0.3s ease; + width:13px;height:13px; + border:2px solid #fff; + } +.zeus .tp-bullet:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + left: 0; + border-radius: 50%; + background-color: #FFF; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} +.zeus .tp-bullet:hover:after, +.zeus .tp-bullet.selected:after{ + -webkit-transform: scale(1.2); + transform: scale(1.2); +} + + .zeus .tp-bullet-image, + .zeus .tp-bullet-imageoverlay{ + width:135px; + height:60px; + position:absolute; + background:#000; + background:rgba(0,0,0,0.5); + bottom:25px; + left:50%; + margin-left:-65px; + box-sizing:border-box; + background-size:cover; + background-position:center center; + visibility:hidden; + opacity:0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + border-radius:4px; + +} + + +.zeus .tp-bullet-title, +.zeus .tp-bullet-imageoverlay { + z-index:2; + -webkit-transition: all 0.5s ease; + transition: all 0.5s ease; +} +.zeus .tp-bullet-title { + color:#fff; + text-align:center; + line-height:15px; + font-size:13px; + font-weight:600; + z-index:3; + visibility:hidden; + opacity:0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + position:absolute; + bottom:45px; + width:135px; + vertical-align:middle; + left:-57px; +} + +.zeus .tp-bullet:hover .tp-bullet-title, +.zeus .tp-bullet:hover .tp-bullet-image, +.zeus .tp-bullet:hover .tp-bullet-imageoverlay{ + opacity:1; + visibility:visible; + -webkit-transform:translateY(0px); + transform:translateY(0px); + } + +/* THUMBS */ +.zeus .tp-thumb { +opacity:1 +} + +.zeus .tp-thumb-over { + background:#000; + background:rgba(0,0,0,0.25); + width:100%; + height:100%; + position:absolute; + top:0px; + left:0px; + z-index:1; + -webkit-transition:all 0.3s; + transition:all 0.3s; +} + +.zeus .tp-thumb-more:before { + font-family: "revicons"; + font-size:12px; + color:#aaa; + color:rgba(255,255,255,0.75); + display:block; + line-height: 12px; + text-align: left; + z-index:2; + position:absolute; + top:20px; + right:20px; + z-index:2; +} +.zeus .tp-thumb-more:before { + content: "\e825"; +} + +.zeus .tp-thumb-title { + font-family:"Raleway"; + letter-spacing:1px; + font-size:12px; + color:#fff; + display:block; + line-height: 15px; + text-align: left; + z-index:2; + position:absolute; + top:0px; + left:0px; + z-index:2; + padding:20px 35px 20px 20px; + width:100%; + height:100%; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; + font-weight:500; +} + +.zeus .tp-thumb.selected .tp-thumb-more:before, +.zeus .tp-thumb:hover .tp-thumb-more:before { + color:#aaa; + +} + +.zeus .tp-thumb.selected .tp-thumb-over, +.zeus .tp-thumb:hover .tp-thumb-over { + background:#000; +} +.zeus .tp-thumb.selected .tp-thumb-title, +.zeus .tp-thumb:hover .tp-thumb-title { + color:#fff; + +} + + +/* TABS */ +.zeus .tp-tab { + opacity:1; + box-sizing:border-box; +} + +.zeus .tp-tab-title { +display: block; +text-align: center; +background: rgba(0,0,0,0.25); +font-family: "Roboto Slab", serif; +font-weight: 700; +font-size: 13px; +line-height: 13px; +color: #fff; +padding: 9px 10px; } + +.zeus .tp-tab:hover .tp-tab-title, +.zeus .tp-tab.selected .tp-tab-title { + color: #000; + background:rgba(255,255,255,1); +} + + + +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Navigatin Skin Style - + + ZEUS SKIN + +author: ThemePunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ + + +.post-tabs .tp-thumb { +opacity:1 +} + +.post-tabs .tp-thumb-over { + background:#252525; + width:100%; + height:100%; + position:absolute; + top:0px; + left:0px; + z-index:1; + -webkit-transition:all 0.3s; + transition:all 0.3s; +} + +.post-tabs .tp-thumb-more:before { + font-family: "revicons"; + font-size:12px; + color:#aaa; + color:rgba(255,255,255,0.75); + display:block; + line-height: 12px; + text-align: left; + z-index:2; + position:absolute; + top:15px; + right:15px; + z-index:2; +} +.post-tabs .tp-thumb-more:before { + content: "\e825"; +} + +.post-tabs .tp-thumb-title { + font-family:"raleway"; + letter-spacing:1px; + font-size:12px; + color:#fff; + display:block; + line-height: 15px; + text-align: left; + z-index:2; + position:absolute; + top:0px; + left:0px; + z-index:2; + padding:15px 30px 15px 15px; + width:100%; + height:100%; + box-sizing:border-box; + transition:all 0.3s; + -webkit-transition:all 0.3s; + font-weight:500; +} + +.post-tabs .tp-thumb.selected .tp-thumb-more:before, +.post-tabs .tp-thumb:hover .tp-thumb-more:before { + color:#aaa; + +} + +.post-tabs .tp-thumb.selected .tp-thumb-over, +.post-tabs .tp-thumb:hover .tp-thumb-over { + background:#fff; +} +.post-tabs .tp-thumb.selected .tp-thumb-title, +.post-tabs .tp-thumb:hover .tp-thumb-title { + color:#000; + +} diff --git a/server/www/static/www/revolution/css/settings.css b/server/www/static/www/revolution/css/settings.css new file mode 100644 index 0000000..387ab7a --- /dev/null +++ b/server/www/static/www/revolution/css/settings.css @@ -0,0 +1,1261 @@ +/*----------------------------------------------------------------------------- + +- Revolution Slider 5.0 Default Style Settings - + +Screen Stylesheet + +version: 5.0.0 +date: 29/10/15 +author: themepunch +email: info@themepunch.com +website: http://www.themepunch.com +-----------------------------------------------------------------------------*/ + + + +.rtl { direction: rtl;} +@font-face { + font-family: 'revicons'; + src: url('../fonts/revicons/revicons.eot?5510888'); + src: url('../fonts/revicons/revicons.eot?5510888#iefix') format('embedded-opentype'), + url('../fonts/revicons/revicons.woff?5510888') format('woff'), + url('../fonts/revicons/revicons.ttf?5510888') format('truetype'), + url('../fonts/revicons/revicons.svg?5510888#revicons') format('svg'); + font-weight: normal; + font-style: normal; +} + + [class^="revicon-"]:before, [class*=" revicon-"]:before { + font-family: "revicons"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.revicon-search-1:before { content: '\e802'; } /* '' */ +.revicon-pencil-1:before { content: '\e831'; } /* '' */ +.revicon-picture-1:before { content: '\e803'; } /* '' */ +.revicon-cancel:before { content: '\e80a'; } /* '' */ +.revicon-info-circled:before { content: '\e80f'; } /* '' */ +.revicon-trash:before { content: '\e801'; } /* '' */ +.revicon-left-dir:before { content: '\e817'; } /* '' */ +.revicon-right-dir:before { content: '\e818'; } /* '' */ +.revicon-down-open:before { content: '\e83b'; } /* '' */ +.revicon-left-open:before { content: '\e819'; } /* '' */ +.revicon-right-open:before { content: '\e81a'; } /* '' */ +.revicon-angle-left:before { content: '\e820'; } /* '' */ +.revicon-angle-right:before { content: '\e81d'; } /* '' */ +.revicon-left-big:before { content: '\e81f'; } /* '' */ +.revicon-right-big:before { content: '\e81e'; } /* '' */ +.revicon-magic:before { content: '\e807'; } /* '' */ +.revicon-picture:before { content: '\e800'; } /* '' */ +.revicon-export:before { content: '\e80b'; } /* '' */ +.revicon-cog:before { content: '\e832'; } /* '' */ +.revicon-login:before { content: '\e833'; } /* '' */ +.revicon-logout:before { content: '\e834'; } /* '' */ +.revicon-video:before { content: '\e805'; } /* '' */ +.revicon-arrow-combo:before { content: '\e827'; } /* '' */ +.revicon-left-open-1:before { content: '\e82a'; } /* '' */ +.revicon-right-open-1:before { content: '\e82b'; } /* '' */ +.revicon-left-open-mini:before { content: '\e822'; } /* '' */ +.revicon-right-open-mini:before { content: '\e823'; } /* '' */ +.revicon-left-open-big:before { content: '\e824'; } /* '' */ +.revicon-right-open-big:before { content: '\e825'; } /* '' */ +.revicon-left:before { content: '\e836'; } /* '' */ +.revicon-right:before { content: '\e826'; } /* '' */ +.revicon-ccw:before { content: '\e808'; } /* '' */ +.revicon-arrows-ccw:before { content: '\e806'; } /* '' */ +.revicon-palette:before { content: '\e829'; } /* '' */ +.revicon-list-add:before { content: '\e80c'; } /* '' */ +.revicon-doc:before { content: '\e809'; } /* '' */ +.revicon-left-open-outline:before { content: '\e82e'; } /* '' */ +.revicon-left-open-2:before { content: '\e82c'; } /* '' */ +.revicon-right-open-outline:before { content: '\e82f'; } /* '' */ +.revicon-right-open-2:before { content: '\e82d'; } /* '' */ +.revicon-equalizer:before { content: '\e83a'; } /* '' */ +.revicon-layers-alt:before { content: '\e804'; } /* '' */ +.revicon-popup:before { content: '\e828'; } /* '' */ + + + +/****************************** + - BASIC STYLES - +******************************/ + +.rev_slider_wrapper{ + position:relative; + z-index: 0; +} + + +.rev_slider{ + position:relative; + overflow:visible; +} + +.tp-overflow-hidden { overflow:hidden;} + +.tp-simpleresponsive img, +.rev_slider img{ + max-width:none !important; + -moz-transition: none; + -webkit-transition: none; + -o-transition: none; + transition: none; + margin:0px; + padding:0px; + border-width:0px; + border:none; +} + +.rev_slider .no-slides-text{ + font-weight:bold; + text-align:center; + padding-top:80px; +} + +.rev_slider >ul, +.rev_slider_wrapper >ul, +.tp-revslider-mainul >li, +.rev_slider >ul >li, +.rev_slider >ul >li:before, +.tp-revslider-mainul >li:before, +.tp-simpleresponsive >ul, +.tp-simpleresponsive >ul >li, +.tp-simpleresponsive >ul >li:before, +.tp-revslider-mainul >li, +.tp-simpleresponsive >ul >li{ + list-style:none !important; + position:absolute; + margin:0px !important; + padding:0px !important; + overflow-x: visible; + overflow-y: visible; + list-style-type: none !important; + background-image:none; + background-position:0px 0px; + text-indent: 0em; + top:0px;left:0px; +} + + +.tp-revslider-mainul >li, +.rev_slider >ul >li, +.rev_slider >ul >li:before, +.tp-revslider-mainul >li:before, +.tp-simpleresponsive >ul >li, +.tp-simpleresponsive >ul >li:before, +.tp-revslider-mainul >li, +.tp-simpleresponsive >ul >li { + visibility:hidden; +} + +.tp-revslider-slidesli, +.tp-revslider-mainul { + padding:0 !important; + margin:0 !important; + list-style:none !important; +} + +.rev_slider li.tp-revslider-slidesli { + position: absolute !important; +} + + +.tp-caption .rs-untoggled-content { display:block;} +.tp-caption .rs-toggled-content { display:none;} + +.rs-toggle-content-active.tp-caption .rs-toggled-content { display:block;} +.rs-toggle-content-active.tp-caption .rs-untoggled-content { display:none;} + +.rev_slider .tp-caption, +.rev_slider .caption { + position:relative; + visibility:hidden; + white-space: nowrap; + display: block; +} + + +.rev_slider .tp-mask-wrap .tp-caption, +.rev_slider .tp-mask-wrap *:last-child, +.wpb_text_column .rev_slider .tp-mask-wrap .tp-caption, +.wpb_text_column .rev_slider .tp-mask-wrap *:last-child{ + margin-bottom:0; + +} + +.tp-svg-layer svg { width:100%; height:100%;position: relative;vertical-align: top} + + +/* CAROUSEL FUNCTIONS */ +.tp-carousel-wrapper { + cursor:url(openhand.cur), move; +} +.tp-carousel-wrapper.dragged { + cursor:url(closedhand.cur), move; +} + +/* ADDED FOR SLIDELINK MANAGEMENT */ +.tp-caption { + z-index:1 +} + +.tp_inner_padding { + box-sizing:border-box; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + max-height:none !important; +} + + +.tp-caption { + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -o-user-select: none; + position:absolute; + -webkit-font-smoothing: antialiased !important; +} + +.tp-caption.tp-layer-selectable { + -moz-user-select: all; + -khtml-user-select: all; + -webkit-user-select: all; + -o-user-select: all; +} + +.tp-forcenotvisible, +.tp-hide-revslider, +.tp-caption.tp-hidden-caption { + visibility:hidden !important; + display:none !important +} + +.rev_slider embed, +.rev_slider iframe, +.rev_slider object, +.rev_slider audio, +.rev_slider video { + max-width: none !important +} + + + + + + +/********************************************** + - FULLSCREEN AND FULLWIDHT CONTAINERS - +**********************************************/ +.rev_slider_wrapper { width:100%;} + +.fullscreen-container { + position:relative; + padding:0; +} + + +.fullwidthbanner-container{ + position:relative; + padding:0; + overflow:hidden; +} + +.fullwidthbanner-container .fullwidthabanner{ + width:100%; + position:relative; +} + + + +/********************************* + - SPECIAL TP CAPTIONS - +**********************************/ + +.tp-static-layers { + position:absolute; z-index:101; top:0px;left:0px; + /*pointer-events:none;*/ + +} + + +.tp-caption .frontcorner { + width: 0; + height: 0; + border-left: 40px solid transparent; + border-right: 0px solid transparent; + border-top: 40px solid #00A8FF; + position: absolute;left:-40px;top:0px; +} + +.tp-caption .backcorner { + width: 0; + height: 0; + border-left: 0px solid transparent; + border-right: 40px solid transparent; + border-bottom: 40px solid #00A8FF; + position: absolute;right:0px;top:0px; +} + +.tp-caption .frontcornertop { + width: 0; + height: 0; + border-left: 40px solid transparent; + border-right: 0px solid transparent; + border-bottom: 40px solid #00A8FF; + position: absolute;left:-40px;top:0px; +} + +.tp-caption .backcornertop { + width: 0; + height: 0; + border-left: 0px solid transparent; + border-right: 40px solid transparent; + border-top: 40px solid #00A8FF; + position: absolute;right:0px;top:0px; +} + +.tp-layer-inner-rotation { + position: relative !important; +} + + +/*********************************************** + - SPECIAL ALTERNATIVE IMAGE SETTINGS - +***********************************************/ + +img.tp-slider-alternative-image { + width:100%; height:auto; +} + + +/****************************** + - IE8 HACKS - +*******************************/ +.noFilterClass { + filter:none !important; +} + + +/******************************** + - FULLSCREEN VIDEO - +*********************************/ + +.rs-background-video-layer { position: absolute;top:0px;left:0px; width:100%;height:100%;visibility: hidden;z-index: 0;} + +.tp-caption.coverscreenvideo { width:100%;height:100%;top:0px;left:0px;position:absolute;} +.caption.fullscreenvideo, +.tp-caption.fullscreenvideo { left:0px; top:0px; position:absolute;width:100%;height:100%} + +.caption.fullscreenvideo iframe, +.caption.fullscreenvideo audio, +.caption.fullscreenvideo video, +.tp-caption.fullscreenvideo iframe, +.tp-caption.fullscreenvideo iframe audio, +.tp-caption.fullscreenvideo iframe video { width:100% !important; height:100% !important; display: none} + +.fullcoveredvideo audio, +.fullscreenvideo audio +.fullcoveredvideo video, +.fullscreenvideo video { background: #000} + +.fullcoveredvideo .tp-poster { background-position: center center;background-size: cover;width:100%;height:100%;top:0px;left:0px} + + +.videoisplaying .html5vid .tp-poster { display: none} + +.tp-video-play-button { + background:#000; + background:rgba(0,0,0,0.3); + border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px; + position: absolute; + top: 50%; + left: 50%; + color: #FFF; + z-index: 3; + margin-top: -25px; + margin-left: -25px; + line-height: 50px !important; + text-align: center; + cursor: pointer; + width: 50px; + height:50px; + box-sizing: border-box; + -moz-box-sizing: border-box; + display: inline-block; + vertical-align: top; + z-index: 4; + opacity: 0; + -webkit-transition:opacity 300ms ease-out !important; + -moz-transition:opacity 300ms ease-out !important; + -o-transition:opacity 300ms ease-out !important; + transition:opacity 300ms ease-out !important; +} + +.tp-hiddenaudio, +.tp-audio-html5 .tp-video-play-button { display:none !important;} +.tp-caption .html5vid { width:100% !important; height:100% !important;} +.tp-video-play-button i { width:50px;height:50px; display:inline-block; text-align: center; vertical-align: top; line-height: 50px !important; font-size: 40px !important;} +.tp-caption:hover .tp-video-play-button { opacity: 1;} +.tp-caption .tp-revstop { display:none; border-left:5px solid #fff !important; border-right:5px solid #fff !important;margin-top:15px !important;line-height: 20px !important;vertical-align: top; font-size:25px !important;} +.videoisplaying .revicon-right-dir { display:none} +.videoisplaying .tp-revstop { display:inline-block} + +.videoisplaying .tp-video-play-button { display:none} +.tp-caption:hover .tp-video-play-button { display:block} + +.fullcoveredvideo .tp-video-play-button { display:none !important} + + +.fullscreenvideo .fullscreenvideo audio { object-fit:contain !important;} +.fullscreenvideo .fullscreenvideo video { object-fit:contain !important;} + +.fullscreenvideo .fullcoveredvideo audio { object-fit:cover !important;} +.fullscreenvideo .fullcoveredvideo video { object-fit:cover !important;} + +.tp-video-controls { + position: absolute; + bottom: 0; + left: 0; + right: 0; + padding: 5px; + opacity: 0; + -webkit-transition: opacity .3s; + -moz-transition: opacity .3s; + -o-transition: opacity .3s; + -ms-transition: opacity .3s; + transition: opacity .3s; + background-image: linear-gradient(to bottom, rgb(0,0,0) 13%, rgb(50,50,50) 100%); + background-image: -o-linear-gradient(bottom, rgb(0,0,0) 13%, rgb(50,50,50) 100%); + background-image: -moz-linear-gradient(bottom, rgb(0,0,0) 13%, rgb(50,50,50) 100%); + background-image: -webkit-linear-gradient(bottom, rgb(0,0,0) 13%, rgb(50,50,50) 100%); + background-image: -ms-linear-gradient(bottom, rgb(0,0,0) 13%, rgb(50,50,50) 100%); + background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.13, rgb(0,0,0)),color-stop(1, rgb(50,50,50))); + display:table;max-width:100%; overflow:hidden;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box; +} + +.tp-caption:hover .tp-video-controls { opacity: .9;} + +.tp-video-button { + background: rgba(0,0,0,.5); + border: 0; + color: #EEE; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -o-border-radius: 3px; + border-radius: 3px; + cursor:pointer; + line-height:12px; + font-size:12px; + color:#fff; + padding:0px; + margin:0px; + outline: none; + } +.tp-video-button:hover { cursor: pointer;} + + +.tp-video-button-wrap, +.tp-video-seek-bar-wrap, +.tp-video-vol-bar-wrap { padding:0px 5px;display:table-cell; vertical-align: middle;} + +.tp-video-seek-bar-wrap { width:80%} +.tp-video-vol-bar-wrap { width:20%} + +.tp-volume-bar, +.tp-seek-bar { width:100%; cursor: pointer; outline:none; line-height:12px;margin:0; padding:0;} + + +.rs-fullvideo-cover { width:100%;height:100%;top:0px;left:0px;position: absolute; background:transparent;z-index:5;} + + +.rs-background-video-layer video::-webkit-media-controls { display:none !important;} +.rs-background-video-layer audio::-webkit-media-controls { display:none !important;} + +.tp-audio-html5 .tp-video-controls { opacity: 1 !important; visibility: visible !important} + +/******************************** + - DOTTED OVERLAYS - +*********************************/ +.tp-dottedoverlay { background-repeat:repeat;width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:3} +.tp-dottedoverlay.twoxtwo { background:url(../assets/gridtile.png)} +.tp-dottedoverlay.twoxtwowhite { background:url(../assets/gridtile_white.png)} +.tp-dottedoverlay.threexthree { background:url(../assets/gridtile_3x3.png)} +.tp-dottedoverlay.threexthreewhite { background:url(../assets/gridtile_3x3_white.png)} + + +/****************************** + - SHADOWS - +******************************/ + +.tp-shadowcover { width:100%;height:100%;top:0px;left:0px;background: #fff;position: absolute; z-index: -1;} +.tp-shadow1 { + -webkit-box-shadow: 0 10px 6px -6px rgba(0,0,0,0.8); + -moz-box-shadow: 0 10px 6px -6px rgba(0,0,0,0.8); + box-shadow: 0 10px 6px -6px rgba(0,0,0,0.8); +} + +.tp-shadow2:before, .tp-shadow2:after, +.tp-shadow3:before, .tp-shadow4:after +{ + z-index: -2; + position: absolute; + content: ""; + bottom: 10px; + left: 10px; + width: 50%; + top: 85%; + max-width:300px; + background: transparent; + -webkit-box-shadow: 0 15px 10px rgba(0,0,0,0.8); + -moz-box-shadow: 0 15px 10px rgba(0,0,0,0.8); + box-shadow: 0 15px 10px rgba(0,0,0,0.8); + -webkit-transform: rotate(-3deg); + -moz-transform: rotate(-3deg); + -o-transform: rotate(-3deg); + -ms-transform: rotate(-3deg); + transform: rotate(-3deg); +} + +.tp-shadow2:after, +.tp-shadow4:after +{ + -webkit-transform: rotate(3deg); + -moz-transform: rotate(3deg); + -o-transform: rotate(3deg); + -ms-transform: rotate(3deg); + transform: rotate(3deg); + right: 10px; + left: auto; +} + +.tp-shadow5 +{ + position:relative; + -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; + -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; + box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; +} +.tp-shadow5:before, .tp-shadow5:after +{ + content:""; + position:absolute; + z-index:-2; + -webkit-box-shadow:0 0 25px 0px rgba(0,0,0,0.6); + -moz-box-shadow:0 0 25px 0px rgba(0,0,0,0.6); + box-shadow:0 0 25px 0px rgba(0,0,0,0.6); + top:30%; + bottom:0; + left:20px; + right:20px; + -moz-border-radius:100px / 20px; + border-radius:100px / 20px; +} + +/****************************** + - BUTTONS - +*******************************/ + +.tp-button{ + padding:6px 13px 5px; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + height:30px; + cursor:pointer; + color:#fff !important; text-shadow:0px 1px 1px rgba(0, 0, 0, 0.6) !important; font-size:15px; line-height:45px !important; + font-family: arial, sans-serif; font-weight: bold; letter-spacing: -1px; + text-decoration:none; +} + +.tp-button.big { color:#fff; text-shadow:0px 1px 1px rgba(0, 0, 0, 0.6); font-weight:bold; padding:9px 20px; font-size:19px; line-height:57px !important; } + + +.purchase:hover, +.tp-button:hover, +.tp-button.big:hover { background-position:bottom, 15px 11px} + + +/* BUTTON COLORS */ + +.tp-button.green, .tp-button:hover.green, +.purchase.green, .purchase:hover.green { background-color:#21a117; -webkit-box-shadow: 0px 3px 0px 0px #104d0b; -moz-box-shadow: 0px 3px 0px 0px #104d0b; box-shadow: 0px 3px 0px 0px #104d0b; } + +.tp-button.blue, .tp-button:hover.blue, +.purchase.blue, .purchase:hover.blue { background-color:#1d78cb; -webkit-box-shadow: 0px 3px 0px 0px #0f3e68; -moz-box-shadow: 0px 3px 0px 0px #0f3e68; box-shadow: 0px 3px 0px 0px #0f3e68} + +.tp-button.red, .tp-button:hover.red, +.purchase.red, .purchase:hover.red { background-color:#cb1d1d; -webkit-box-shadow: 0px 3px 0px 0px #7c1212; -moz-box-shadow: 0px 3px 0px 0px #7c1212; box-shadow: 0px 3px 0px 0px #7c1212} + +.tp-button.orange, .tp-button:hover.orange, +.purchase.orange, .purchase:hover.orange { background-color:#ff7700; -webkit-box-shadow: 0px 3px 0px 0px #a34c00; -moz-box-shadow: 0px 3px 0px 0px #a34c00; box-shadow: 0px 3px 0px 0px #a34c00} + +.tp-button.darkgrey,.tp-button.grey, +.tp-button:hover.darkgrey,.tp-button:hover.grey, +.purchase.darkgrey, .purchase:hover.darkgrey { background-color:#555; -webkit-box-shadow: 0px 3px 0px 0px #222; -moz-box-shadow: 0px 3px 0px 0px #222; box-shadow: 0px 3px 0px 0px #222} + +.tp-button.lightgrey, .tp-button:hover.lightgrey, +.purchase.lightgrey, .purchase:hover.lightgrey { background-color:#888; -webkit-box-shadow: 0px 3px 0px 0px #555; -moz-box-shadow: 0px 3px 0px 0px #555; box-shadow: 0px 3px 0px 0px #555} + + + +/* TP BUTTONS DESKTOP SIZE */ + +.rev-btn, +.rev-btn:visited { outline:none !important; box-shadow:none !important; text-decoration: none !important; line-height: 44px; font-size: 17px; font-weight: 500; padding: 12px 35px; box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box; font-family: "Roboto", sans-serif; cursor: pointer;} + +.rev-btn.rev-uppercase, +.rev-btn.rev-uppercase:visited { text-transform: uppercase; letter-spacing: 1px; font-size: 15px; font-weight: 900; } + +.rev-btn.rev-withicon i { font-size: 15px; font-weight: normal; position: relative; top: 0px; -webkit-transition: all 0.2s ease-out !important; -moz-transition: all 0.2s ease-out !important; -o-transition: all 0.2s ease-out !important; -ms-transition: all 0.2s ease-out !important; margin-left:10px !important;} + +.rev-btn.rev-hiddenicon i { font-size: 15px; font-weight: normal; position: relative; top: 0px; -webkit-transition: all 0.2s ease-out !important; -moz-transition: all 0.2s ease-out !important; -o-transition: all 0.2s ease-out !important; -ms-transition: all 0.2s ease-out !important; opacity: 0; margin-left:0px !important; width:0px !important; } +.rev-btn.rev-hiddenicon:hover i { opacity: 1 !important; margin-left:10px !important; width:auto !important;} + +/* REV BUTTONS MEDIUM */ +.rev-btn.rev-medium, +.rev-btn.rev-medium:visited { line-height: 36px; font-size: 14px; padding: 10px 30px; } + +.rev-btn.rev-medium.rev-withicon i { font-size: 14px; top: 0px; } + +.rev-btn.rev-medium.rev-hiddenicon i { font-size: 14px; top: 0px; } + + +/* REV BUTTONS SMALL */ +.rev-btn.rev-small, +.rev-btn.rev-small:visited { line-height: 28px; font-size: 12px; padding: 7px 20px; } + +.rev-btn.rev-small.rev-withicon i { font-size: 12px; top: 0px; } + +.rev-btn.rev-small.rev-hiddenicon i { font-size: 12px; top: 0px; } + + +/* ROUNDING OPTIONS */ +.rev-maxround { -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; } +.rev-minround { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } + + +/* BURGER BUTTON */ +.rev-burger { + position: relative; + width: 60px; + height: 60px; + box-sizing: border-box; + padding: 22px 0 0 14px; + border-radius: 50%; + border: 1px solid rgba(51,51,51,0.25); + tap-highlight-color: transparent; + cursor: pointer; +} +.rev-burger span { + display: block; + width: 30px; + height: 3px; + background: #333; + transition: .7s; + pointer-events: none; + transform-style: flat !important; +} +.rev-burger span:nth-child(2) { + margin: 3px 0; +} + +#dialog_addbutton .rev-burger:hover :first-child, +.open .rev-burger :first-child, +.open.rev-burger :first-child { + transform: translateY(6px) rotate(-45deg); + -webkit-transform: translateY(6px) rotate(-45deg); +} +#dialog_addbutton .rev-burger:hover :nth-child(2), +.open .rev-burger :nth-child(2), +.open.rev-burger :nth-child(2) { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + opacity: 0; +} +#dialog_addbutton .rev-burger:hover :last-child, +.open .rev-burger :last-child, +.open.rev-burger :last-child { + transform: translateY(-6px) rotate(-135deg); + -webkit-transform: translateY(-6px) rotate(-135deg); +} + +.rev-burger.revb-white { + border: 2px solid rgba(255,255,255,0.2); +} +.rev-burger.revb-white span { + background: #fff; +} +.rev-burger.revb-whitenoborder { + border: 0; +} +.rev-burger.revb-whitenoborder span { + background: #fff; +} +.rev-burger.revb-darknoborder { + border: 0; +} +.rev-burger.revb-darknoborder span { + background: #333; +} + +.rev-burger.revb-whitefull { + background: #fff; + border:none; +} + +.rev-burger.revb-whitefull span { + background:#333; +} + +.rev-burger.revb-darkfull { + background: #333; + border:none; +} + +.rev-burger.revb-darkfull span { + background:#fff; +} + + +/* SCROLL DOWN BUTTON */ +@-webkit-keyframes rev-ani-mouse { + 0% { opacity: 1;top: 29%;} + 15% {opacity: 1;top: 50%;} + 50% { opacity: 0;top: 50%;} + 100% { opacity: 0;top: 29%;} +} +@-moz-keyframes rev-ani-mouse { + 0% {opacity: 1;top: 29%;} + 15% {opacity: 1;top: 50%;} + 50% {opacity: 0;top: 50%;} + 100% {opacity: 0;top: 29%;} +} +@keyframes rev-ani-mouse { + 0% {opacity: 1;top: 29%;} + 15% {opacity: 1;top: 50%;} + 50% {opacity: 0;top: 50%;} + 100% {opacity: 0;top: 29%;} +} +.rev-scroll-btn { + display: inline-block; + position: relative; + left: 0; + right: 0; + text-align: center; + cursor: pointer; + width:35px; + height:55px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: 3px solid white; + border-radius: 23px; +} +.rev-scroll-btn > * { + display: inline-block; + line-height: 18px; + font-size: 13px; + font-weight: normal; + color: #7f8c8d; + color: #ffffff; + font-family: "proxima-nova", "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: 2px; +} +.rev-scroll-btn > *:hover, +.rev-scroll-btn > *:focus, +.rev-scroll-btn > *.active { + color: #ffffff; +} +.rev-scroll-btn > *:hover, +.rev-scroll-btn > *:focus, +.rev-scroll-btn > *:active, +.rev-scroll-btn > *.active { + filter: alpha(opacity=80); +} + +.rev-scroll-btn.revs-fullwhite { + background:#fff; +} + +.rev-scroll-btn.revs-fullwhite span { + background: #333; +} + +.rev-scroll-btn.revs-fulldark { + background:#333; + border:none; +} + +.rev-scroll-btn.revs-fulldark span { + background: #fff; +} + +.rev-scroll-btn span { + position: absolute; + display: block; + top: 29%; + left: 50%; + width: 8px; + height: 8px; + margin: -4px 0 0 -4px; + background: white; + border-radius: 50%; + -webkit-animation: rev-ani-mouse 2.5s linear infinite; + -moz-animation: rev-ani-mouse 2.5s linear infinite; + animation: rev-ani-mouse 2.5s linear infinite; +} + +.rev-scroll-btn.revs-dark { + border-color:#333; +} +.rev-scroll-btn.revs-dark span { + background: #333; +} + +.rev-control-btn { + position: relative; + display: inline-block; + z-index: 5; + color: #FFF; + font-size: 20px; + line-height: 60px; + font-weight: 400; + font-style: normal; + font-family: Raleway; + text-decoration: none; + text-align: center; + background-color: #000; + border-radius: 50px; + text-shadow: none; + background-color: rgba(0, 0, 0, 0.50); + width:60px; + height:60px; + box-sizing: border-box; + cursor: pointer; +} + +.rev-cbutton-dark-sr { + border-radius: 3px; +} + +.rev-cbutton-light { + color: #333; + background-color: rgba(255,255,255, 0.75); +} + +.rev-cbutton-light-sr { + color: #333; + border-radius: 3px; + background-color: rgba(255,255,255, 0.75); +} + + +.rev-sbutton { + line-height: 37px; + width:37px; + height:37px; +} + +.rev-sbutton-blue { + background-color: #3B5998 +} +.rev-sbutton-lightblue { + background-color: #00A0D1; +} +.rev-sbutton-red { + background-color: #DD4B39; +} + + + + +/************************************ +- TP BANNER TIMER - +*************************************/ +.tp-bannertimer { visibility: hidden; width:100%; height:5px; /*background:url(../assets/timer.png);*/ background: #fff; background: rgba(0,0,0,0.15); position:absolute; z-index:200; top:0px} +.tp-bannertimer.tp-bottom { top:auto; bottom:0px !important;height:5px} + + +/********************************************* +- BASIC SETTINGS FOR THE BANNER - +***********************************************/ + + .tp-simpleresponsive img { + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -o-user-select: none; +} + +.tp-caption img { + background: transparent; + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); + zoom: 1; +} + + + +/* CAPTION SLIDELINK **/ +.caption.slidelink a div, +.tp-caption.slidelink a div { width:3000px; height:1500px; background:url(../assets/coloredbg.png) repeat} +.tp-caption.slidelink a span{ background:url(../assets/coloredbg.png) repeat} +.tp-shape { width:100%;height:100%;} + + + +/********************************************* +- WOOCOMMERCE STYLES - +***********************************************/ + +.tp-caption .rs-starring { display: inline-block} +.tp-caption .rs-starring .star-rating { float: none;} + +.tp-caption .rs-starring .star-rating { + color: #FFC321 !important; + display: inline-block; + vertical-align: top; +} + +.tp-caption .rs-starring .star-rating, +.tp-caption .rs-starring-page .star-rating { + position: relative; + height: 1em; + + width: 5.4em; + font-family: star; +} + +.tp-caption .rs-starring .star-rating:before, +.tp-caption .rs-starring-page .star-rating:before { + content: "\73\73\73\73\73"; + color: #E0DADF; + float: left; + top: 0; + left: 0; + position: absolute; +} + +.tp-caption .rs-starring .star-rating span { + overflow: hidden; + float: left; + top: 0; + left: 0; + position: absolute; + padding-top: 1.5em; + font-size: 1em !important; +} + +.tp-caption .rs-starring .star-rating span:before, +.tp-caption .rs-starring .star-rating span:before { + content: "\53\53\53\53\53"; + top: 0; + position: absolute; + left: 0; +} + +.tp-caption .rs-starring .star-rating { + color: #FFC321 !important; +} + + +.tp-caption .rs-starring .star-rating, +.tp-caption .rs-starring-page .star-rating { + + font-size: 1em !important; + font-family: star; +} + + +/****************************** + - LOADER FORMS - +********************************/ + +.tp-loader { + top:50%; left:50%; + z-index:10000; + position:absolute; +} + +.tp-loader.spinner0 { + width: 40px; + height: 40px; + background-color: #fff; + background:url(../assets/loader.gif) no-repeat center center; + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + margin-top:-20px; + margin-left:-20px; + -webkit-animation: tp-rotateplane 1.2s infinite ease-in-out; + animation: tp-rotateplane 1.2s infinite ease-in-out; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + + +.tp-loader.spinner1 { + width: 40px; + height: 40px; + background-color: #fff; + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + margin-top:-20px; + margin-left:-20px; + -webkit-animation: tp-rotateplane 1.2s infinite ease-in-out; + animation: tp-rotateplane 1.2s infinite ease-in-out; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + + + +.tp-loader.spinner5 { + background:url(../assets/loader.gif) no-repeat 10px 10px; + background-color:#fff; + margin:-22px -22px; + width:44px;height:44px; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + + +@-webkit-keyframes tp-rotateplane { + 0% { -webkit-transform: perspective(120px) } + 50% { -webkit-transform: perspective(120px) rotateY(180deg) } + 100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) } +} + +@keyframes tp-rotateplane { + 0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg);} + 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);} + 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);} +} + + +.tp-loader.spinner2 { + width: 40px; + height: 40px; + margin-top:-20px;margin-left:-20px; + background-color: #ff0000; + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + border-radius: 100%; + -webkit-animation: tp-scaleout 1.0s infinite ease-in-out; + animation: tp-scaleout 1.0s infinite ease-in-out; +} + +@-webkit-keyframes tp-scaleout { + 0% { -webkit-transform: scale(0.0) } + 100% {-webkit-transform: scale(1.0); opacity: 0;} +} + +@keyframes tp-scaleout { + 0% {transform: scale(0.0);-webkit-transform: scale(0.0);} + 100% {transform: scale(1.0);-webkit-transform: scale(1.0);opacity: 0;} +} + + +.tp-loader.spinner3 { + margin: -9px 0px 0px -35px; + width: 70px; + text-align: center; +} + +.tp-loader.spinner3 .bounce1, +.tp-loader.spinner3 .bounce2, +.tp-loader.spinner3 .bounce3 { + width: 18px; + height: 18px; + background-color: #fff; + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + border-radius: 100%; + display: inline-block; + -webkit-animation: tp-bouncedelay 1.4s infinite ease-in-out; + animation: tp-bouncedelay 1.4s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.tp-loader.spinner3 .bounce1 { + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; +} + +.tp-loader.spinner3 .bounce2 { + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; +} + +@-webkit-keyframes tp-bouncedelay { + 0%, 80%, 100% { -webkit-transform: scale(0.0) } + 40% { -webkit-transform: scale(1.0) } +} + +@keyframes tp-bouncedelay { + 0%, 80%, 100% {transform: scale(0.0);} + 40% {transform: scale(1.0);} +} + + + + +.tp-loader.spinner4 { + margin: -20px 0px 0px -20px; + width: 40px; + height: 40px; + text-align: center; + -webkit-animation: tp-rotate 2.0s infinite linear; + animation: tp-rotate 2.0s infinite linear; +} + +.tp-loader.spinner4 .dot1, +.tp-loader.spinner4 .dot2 { + width: 60%; + height: 60%; + display: inline-block; + position: absolute; + top: 0; + background-color: #fff; + border-radius: 100%; + -webkit-animation: tp-bounce 2.0s infinite ease-in-out; + animation: tp-bounce 2.0s infinite ease-in-out; + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); + -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15); +} + +.tp-loader.spinner4 .dot2 { + top: auto; + bottom: 0px; + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; +} + +@-webkit-keyframes tp-rotate { 100% { -webkit-transform: rotate(360deg) }} +@keyframes tp-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }} + +@-webkit-keyframes tp-bounce { + 0%, 100% { -webkit-transform: scale(0.0) } + 50% { -webkit-transform: scale(1.0) } +} + +@keyframes tp-bounce { + 0%, 100% {transform: scale(0.0);} + 50% { transform: scale(1.0);} +} + + + +/*********************************************** + - STANDARD NAVIGATION SETTINGS +***********************************************/ + + +.tp-thumbs.navbar, +.tp-bullets.navbar, +.tp-tabs.navbar { border:none; min-height: 0; margin:0; border-radius: 0; -moz-border-radius:0; -webkit-border-radius:0;} + +.tp-tabs, +.tp-thumbs, +.tp-bullets { position:absolute; display:block; z-index:1000; top:0px; left:0px;} + +.tp-tab, +.tp-thumb { cursor: pointer; position:absolute;opacity:0.5; box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;} + +.tp-arr-imgholder, +.tp-videoposter, +.tp-thumb-image, +.tp-tab-image { background-position: center center; background-size:cover;width:100%;height:100%; display:block; position:absolute;top:0px;left:0px;} + +.tp-tab:hover, +.tp-tab.selected, +.tp-thumb:hover, +.tp-thumb.selected { opacity:1;} + +.tp-tab-mask, +.tp-thumb-mask { box-sizing:border-box !important; -webkit-box-sizing:border-box !important; -moz-box-sizing:border-box !important} + +.tp-tabs, +.tp-thumbs { box-sizing:content-box !important; -webkit-box-sizing:content-box !important; -moz-box-sizing: content-box !important} + +.tp-bullet { width:15px;height:15px; position:absolute; background:#fff; background:rgba(255,255,255,0.3); cursor: pointer;} +.tp-bullet.selected, +.tp-bullet:hover { background:#fff;} + +.tp-bannertimer { background:#000; background:rgba(0,0,0,0.15); height:5px;} + + +.tparrows { cursor:pointer; background:#000; background:rgba(0,0,0,0.5); width:40px;height:40px;position:absolute; display:block; z-index:1000; } +.tparrows:hover { background:#000;} +.tparrows:before { font-family: "revicons"; font-size:15px; color:#fff; display:block; line-height: 40px; text-align: center;} +.tparrows.tp-leftarrow:before { content: '\e824'; } +.tparrows.tp-rightarrow:before { content: '\e825'; } + + + +/*************************** + - KEN BURNS FIXES - +***************************/ + +body.rtl .tp-kbimg {left: 0 !important} + + + +/*************************** + - 3D SHADOW MODE - +***************************/ + +.dddwrappershadow { box-shadow:0 45px 100px rgba(0, 0, 0, 0.4);} + +/******************* + - DEBUG MODE - +*******************/ + +.hglayerinfo { position: fixed; + bottom: 0px; + left: 0px; + color: #FFF; + font-size: 12px; + line-height: 20px; + font-weight: 600; + background: rgba(0, 0, 0, 0.75); + padding: 5px 10px; + z-index: 2000; + white-space: normal;} +.hginfo { position:absolute;top:-2px;left:-2px;color:#e74c3c;font-size:12px;font-weight:600; background:#000;padding:2px 5px;} +.indebugmode .tp-caption:hover { border:1px dashed #c0392b !important;} +.helpgrid { border:2px dashed #c0392b;position:absolute;top:0px;left:0px;z-index:0 } +#revsliderlogloglog { padding:15px;color:#fff;position:fixed; top:0px;left:0px;width:200px;height:150px;background:rgba(0,0,0,0.7); z-index:100000; font-size:10px; overflow:scroll;} + + + + + diff --git a/server/www/static/www/revolution/js/extensions/index.php b/server/www/static/www/revolution/js/extensions/index.php new file mode 100644 index 0000000..e69de29 diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.actions.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.actions.min.js new file mode 100644 index 0000000..df7b667 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.actions.min.js @@ -0,0 +1,7 @@ +/******************************************** + * REVOLUTION 5.2 EXTENSION - ACTIONS + * @version: 1.3.1 (03.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +!function($){var _R=jQuery.fn.revolution,_ISM=_R.is_mobile();jQuery.extend(!0,_R,{checkActions:function(e,t,o){checkActions_intern(e,t,o)}});var checkActions_intern=function(e,t,o){o&&jQuery.each(o,function(o,a){a.delay=parseInt(a.delay,0)/1e3,e.addClass("noSwipe"),t.fullscreen_esclistener||("exitfullscreen"==a.action||"togglefullscreen"==a.action)&&(jQuery(document).keyup(function(t){27==t.keyCode&&jQuery("#rs-go-fullscreen").length>0&&e.trigger(a.event)}),t.fullscreen_esclistener=!0);var l="backgroundvideo"==a.layer?jQuery(".rs-background-video-layer"):"firstvideo"==a.layer?jQuery(".tp-revslider-slidesli").find(".tp-videolayer"):jQuery("#"+a.layer);switch(a.action){case"togglevideo":jQuery.each(l,function(t,o){o=jQuery(o);var a=o.data("videotoggledby");void 0==a&&(a=new Array),a.push(e),o.data("videotoggledby",a)});break;case"togglelayer":jQuery.each(l,function(t,o){o=jQuery(o);var a=o.data("layertoggledby");void 0==a&&(a=new Array),a.push(e),o.data("layertoggledby",a)});break;case"toggle_mute_video":jQuery.each(l,function(t,o){o=jQuery(o);var a=o.data("videomutetoggledby");void 0==a&&(a=new Array),a.push(e),o.data("videomutetoggledby",a)});break;case"toggle_global_mute_video":jQuery.each(l,function(t,o){o=jQuery(o);var a=o.data("videomutetoggledby");void 0==a&&(a=new Array),a.push(e),o.data("videomutetoggledby",a)});break;case"toggleslider":void 0==t.slidertoggledby&&(t.slidertoggledby=new Array),t.slidertoggledby.push(e);break;case"togglefullscreen":void 0==t.fullscreentoggledby&&(t.fullscreentoggledby=new Array),t.fullscreentoggledby.push(e)}switch(e.on(a.event,function(){var o="backgroundvideo"==a.layer?jQuery(".active-revslide .slotholder .rs-background-video-layer"):"firstvideo"==a.layer?jQuery(".active-revslide .tp-videolayer").first():jQuery("#"+a.layer);if("stoplayer"==a.action||"togglelayer"==a.action||"startlayer"==a.action){if(o.length>0)if("startlayer"==a.action||"togglelayer"==a.action&&"in"!=o.data("animdirection")){o.data("animdirection","in");var l=o.data("timeline_out"),i="carousel"===t.sliderType?0:t.width/2-t.gridwidth[t.curWinRange]*t.bw/2,r=0;void 0!=l&&l.pause(0).kill(),_R.animateSingleCaption&&_R.animateSingleCaption(o,t,i,r,0,!1,!0);var n=o.data("timeline");o.data("triggerstate","on"),_R.toggleState(o.data("layertoggledby")),punchgs.TweenLite.delayedCall(a.delay,function(){n.play(0)},[n])}else("stoplayer"==a.action||"togglelayer"==a.action&&"out"!=o.data("animdirection"))&&(o.data("animdirection","out"),o.data("triggered",!0),o.data("triggerstate","off"),_R.stopVideo&&_R.stopVideo(o,t),_R.endMoveCaption&&punchgs.TweenLite.delayedCall(a.delay,_R.endMoveCaption,[o,null,null,t]),_R.unToggleState(o.data("layertoggledby")))}else!_ISM||"playvideo"!=a.action&&"stopvideo"!=a.action&&"togglevideo"!=a.action&&"mutevideo"!=a.action&&"unmutevideo"!=a.action&&"toggle_mute_video"!=a.action&&"toggle_global_mute_video"!=a.action?punchgs.TweenLite.delayedCall(a.delay,function(){actionSwitches(o,t,a,e)},[o,t,a,e]):actionSwitches(o,t,a,e)}),a.action){case"togglelayer":case"startlayer":case"playlayer":case"stoplayer":var l=jQuery("#"+a.layer);"bytrigger"!=l.data("start")&&(l.data("triggerstate","on"),l.data("animdirection","in"))}})},actionSwitches=function(tnc,opt,a,_nc){switch(a.action){case"scrollbelow":_nc.addClass("tp-scrollbelowslider"),_nc.data("scrolloffset",a.offset),_nc.data("scrolldelay",a.delay);var off=getOffContH(opt.fullScreenOffsetContainer)||0,aof=parseInt(a.offset,0)||0;off=off-aof||0,jQuery("body,html").animate({scrollTop:opt.c.offset().top+jQuery(opt.li[0]).height()-off+"px"},{duration:400});break;case"callback":eval(a.callback);break;case"jumptoslide":switch(a.slide.toLowerCase()){case"+1":case"next":opt.sc_indicator="arrow",_R.callingNewSlide(opt,opt.c,1);break;case"previous":case"prev":case"-1":opt.sc_indicator="arrow",_R.callingNewSlide(opt,opt.c,-1);break;default:var ts=jQuery.isNumeric(a.slide)?parseInt(a.slide,0):a.slide;_R.callingNewSlide(opt,opt.c,ts)}break;case"simplelink":window.open(a.url,a.target);break;case"toggleslider":opt.noloopanymore=0,"playing"==opt.sliderstatus?(opt.c.revpause(),opt.forcepause_viatoggle=!0,_R.unToggleState(opt.slidertoggledby)):(opt.forcepause_viatoggle=!1,opt.c.revresume(),_R.toggleState(opt.slidertoggledby));break;case"pauseslider":opt.c.revpause(),_R.unToggleState(opt.slidertoggledby);break;case"playslider":opt.noloopanymore=0,opt.c.revresume(),_R.toggleState(opt.slidertoggledby);break;case"playvideo":tnc.length>0&&_R.playVideo(tnc,opt);break;case"stopvideo":tnc.length>0&&_R.stopVideo&&_R.stopVideo(tnc,opt);break;case"togglevideo":tnc.length>0&&(_R.isVideoPlaying(tnc,opt)?_R.stopVideo&&_R.stopVideo(tnc,opt):_R.playVideo(tnc,opt));break;case"mutevideo":tnc.length>0&&_R.muteVideo(tnc,opt);break;case"unmutevideo":tnc.length>0&&_R.unMuteVideo&&_R.unMuteVideo(tnc,opt);break;case"toggle_mute_video":tnc.length>0&&(_R.isVideoMuted(tnc,opt)?_R.unMuteVideo(tnc,opt):_R.muteVideo&&_R.muteVideo(tnc,opt)),_nc.toggleClass("rs-toggle-content-active");break;case"toggle_global_mute_video":_nc.hasClass("rs-toggle-content-active")?(opt.globalmute=!1,void 0!=opt.playingvideos&&opt.playingvideos.length>0&&jQuery.each(opt.playingvideos,function(e,t){_R.unMuteVideo&&_R.unMuteVideo(t,opt)})):(opt.globalmute=!0,void 0!=opt.playingvideos&&opt.playingvideos.length>0&&jQuery.each(opt.playingvideos,function(e,t){_R.muteVideo&&_R.muteVideo(t,opt)})),_nc.toggleClass("rs-toggle-content-active");break;case"simulateclick":tnc.length>0&&tnc.click();break;case"toggleclass":tnc.length>0&&(tnc.hasClass(a.classname)?tnc.removeClass(a.classname):tnc.addClass(a.classname));break;case"gofullscreen":case"exitfullscreen":case"togglefullscreen":if(jQuery("#rs-go-fullscreen").length>0&&("togglefullscreen"==a.action||"exitfullscreen"==a.action)){jQuery("#rs-go-fullscreen").appendTo(jQuery("#rs-was-here"));var paw=opt.c.closest(".forcefullwidth_wrapper_tp_banner").length>0?opt.c.closest(".forcefullwidth_wrapper_tp_banner"):opt.c.closest(".rev_slider_wrapper");paw.unwrap(),paw.unwrap(),opt.minHeight=opt.oldminheight,opt.infullscreenmode=!1,opt.c.revredraw(),void 0!=opt.playingvideos&&opt.playingvideos.length>0&&jQuery.each(opt.playingvideos,function(e,t){_R.playVideo(t,opt)}),_R.unToggleState(opt.fullscreentoggledby)}else if(0==jQuery("#rs-go-fullscreen").length&&("togglefullscreen"==a.action||"gofullscreen"==a.action)){var paw=opt.c.closest(".forcefullwidth_wrapper_tp_banner").length>0?opt.c.closest(".forcefullwidth_wrapper_tp_banner"):opt.c.closest(".rev_slider_wrapper");paw.wrap('
');var gf=jQuery("#rs-go-fullscreen");gf.appendTo(jQuery("body")),gf.css({position:"fixed",width:"100%",height:"100%",top:"0px",left:"0px",zIndex:"9999999",background:"#ffffff"}),opt.oldminheight=opt.minHeight,opt.minHeight=jQuery(window).height(),opt.infullscreenmode=!0,opt.c.revredraw(),void 0!=opt.playingvideos&&opt.playingvideos.length>0&&jQuery.each(opt.playingvideos,function(e,t){_R.playVideo(t,opt)}),_R.toggleState(opt.fullscreentoggledby)}}},getOffContH=function(e){if(void 0==e)return 0;if(e.split(",").length>1){oc=e.split(",");var t=0;return oc&&jQuery.each(oc,function(e,o){jQuery(o).length>0&&(t+=jQuery(o).outerHeight(!0))}),t}return jQuery(e).height()}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.carousel.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.carousel.min.js new file mode 100644 index 0000000..673f085 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.carousel.min.js @@ -0,0 +1,7 @@ +/******************************************** + * REVOLUTION 5.0 EXTENSION - CAROUSEL + * @version: 1.0.2 (01.10.2015) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +!function(){var e=jQuery.fn.revolution;jQuery.extend(!0,e,{prepareCarousel:function(i,l,o){o=i.carousel.lastdirection=a(o,i.carousel.lastdirection),t(i),i.carousel.slide_offset_target=r(i),void 0==l?e.carouselToEvalPosition(i,o):s(i,o,!1)},carouselToEvalPosition:function(i,t){var l=i.carousel;t=l.lastdirection=a(t,l.lastdirection);var o="center"===l.horizontal_align?(l.wrapwidth/2-l.slide_width/2-l.slide_globaloffset)/l.slide_width:(0-l.slide_globaloffset)/l.slide_width,r=e.simp(o,i.slideamount,!1),n=r-Math.floor(r),d=0,f=-1*(Math.ceil(r)-r),h=-1*(Math.floor(r)-r);d=n>=.3&&"left"===t||n>=.7&&"right"===t?f:.3>n&&"left"===t||.7>n&&"right"===t?h:d,d="off"===l.infinity?0>r?r:o>i.slideamount-1?o-(i.slideamount-1):d:d,l.slide_offset_target=d*l.slide_width,0!==Math.abs(l.slide_offset_target)?s(i,t,!0):e.organiseCarousel(i,t)},organiseCarousel:function(e,i,t,a){i=void 0===i||"down"==i||"up"==i||null===i||jQuery.isEmptyObject(i)?"left":i;for(var s=e.carousel,l=new Array,o=s.slides.length,r="right"===s.horizontal_align?r=e.width:0,n=0;o>n;n++){var d=n*s.slide_width+s.slide_offset;"on"===s.infinity&&(d=d>s.wrapwidth-s.inneroffset&&"right"==i?s.slide_offset-(s.slides.length-n)*s.slide_width:d,d=d<0-s.inneroffset-s.slide_width&&"left"==i?d+s.maxwidth:d),l[n]=d}var f=999;s.slides&&jQuery.each(s.slides,function(a,r){var n=l[a];"on"===s.infinity&&(n=n>s.wrapwidth-s.inneroffset&&"left"===i?l[0]-(o-a)*s.slide_width:n,n=n<0-s.inneroffset-s.slide_width?"left"==i?n+s.maxwidth:"right"===i?l[o-1]+(a+1)*s.slide_width:n:n);var d=new Object;d.left=n+s.inneroffset;var h="center"===s.horizontal_align?(Math.abs(s.wrapwidth/2)-(d.left+s.slide_width/2))/s.slide_width:(s.inneroffset-d.left)/s.slide_width,w="center"===s.horizontal_align?2:1;if((t&&Math.abs(h)h&&h>0?1-h:Math.abs(h)>s.maxVisibleItems-1?1-(Math.abs(h)-(s.maxVisibleItems-1)):1;break;case"right":d.autoAlpha=h>-1&&0>h?1-Math.abs(h):h>s.maxVisibleItems-1?1-(Math.abs(h)-(s.maxVisibleItems-1)):1}else d.autoAlpha=Math.abs(h)0)if("on"===s.vary_scale){d.scale=1-Math.abs(s.minScale/100/Math.ceil(s.maxVisibleItems/w)*h);var c=(s.slide_width-s.slide_width*d.scale)*Math.abs(h)}else{d.scale=h>=1||-1>=h?1-s.minScale/100:(100-s.minScale*Math.abs(h))/100;var c=(s.slide_width-s.slide_width*(1-s.minScale/100))*Math.abs(h)}void 0!==s.maxRotation&&0!=Math.abs(s.maxRotation)&&("on"===s.vary_rotation?(d.rotationY=Math.abs(s.maxRotation)-Math.abs((1-Math.abs(1/Math.ceil(s.maxVisibleItems/w)*h))*s.maxRotation),d.autoAlpha=Math.abs(d.rotationY)>90?0:d.autoAlpha):d.rotationY=h>=1||-1>=h?s.maxRotation:Math.abs(h)*s.maxRotation,d.rotationY=0>h?-1*d.rotationY:d.rotationY),d.x=-1*s.space*h,d.left=Math.floor(d.left),d.x=Math.floor(d.x),void 0!==d.scale?0>h?d.x-c:d.x+c:d.x,d.zIndex=Math.round(100-Math.abs(5*h)),d.transformStyle="3D"!=e.parallax.type&&"3d"!=e.parallax.type?"flat":"preserve-3d",punchgs.TweenLite.set(r,d)}),a&&(e.c.find(".next-revslide").removeClass("next-revslide"),jQuery(s.slides[s.focused]).addClass("next-revslide"),e.c.trigger("revolution.nextslide.waiting"));s.wrapwidth/2-s.slide_offset,s.maxwidth+s.slide_offset-s.wrapwidth/2}});var i=function(e){var i=e.carousel;i.infbackup=i.infinity,i.maxVisiblebackup=i.maxVisibleItems,i.slide_globaloffset="none",i.slide_offset=0,i.wrap=e.c.find(".tp-carousel-wrapper"),i.slides=e.c.find(".tp-revslider-slidesli"),0!==i.maxRotation&&("3D"!=e.parallax.type&&"3d"!=e.parallax.type?punchgs.TweenLite.set(i.wrap,{perspective:1200,transformStyle:"flat"}):punchgs.TweenLite.set(i.wrap,{perspective:1600,transformStyle:"preserve-3d"})),void 0!==i.border_radius&&parseInt(i.border_radius,0)>0&&punchgs.TweenLite.set(e.c.find(".tp-revslider-slidesli"),{borderRadius:i.border_radius})},t=function(t){void 0===t.bw&&e.setSize(t);var a=t.carousel,s=e.getHorizontalOffset(t.c,"left"),l=e.getHorizontalOffset(t.c,"right");void 0===a.wrap&&i(t),a.slide_width="on"!==a.stretch?t.gridwidth[t.curWinRange]*t.bw:t.c.width(),a.maxwidth=t.slideamount*a.slide_width,a.maxVisiblebackup>a.slides.length+1&&(a.maxVisibleItems=a.slides.length+2),a.wrapwidth=a.maxVisibleItems*a.slide_width+(a.maxVisibleItems-1)*a.space,a.wrapwidth="auto"!=t.sliderLayout?a.wrapwidth>t.c.closest(".tp-simpleresponsive").width()?t.c.closest(".tp-simpleresponsive").width():a.wrapwidth:a.wrapwidth>t.ul.width()?t.ul.width():a.wrapwidth,a.infinity=a.wrapwidth>=a.maxwidth?"off":a.infbackup,a.wrapoffset="center"===a.horizontal_align?(t.c.width()-l-s-a.wrapwidth)/2:0,a.wrapoffset="auto"!=t.sliderLayout&&t.outernav?0:a.wrapoffsetMath.abs(i)?e>0?e-Math.abs(Math.floor(e/i)*i):e+Math.abs(Math.floor(e/i)*i):e},o=function(e,i,t){var t,t,a=i-e,s=i-t-e;return a=l(a,t),s=l(s,t),Math.abs(a)>Math.abs(s)?s:a},r=function(i){var t=0,a=i.carousel;if(void 0!==a.positionanim&&a.positionanim.kill(),"none"==a.slide_globaloffset)a.slide_globaloffset=t="center"===a.horizontal_align?a.wrapwidth/2-a.slide_width/2:0;else{a.slide_globaloffset=a.slide_offset,a.slide_offset=0;var s=i.c.find(".processing-revslide").index(),l="center"===a.horizontal_align?(a.wrapwidth/2-a.slide_width/2-a.slide_globaloffset)/a.slide_width:(0-a.slide_globaloffset)/a.slide_width;l=e.simp(l,i.slideamount,!1),s=s>=0?s:i.c.find(".active-revslide").index(),s=s>=0?s:0,t="off"===a.infinity?l-s:-o(l,s,i.slideamount),t*=a.slide_width}return t}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.kenburn.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.kenburn.min.js new file mode 100644 index 0000000..3bf0db5 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.kenburn.min.js @@ -0,0 +1,7 @@ +/******************************************** + * REVOLUTION 5.0 EXTENSION - KEN BURN + * @version: 1.0.0 (03.08.2015) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +!function(){var t=jQuery.fn.revolution;jQuery.extend(!0,t,{stopKenBurn:function(t){void 0!=t.data("kbtl")&&t.data("kbtl").pause()},startKenBurn:function(t,e,a){var r=t.data(),n=t.find(".defaultimg"),s=n.data("lazyload")||n.data("src"),i=(r.owidth/r.oheight,"carousel"===e.sliderType?e.carousel.slide_width:e.ul.width()),o=e.ul.height();t.data("kbtl")&&t.data("kbtl").kill(),a=a||0,0==t.find(".tp-kbimg").length&&(t.append('
'),t.data("kenburn",t.find(".tp-kbimg")));var d=function(t,e,a,r,n,s,i){var o=t*a,d=e*a,l=Math.abs(r-o),h=Math.abs(n-d),p=new Object;return p.l=(0-s)*l,p.r=p.l+o,p.t=(0-i)*h,p.b=p.t+d,p.h=s,p.v=i,p},l=function(t,e,a,r,n){var s=t.bgposition.split(" ")||"center center",i="center"==s[0]?"50%":"left"==s[0]||"left"==s[1]?"0%":"right"==s[0]||"right"==s[1]?"100%":s[0],o="center"==s[1]?"50%":"top"==s[0]||"top"==s[1]?"0%":"bottom"==s[0]||"bottom"==s[1]?"100%":s[1];i=parseInt(i,0)/100||0,o=parseInt(o,0)/100||0;var l=new Object;return l.start=d(n.start.width,n.start.height,n.start.scale,e,a,i,o),l.end=d(n.start.width,n.start.height,n.end.scale,e,a,i,o),l},h=function(t,e,a){var r=a.scalestart/100,n=a.scaleend/100,s=void 0!=a.oofsetstart?a.offsetstart.split(" ")||[0,0]:[0,0],i=void 0!=a.offsetend?a.offsetend.split(" ")||[0,0]:[0,0];a.bgposition="center center"==a.bgposition?"50% 50%":a.bgposition;{var o=new Object,d=t*r,h=(d/a.owidth*a.oheight,t*n);h/a.owidth*a.oheight}if(o.start=new Object,o.starto=new Object,o.end=new Object,o.endo=new Object,o.start.width=t,o.start.height=o.start.width/a.owidth*a.oheight,o.start.height0?0:c+s[0]0?0:u+i[0]0?0:b+s[1]0?0:f+i[1]t&&(t=0),0>i&&(i=e.slideamount),0===t&&i===e.slideamount-1&&(i=e.slideamount+1),a.data("startslide",t),a.data("endslide",i)},animateTheCaptions:function(a,e,i,n){var o="carousel"===e.sliderType?0:e.width/2-e.gridwidth[e.curWinRange]*e.bw/2,r=0,d=a.data("index");e.layers=e.layers||new Object,e.layers[d]=e.layers[d]||a.find(".tp-caption"),e.layers["static"]=e.layers["static"]||e.c.find(".tp-static-layers").find(".tp-caption");var s=new Array;if(e.conh=e.c.height(),e.conw=e.c.width(),e.ulw=e.ul.width(),e.ulh=e.ul.height(),e.debugMode){a.addClass("indebugmode"),a.find(".helpgrid").remove(),e.c.find(".hglayerinfo").remove(),a.append('
');var l=a.find(".helpgrid");l.append('
Zoom:'+Math.round(100*e.bw)+"%     Device Level:"+e.curWinRange+"    Grid Preset:"+e.gridwidth[e.curWinRange]+"x"+e.gridheight[e.curWinRange]+"
"),e.c.append('
'),l.append('
')}s&&jQuery.each(s,function(a){var e=jQuery(this);punchgs.TweenLite.set(e.find(".tp-videoposter"),{autoAlpha:1}),punchgs.TweenLite.set(e.find("iframe"),{autoAlpha:0})}),e.layers[d]&&jQuery.each(e.layers[d],function(a,e){s.push(e)}),e.layers["static"]&&jQuery.each(e.layers["static"],function(a,e){s.push(e)}),s&&jQuery.each(s,function(a){t.animateSingleCaption(jQuery(this),e,o,r,a,i)});var p=jQuery("body").find("#"+e.c.attr("id")).find(".tp-bannertimer");p.data("opt",e),void 0!=n&&setTimeout(function(){n.resume()},30)},animateSingleCaption:function(a,r,s,f,b,x,T){var L=x,W=g(a,r,"in",!0),j=a.data("_pw")||a.closest(".tp-parallax-wrap"),C=a.data("_lw")||a.closest(".tp-loop-wrap"),R=a.data("_mw")||a.closest(".tp-mask-wrap"),k=a.data("responsive")||"on",I=a.data("responsive_offset")||"on",_=a.data("basealign")||"grid",Q="grid"===_?r.width:r.ulw,S="grid"===_?r.height:r.ulh,z=jQuery("body").hasClass("rtl");if(a.data("_pw")||(a.data("staticlayer")?a.data("_li",a.closest(".tp-static-layers")):a.data("_li",a.closest(".tp-revslider-slidesli")),a.data("slidelink",a.hasClass("slidelink")),a.data("_pw",j),a.data("_lw",C),a.data("_mw",R)),"fullscreen"==r.sliderLayout&&(f=S/2-r.gridheight[r.curWinRange]*r.bh/2),("on"==r.autoHeight||void 0!=r.minHeight&&r.minHeight>0)&&(f=r.conh/2-r.gridheight[r.curWinRange]*r.bh/2),0>f&&(f=0),r.debugMode){a.closest("li").find(".helpgrid").css({top:f+"px",left:s+"px"});var M=r.c.find(".hglayerinfo");a.on("hover, mouseenter",function(){var e="";a.data()&&jQuery.each(a.data(),function(a,t){"object"!=typeof t&&(e=e+''+a+":"+t+"    ")}),M.html(e)})}var O=c(a.data("visibility"),r)[r.forcedWinRange]||c(a.data("visibility"),r)||"on";if("off"==O||Qs&&(s=0),void 0!=a.data("thumbimage")&&void 0==a.data("videoposter")&&a.data("videoposter",a.data("thumbimage")),a.find("img").length>0){var H=a.find("img");a.data("layertype","image"),0==H.width()&&H.css({width:"auto"}),0==H.height()&&H.css({height:"auto"}),void 0==H.data("ww")&&H.width()>0&&H.data("ww",H.width()),void 0==H.data("hh")&&H.height()>0&&H.data("hh",H.height());var B=H.data("ww"),A=H.data("hh"),D="slide"==_?r.ulw:r.gridwidth[r.curWinRange],F="slide"==_?r.ulh:r.gridheight[r.curWinRange],B=c(H.data("ww"),r)[r.curWinRange]||c(H.data("ww"),r)||"auto",A=c(H.data("hh"),r)[r.curWinRange]||c(H.data("hh"),r)||"auto",P="full"===B||"full-proportional"===B,X="full"===A||"full-proportional"===A;if("full-proportional"===B){var Y=H.data("owidth"),V=H.data("oheight");V/F>Y/D?(B=D,A=V*(D/Y)):(A=F,B=Y*(F/V))}else B=P?D:parseFloat(B),A=X?F:parseFloat(A);void 0==B&&(B=0),void 0==A&&(A=0),"off"!==k?("grid"!=_&&P?H.width(B):H.width(B*r.bw),"grid"!=_&&X?H.height(A):H.height(A*r.bh)):(H.width(B),H.height(A))}"slide"===_&&(s=0,f=0);var N="html5"==a.data("audio")?"audio":"video";if(a.hasClass("tp-videolayer")||a.hasClass("tp-audiolayer")||a.find("iframe").length>0||a.find(N).length>0){if(a.data("layertype","video"),t.manageVideoLayer&&t.manageVideoLayer(a,r,x,L),!x&&!L){a.data("videotype");t.resetVideo&&t.resetVideo(a,r)}var $=a.data("aspectratio");void 0!=$&&$.split(":").length>1&&t.prepareCoveredVideo($,r,a);var H=a.find("iframe")?a.find("iframe"):H=a.find(N),Z=a.find("iframe")?!1:!0,G=a.hasClass("coverscreenvideo");H.css({display:"block"}),void 0==a.data("videowidth")&&(a.data("videowidth",H.width()),a.data("videoheight",H.height()));var U,B=c(a.data("videowidth"),r)[r.curWinRange]||c(a.data("videowidth"),r)||"auto",A=c(a.data("videoheight"),r)[r.curWinRange]||c(a.data("videoheight"),r)||"auto";B=parseFloat(B),A=parseFloat(A),void 0===a.data("cssobj")&&(U=v(a,0),a.data("cssobj",U));var q=u(a.data("cssobj"),r);if("auto"==q.lineHeight&&(q.lineHeight=q.fontSize+4),a.hasClass("fullscreenvideo")||G){s=0,f=0,a.data("x",0),a.data("y",0);var E=S;"on"==r.autoHeight&&(E=r.conh),a.css({width:Q,height:E})}else punchgs.TweenLite.set(a,{paddingTop:Math.round(q.paddingTop*r.bh)+"px",paddingBottom:Math.round(q.paddingBottom*r.bh)+"px",paddingLeft:Math.round(q.paddingLeft*r.bw)+"px",paddingRight:Math.round(q.paddingRight*r.bw)+"px",marginTop:q.marginTop*r.bh+"px",marginBottom:q.marginBottom*r.bh+"px",marginLeft:q.marginLeft*r.bw+"px",marginRight:q.marginRight*r.bw+"px",borderTopWidth:Math.round(q.borderTopWidth*r.bh)+"px",borderBottomWidth:Math.round(q.borderBottomWidth*r.bh)+"px",borderLeftWidth:Math.round(q.borderLeftWidth*r.bw)+"px",borderRightWidth:Math.round(q.borderRightWidth*r.bw)+"px",width:B*r.bw+"px",height:A*r.bh+"px"});(0==Z&&!G||1!=a.data("forcecover")&&!a.hasClass("fullscreenvideo")&&!G)&&(H.width(B*r.bw),H.height(A*r.bh))}var J=a.data("slidelink")||!1;a.find(".tp-resizeme, .tp-resizeme *").each(function(){w(jQuery(this),r,"rekursive",k)}),a.hasClass("tp-resizeme")&&a.find("*").each(function(){w(jQuery(this),r,"rekursive",k)}),w(a,r,0,k);var K=a.outerHeight(),aa=a.css("backgroundColor");e(a,".frontcorner","left","borderRight","borderTopColor",K,aa),e(a,".frontcornertop","left","borderRight","borderBottomColor",K,aa),e(a,".backcorner","right","borderLeft","borderBottomColor",K,aa),e(a,".backcornertop","right","borderLeft","borderTopColor",K,aa),"on"==r.fullScreenAlignForce&&(s=0,f=0);var ea=a.data("arrobj");if(void 0===ea){var ea=new Object;ea.voa=c(a.data("voffset"),r)[r.curWinRange]||c(a.data("voffset"),r)[0],ea.hoa=c(a.data("hoffset"),r)[r.curWinRange]||c(a.data("hoffset"),r)[0],ea.elx=c(a.data("x"),r)[r.curWinRange]||c(a.data("x"),r)[0],ea.ely=c(a.data("y"),r)[r.curWinRange]||c(a.data("y"),r)[0]}var ta=0==ea.voa.length?0:ea.voa,ia=0==ea.hoa.length?0:ea.hoa,na=0==ea.elx.length?0:ea.elx,oa=0==ea.ely.length?0:ea.ely,ra=a.outerWidth(!0),da=a.outerHeight(!0);0==ra&&0==da&&(ra=r.ulw,da=r.ulh);var sa="off"!==I?parseInt(ta,0)*r.bw:parseInt(ta,0),la="off"!==I?parseInt(ia,0)*r.bw:parseInt(ia,0),pa="grid"===_?r.gridwidth[r.curWinRange]*r.bw:Q,ha="grid"===_?r.gridheight[r.curWinRange]*r.bw:S;"on"==r.fullScreenAlignForce&&(pa=r.ulw,ha=r.ulh),na="center"===na||"middle"===na?pa/2-ra/2+la:"left"===na?la:"right"===na?pa-ra-la:"off"!==I?na*r.bw:na,oa="center"==oa||"middle"==oa?ha/2-da/2+sa:"top"==oa?sa:"bottom"==oa?ha-da-sa:"off"!==I?oa*r.bw:oa,z&&!J&&(na+=ra);var ca=a.data("lasttriggerstate"),ga=a.data("triggerstate"),ma=a.data("start")||100,va=a.data("end"),ua=T?0:"bytrigger"===ma||"sliderenter"===ma?0:parseFloat(ma)/1e3,fa=na+s,wa=oa+f,ya=a.css("z-Index");T||("reset"==ca&&"bytrigger"!=ma?(a.data("triggerstate","on"),a.data("animdirection","in"),ga="on"):"reset"==ca&&"bytrigger"==ma&&(a.data("triggerstate","off"),a.data("animdirection","out"),ga="off")),punchgs.TweenLite.set(j,{zIndex:ya,top:wa,left:fa,overwrite:"auto"}),0==W&&(L=!0),void 0==a.data("timeline")||L||(2!=W&&a.data("timeline").gotoAndPlay(0),L=!0),!x&&a.data("timeline_out")&&2!=W&&0!=W&&(a.data("timeline_out").kill(),a.data("outstarted",0)),T&&void 0!=a.data("timeline")&&(a.removeData("$anims"),a.data("timeline").pause(0),a.data("timeline").kill(),void 0!=a.data("newhoveranim")&&(a.data("newhoveranim").progress(0),a.data("newhoveranim").kill()),a.removeData("timeline"),punchgs.TweenLite.killTweensOf(a),a.unbind("hover"),a.removeClass("rs-hover-ready"),a.removeData("newhoveranim"));var ba=a.data("timeline")?a.data("timeline").time():0,xa=void 0!==a.data("timeline")?a.data("timeline").progress():0,Ta=a.data("timeline")||new punchgs.TimelineLite({smoothChildTiming:!0});xa=jQuery.isNumeric(xa)?xa:0,Ta.pause();var La={};if(La.svg=void 0!=a.data("svg_src")?a.find("svg"):!1,1>xa&&1!=a.data("outstarted")||2==W||T){var Wa=a;if(void 0!=a.data("mySplitText")&&a.data("mySplitText").revert(),void 0!=a.data("splitin")&&a.data("splitin").match(/chars|words|lines/g)||void 0!=a.data("splitout")&&a.data("splitout").match(/chars|words|lines/g)){var ja=a.find("a").length>0?a.find("a"):a;a.data("mySplitText",new punchgs.SplitText(ja,{type:"lines,words,chars",charsClass:"tp-splitted tp-charsplit",wordsClass:"tp-splitted tp-wordsplit",linesClass:"tp-splitted tp-linesplit"})),a.addClass("splitted")}void 0!==a.data("mySplitText")&&a.data("splitin")&&a.data("splitin").match(/chars|words|lines/g)&&(Wa=a.data("mySplitText")[a.data("splitin")]);var Ca=new Object;La.svg&&(La.idle=o(a.data("svg_idle"),n()),punchgs.TweenLite.set(La.svg,La.idle.anim));var Ra=void 0!=a.data("transform_in")?a.data("transform_in").match(/\(R\)/gi):!1;if(!a.data("$anims")||T||Ra){var ka=i(),Ia=i(),_a=d(),Qa=void 0!==a.data("transform_hover")||void 0!==a.data("style_hover");Ia=p(Ia,a.data("transform_idle")),ka=p(Ia,a.data("transform_in"),1==r.sdir),Qa&&(_a=p(_a,a.data("transform_hover")),_a=m(_a,a.data("style_hover")),La.svg&&($svghover=o(a.data("svg_hover"),n()),void 0!=_a.anim.color&&($svghover.anim.fill=_a.anim.color),a.data("hoversvg",$svghover)),a.data("hover",_a)),ka.elemdelay=void 0==a.data("elementdelay")?0:a.data("elementdelay"),Ia.anim.ease=ka.anim.ease=ka.anim.ease||punchgs.Power1.easeInOut,Qa&&!a.hasClass("rs-hover-ready")&&(a.addClass("rs-hover-ready"),a.hover(function(a){var e=jQuery(a.currentTarget),t=e.data("hover"),i=e.data("timeline");i&&1==i.progress()&&(void 0===e.data("newhoveranim")||"none"===e.data("newhoveranim")?(e.data("newhoveranim",punchgs.TweenLite.to(e,t.speed,t.anim)),La.svg&&e.data("newsvghoveranim",punchgs.TweenLite.to(La.svg,t.speed,e.data("hoversvg").anim))):(e.data("newhoveranim").progress(0),e.data("newhoveranim").play(),La.svg&&e.data("newsvghoveranim").progress(0).play()))},function(a){var e=jQuery(a.currentTarget),t=e.data("timeline");t&&1==t.progress()&&void 0!=e.data("newhoveranim")&&(e.data("newhoveranim").reverse(),La.svg&&e.data("newsvghoveranim").reverse())})),Ca=new Object,Ca.f=ka,Ca.r=Ia,a.data("$anims")}else Ca=a.data("$anims");var Sa=h(a.data("mask_in")),za=new punchgs.TimelineLite;if(Ca.f.anim.x=Ca.f.anim.x*r.bw||l(Ca.f.anim.x,r,ra,da,wa,fa,"horizontal"),Ca.f.anim.y=Ca.f.anim.y*r.bw||l(Ca.f.anim.y,r,ra,da,wa,fa,"vertical"),2!=W||T){if(Wa!=a){var Ma=Ca.r.anim.ease;Ta.add(punchgs.TweenLite.set(a,Ca.r.anim)),Ca.r=i(),Ca.r.anim.ease=Ma}if(Ca.f.anim.visibility="hidden",a.data("eow",ra),a.data("eoh",da),a.data("speed",Ca.f.speed),a.data("ease",Ca.r.anim.ease),za.eventCallback("onStart",function(){punchgs.TweenLite.set(a,{visibility:"visible"}),a.data("iframes")&&a.find("iframe").each(function(){punchgs.TweenLite.set(jQuery(this),{autoAlpha:1})}),punchgs.TweenLite.set(j,{visibility:"visible"});var e={};e.layer=a,e.eventtype="enterstage",e.layertype=a.data("layertype"),a.data("active",!0),e.layersettings=a.data(),r.c.trigger("revolution.layeraction",[e])}),za.eventCallback("onComplete",function(){var e={};e.layer=a,e.eventtype="enteredstage",e.layertype=a.data("layertype"),e.layersettings=a.data(),r.c.trigger("revolution.layeraction",[e]),t.animcompleted(a,r)}),"sliderenter"==ma&&r.overcontainer&&(ua=.6),Ta.add(za.staggerFromTo(Wa,Ca.f.speed,Ca.f.anim,Ca.r.anim,Ca.f.elemdelay),ua),Sa){var Oa=new Object;Oa.ease=Ca.r.anim.ease,Oa.overflow=Sa.anim.overflow="hidden",Oa.overwrite="all",Oa.x=Oa.y=0,Sa.anim.x=Sa.anim.x*r.bw||l(Sa.anim.x,r,ra,da,wa,fa,"horizontal"),Sa.anim.y=Sa.anim.y*r.bw||l(Sa.anim.y,r,ra,da,wa,fa,"vertical"),Ta.add(punchgs.TweenLite.fromTo(R,Ca.f.speed,Sa.anim,Oa,ka.elemdelay),ua)}else Ta.add(punchgs.TweenLite.set(R,{overflow:"visible"},ka.elemdelay),0)}if(a.data("timeline",Ta),r.sliderscrope=void 0===r.sliderscrope?Math.round(99999*Math.random()):r.sliderscrope,W=g(a,r,"in"),void 0===r.endtimeouts&&(r.endtimeouts=[]),(0===xa||2==W)&&"bytrigger"!==va&&!T&&"sliderleave"!=va){if(void 0==va||-1!=W&&2!=W||"bytriger"===va)var Ha=setTimeout(function(){t.endMoveCaption(a,R,j,r)},999999);else var Ha=setTimeout(function(){t.endMoveCaption(a,R,j,r)},parseInt(a.data("end"),0));r.endtimeouts.push(Ha)}Ta=a.data("timeline"),"on"==a.data("loopanimation")&&y(C,r.bw),("sliderenter"!=ma||"sliderenter"==ma&&r.overcontainer)&&(-1==W||1==W||T||0==W&&1>xa&&a.hasClass("rev-static-visbile"))&&(1>xa&&xa>0||0==xa&&"bytrigger"!=ma&&"keep"!=ca||0==xa&&"bytrigger"!=ma&&"keep"==ca&&"on"==ga||"bytrigger"==ma&&"keep"==ca&&"on"==ga)&&(Ta.resume(ba),t.toggleState(a.data("layertoggledby")))}"on"==a.data("loopanimation")&&punchgs.TweenLite.set(C,{minWidth:ra,minHeight:da}),0==a.data("slidelink")||1!=a.data("slidelink")&&!a.hasClass("slidelink")?(punchgs.TweenLite.set(R,{width:"auto",height:"auto"}),a.data("slidelink",0)):(punchgs.TweenLite.set(R,{width:"100%",height:"100%"}),a.data("slidelink",1))},endMoveCaption:function(a,e,n,o){if(e=e||a.data("_mw"),n=n||a.data("_pw"),a.data("outstarted",1),a.data("timeline"))a.data("timeline").pause();else if(void 0===a.data("_pw"))return;var d=new punchgs.TimelineLite,s=new punchgs.TimelineLite,c=new punchgs.TimelineLite,g=p(i(),a.data("transform_in"),1==o.sdir),m=a.data("transform_out")?p(r(),a.data("transform_out"),1==o.sdir):p(r(),a.data("transform_in"),1==o.sdir),v=a.data("splitout")&&a.data("splitout").match(/words|chars|lines/g)?a.data("mySplitText")[a.data("splitout")]:a,u=void 0==a.data("endelementdelay")?0:a.data("endelementdelay"),f=a.innerWidth(),w=a.innerHeight(),y=n.position();a.data("transform_out")&&a.data("transform_out").match(/auto:auto/g)&&(g.speed=m.speed,g.anim.ease=m.anim.ease,m=g);var b=h(a.data("mask_out"));m.anim.x=m.anim.x*o.bw||l(m.anim.x,o,f,w,y.top,y.left,"horizontal"),m.anim.y=m.anim.y*o.bw||l(m.anim.y,o,f,w,y.top,y.left,"vertical"),s.eventCallback("onStart",function(){var e={};e.layer=a,e.eventtype="leavestage",e.layertype=a.data("layertype"),e.layersettings=a.data(),a.data("active",!1),o.c.trigger("revolution.layeraction",[e])}),s.eventCallback("onComplete",function(){punchgs.TweenLite.set(a,{visibility:"hidden"}),punchgs.TweenLite.set(n,{visibility:"hidden"});var e={};e.layer=a,e.eventtype="leftstage",a.data("active",!1),e.layertype=a.data("layertype"),e.layersettings=a.data(),o.c.trigger("revolution.layeraction",[e]),t.stopVideo&&t.stopVideo(a,o)}),d.add(s.staggerTo(v,m.speed,m.anim,u),0),b?(b.anim.ease=m.anim.ease,b.anim.overflow="hidden",b.anim.x=b.anim.x*o.bw||l(b.anim.x,o,f,w,y.top,y.left,"horizontal"),b.anim.y=b.anim.y*o.bw||l(b.anim.y,o,f,w,y.top,y.left,"vertical"),d.add(c.to(e,m.speed,b.anim,u),0)):d.add(c.set(e,{overflow:"visible",overwrite:"auto"},u),0),a.data("timeline_out",d)},removeTheCaptions:function(a,e){var i=a.data("index"),n=new Array;e.layers[i]&&jQuery.each(e.layers[i],function(a,e){n.push(e)}),e.layers["static"]&&jQuery.each(e.layers["static"],function(a,e){n.push(e)}),e.endtimeouts&&e.endtimeouts.length>0&&jQuery.each(e.endtimeouts,function(a,e){clearTimeout(e)}),e.endtimeouts=new Array,n&&jQuery.each(n,function(a){var i=jQuery(this),n=g(i,e,"out");0!=n&&(b(i),clearTimeout(i.data("videoplaywait")),t.stopVideo&&t.stopVideo(i,e),t.endMoveCaption(i,null,null,e),t.removeMediaFromList&&t.removeMediaFromList(i,e),e.lastplayedvideos=[])})}});var i=function(){var a=new Object;return a.anim=new Object,a.anim.x=0,a.anim.y=0,a.anim.z=0,a.anim.rotationX=0,a.anim.rotationY=0,a.anim.rotationZ=0,a.anim.scaleX=1,a.anim.scaleY=1,a.anim.skewX=0,a.anim.skewY=0,a.anim.opacity=1,a.anim.transformOrigin="50% 50%",a.anim.transformPerspective=600,a.anim.rotation=0,a.anim.ease=punchgs.Power3.easeOut,a.anim.force3D="auto",a.speed=.3,a.anim.autoAlpha=1,a.anim.visibility="visible",a.anim.overwrite="all",a},n=function(){var a=new Object;return a.anim=new Object,a.anim.stroke="none",a.anim.strokeWidth=0,a.anim.strokeDasharray="none",a.anim.strokeDashoffset="0",a},o=function(a,e){var t=a.split(";");return t&&jQuery.each(t,function(a,t){var i=t.split(":"),n=i[0],o=i[1];"sc"==n&&(e.anim.stroke=o),"sw"==n&&(e.anim.strokeWidth=o),"sda"==n&&(e.anim.strokeDasharray=o),"sdo"==n&&(e.anim.strokeDashoffset=o)}),e},r=function(){var a=new Object;return a.anim=new Object,a.anim.x=0,a.anim.y=0,a.anim.z=0,a},d=function(){var a=new Object;return a.anim=new Object,a.speed=.2,a},s=function(a,e){if(jQuery.isNumeric(parseFloat(a)))return parseFloat(a);if(void 0===a||"inherit"===a)return e;if(a.split("{").length>1){var t=a.split(","),i=parseFloat(t[1].split("}")[0]);t=parseFloat(t[0].split("{")[1]),a=Math.random()*(i-t)+t}return a},l=function(a,e,t,i,n,o,r){return!jQuery.isNumeric(a)&&a.match(/%]/g)?(a=a.split("[")[1].split("]")[0],"horizontal"==r?a=(t+2)*parseInt(a,0)/100:"vertical"==r&&(a=(i+2)*parseInt(a,0)/100)):(a="layer_left"===a?0-t:"layer_right"===a?t:a,a="layer_top"===a?0-i:"layer_bottom"===a?i:a,a="left"===a||"stage_left"===a?0-t-o:"right"===a||"stage_right"===a?e.conw-o:"center"===a||"stage_center"===a?e.conw/2-t/2-o:a,a="top"===a||"stage_top"===a?0-i-n:"bottom"===a||"stage_bottom"===a?e.conh-n:"middle"===a||"stage_middle"===a?e.conh/2-i/2-n:a),a},p=function(a,e,t){var i=new Object;if(i=jQuery.extend(!0,{},i,a),void 0===e)return i;var n=e.split(";");return n&&jQuery.each(n,function(a,e){var n=e.split(":"),o=n[0],r=n[1];t&&void 0!=r&&r.length>0&&r.match(/\(R\)/)&&(r=r.replace("(R)",""),r="right"===r?"left":"left"===r?"right":"top"===r?"bottom":"bottom"===r?"top":r,"["===r[0]&&"-"===r[1]?r=r.replace("[-","["):"["===r[0]&&"-"!==r[1]?r=r.replace("[","[-"):"-"===r[0]?r=r.replace("-",""):r[0].match(/[1-9]/)&&(r="-"+r)),void 0!=r&&(r=r.replace(/\(R\)/,""),("rotationX"==o||"rX"==o)&&(i.anim.rotationX=s(r,i.anim.rotationX)+"deg"),("rotationY"==o||"rY"==o)&&(i.anim.rotationY=s(r,i.anim.rotationY)+"deg"),("rotationZ"==o||"rZ"==o)&&(i.anim.rotation=s(r,i.anim.rotationZ)+"deg"),("scaleX"==o||"sX"==o)&&(i.anim.scaleX=s(r,i.anim.scaleX)),("scaleY"==o||"sY"==o)&&(i.anim.scaleY=s(r,i.anim.scaleY)),("opacity"==o||"o"==o)&&(i.anim.opacity=s(r,i.anim.opacity)),("skewX"==o||"skX"==o)&&(i.anim.skewX=s(r,i.anim.skewX)),("skewY"==o||"skY"==o)&&(i.anim.skewY=s(r,i.anim.skewY)),"x"==o&&(i.anim.x=s(r,i.anim.x)),"y"==o&&(i.anim.y=s(r,i.anim.y)),"z"==o&&(i.anim.z=s(r,i.anim.z)),("transformOrigin"==o||"tO"==o)&&(i.anim.transformOrigin=r.toString()),("transformPerspective"==o||"tP"==o)&&(i.anim.transformPerspective=parseInt(r,0)),("speed"==o||"s"==o)&&(i.speed=parseFloat(r)/1e3),("ease"==o||"e"==o)&&(i.anim.ease=r))}),i},h=function(a){if(void 0===a)return!1;var e=new Object;e.anim=new Object;var t=a.split(";");return t&&jQuery.each(t,function(a,t){t=t.split(":");var i=t[0],n=t[1];"x"==i&&(e.anim.x=n),"y"==i&&(e.anim.y=n),"s"==i&&(e.speed=parseFloat(n)/1e3),("e"==i||"ease"==i)&&(e.anim.ease=n)}),e},c=function(a,e,t){if(void 0==a&&(a=0),!jQuery.isArray(a)&&"string"===jQuery.type(a)&&(a.split(",").length>1||a.split("[").length>1)){a=a.replace("[",""),a=a.replace("]","");var i=a.match(/'/g)?a.split("',"):a.split(",");a=new Array,i&&jQuery.each(i,function(e,t){t=t.replace("'",""),t=t.replace("'",""),a.push(t)})}else{var n=a;jQuery.isArray(a)||(a=new Array,a.push(n))}var n=a[a.length-1];if(a.lengths||s>r?2:0:s>=o&&r>=s||o==s||r==s?(i||(a.addClass("rev-static-visbile"),a.removeClass("rev-static-hidden")),n=1):n=0:a.hasClass("rev-static-visbile")?o>s||s>r?(n=2,i||(a.removeClass("rev-static-visbile"),a.addClass("rev-static-hidden"))):n=0:n=2}return n},m=function(a,e){if(void 0===e)return a;e=e.replace("c:","color:"),e=e.replace("bg:","background-color:"),e=e.replace("bw:","border-width:"),e=e.replace("bc:","border-color:"),e=e.replace("br:","borderRadius:"),e=e.replace("bs:","border-style:"),e=e.replace("td:","text-decoration:");var t=e.split(";");return t&&jQuery.each(t,function(e,t){var i=t.split(":");i[0].length>0&&(a.anim[i[0]]=i[1])}),a},v=function(a,e){var t,i=new Object,n=!1;if("rekursive"==e&&(t=a.closest(".tp-caption"),t&&a.css("fontSize")===t.css("fontSize")&&(n=!0)),i.basealign=a.data("basealign")||"grid",i.fontSize=n?void 0===t.data("fontsize")?parseInt(t.css("fontSize"),0)||0:t.data("fontsize"):void 0===a.data("fontsize")?parseInt(a.css("fontSize"),0)||0:a.data("fontsize"),i.fontWeight=n?void 0===t.data("fontweight")?parseInt(t.css("fontWeight"),0)||0:t.data("fontweight"):void 0===a.data("fontweight")?parseInt(a.css("fontWeight"),0)||0:a.data("fontweight"),i.whiteSpace=n?void 0===t.data("whitespace")?t.css("whitespace")||"normal":t.data("whitespace"):void 0===a.data("whitespace")?a.css("whitespace")||"normal":a.data("whitespace"),-1!==jQuery.inArray(a.data("layertype"),["video","image","audio"])||a.is("img")?i.lineHeight=0:i.lineHeight=n?void 0===t.data("lineheight")?parseInt(t.css("lineHeight"),0)||0:t.data("lineheight"):void 0===a.data("lineheight")?parseInt(a.css("lineHeight"),0)||0:a.data("lineheight"),i.letterSpacing=n?void 0===t.data("letterspacing")?parseFloat(t.css("letterSpacing"),0)||0:t.data("letterspacing"):void 0===a.data("letterspacing")?parseFloat(a.css("letterSpacing"))||0:a.data("letterspacing"),i.paddingTop=void 0===a.data("paddingtop")?parseInt(a.css("paddingTop"),0)||0:a.data("paddingtop"),i.paddingBottom=void 0===a.data("paddingbottom")?parseInt(a.css("paddingBottom"),0)||0:a.data("paddingbottom"),i.paddingLeft=void 0===a.data("paddingleft")?parseInt(a.css("paddingLeft"),0)||0:a.data("paddingleft"),i.paddingRight=void 0===a.data("paddingright")?parseInt(a.css("paddingRight"),0)||0:a.data("paddingright"),i.marginTop=void 0===a.data("margintop")?parseInt(a.css("marginTop"),0)||0:a.data("margintop"),i.marginBottom=void 0===a.data("marginbottom")?parseInt(a.css("marginBottom"),0)||0:a.data("marginbottom"),i.marginLeft=void 0===a.data("marginleft")?parseInt(a.css("marginLeft"),0)||0:a.data("marginleft"),i.marginRight=void 0===a.data("marginright")?parseInt(a.css("marginRight"),0)||0:a.data("marginright"),i.borderTopWidth=void 0===a.data("bordertopwidth")?parseInt(a.css("borderTopWidth"),0)||0:a.data("bordertopwidth"),i.borderBottomWidth=void 0===a.data("borderbottomwidth")?parseInt(a.css("borderBottomWidth"),0)||0:a.data("borderbottomwidth"),i.borderLeftWidth=void 0===a.data("borderleftwidth")?parseInt(a.css("borderLeftWidth"),0)||0:a.data("borderleftwidth"),i.borderRightWidth=void 0===a.data("borderrightwidth")?parseInt(a.css("borderRightWidth"),0)||0:a.data("borderrightwidth"),"rekursive"!=e){if(i.color=void 0===a.data("color")?"nopredefinedcolor":a.data("color"),i.whiteSpace=n?void 0===t.data("whitespace")?t.css("whiteSpace")||"nowrap":t.data("whitespace"):void 0===a.data("whitespace")?a.css("whiteSpace")||"nowrap":a.data("whitespace"),i.minWidth=void 0===a.data("width")?parseInt(a.css("minWidth"),0)||0:a.data("width"),i.minHeight=void 0===a.data("height")?parseInt(a.css("minHeight"),0)||0:a.data("height"),void 0!=a.data("videowidth")&&void 0!=a.data("videoheight")){var o=a.data("videowidth"),r=a.data("videoheight");o="100%"===o?"none":o,r="100%"===r?"none":r,a.data("width",o),a.data("height",r)}i.maxWidth=void 0===a.data("width")?parseInt(a.css("maxWidth"),0)||"none":a.data("width"),i.maxHeight=void 0===a.data("height")?parseInt(a.css("maxHeight"),0)||"none":a.data("height"),i.wan=void 0===a.data("wan")?parseInt(a.css("-webkit-transition"),0)||"none":a.data("wan"),i.moan=void 0===a.data("moan")?parseInt(a.css("-moz-animation-transition"),0)||"none":a.data("moan"),i.man=void 0===a.data("man")?parseInt(a.css("-ms-animation-transition"),0)||"none":a.data("man"),i.ani=void 0===a.data("ani")?parseInt(a.css("transition"),0)||"none":a.data("ani")}return i.styleProps=a.css(["background-color","border-top-color","border-bottom-color","border-right-color","border-left-color","border-top-style","border-bottom-style","border-left-style","border-right-style","border-left-width","border-right-width","border-bottom-width","border-top-width","color","text-decoration","font-style","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]),i},u=function(a,e){var t=new Object;return a&&jQuery.each(a,function(i,n){t[i]=c(n,e)[e.curWinRange]||a[i]}),t},f=function(a,e,t,i){return a=jQuery.isNumeric(a)?a*e+"px":a,a="full"===a?i:"auto"===a||"none"===a?t:a},w=function(a,e,t,i){var n;try{if("BR"==a[0].nodeName||"br"==a[0].tagName)return!1}catch(o){}void 0===a.data("cssobj")?(n=v(a,t),a.data("cssobj",n)):n=a.data("cssobj");var r=u(n,e),d=e.bw,s=e.bh;if("off"===i&&(d=1,s=1),"auto"==r.lineHeight&&(r.lineHeight=r.fontSize+4),!a.hasClass("tp-splitted")){a.css("-webkit-transition","none"),a.css("-moz-transition","none"),a.css("-ms-transition","none"),a.css("transition","none");var l=void 0!==a.data("transform_hover")||void 0!==a.data("style_hover");if(l&&punchgs.TweenLite.set(a,r.styleProps),punchgs.TweenLite.set(a,{fontSize:Math.round(r.fontSize*d)+"px",fontWeight:r.fontWeight,letterSpacing:Math.floor(r.letterSpacing*d)+"px",paddingTop:Math.round(r.paddingTop*s)+"px",paddingBottom:Math.round(r.paddingBottom*s)+"px",paddingLeft:Math.round(r.paddingLeft*d)+"px",paddingRight:Math.round(r.paddingRight*d)+"px",marginTop:r.marginTop*s+"px",marginBottom:r.marginBottom*s+"px",marginLeft:r.marginLeft*d+"px",marginRight:r.marginRight*d+"px",borderTopWidth:Math.round(r.borderTopWidth*s)+"px",borderBottomWidth:Math.round(r.borderBottomWidth*s)+"px",borderLeftWidth:Math.round(r.borderLeftWidth*d)+"px",borderRightWidth:Math.round(r.borderRightWidth*d)+"px",lineHeight:Math.round(r.lineHeight*s)+"px",overwrite:"auto"}),"rekursive"!=t){var p="slide"==r.basealign?e.ulw:e.gridwidth[e.curWinRange],h="slide"==r.basealign?e.ulh:e.gridheight[e.curWinRange],c=f(r.maxWidth,d,"none",p),g=f(r.maxHeight,s,"none",h),m=f(r.minWidth,d,"0px",p),w=f(r.minHeight,s,"0px",h);punchgs.TweenLite.set(a,{maxWidth:c,maxHeight:g,minWidth:m,minHeight:w,whiteSpace:r.whiteSpace,overwrite:"auto"}),"nopredefinedcolor"!=r.color&&punchgs.TweenLite.set(a,{color:r.color,overwrite:"auto"}),void 0!=a.data("svg_src")&&("nopredefinedcolor"!=r.color?punchgs.TweenLite.set(a.find("svg"),{fill:r.color,overwrite:"auto"}):punchgs.TweenLite.set(a.find("svg"),{fill:r.styleProps.color,overwrite:"auto"}))}setTimeout(function(){a.css("-webkit-transition",a.data("wan")),a.css("-moz-transition",a.data("moan")),a.css("-ms-transition",a.data("man")),a.css("transition",a.data("ani"))},30)}},y=function(a,e){if(a.hasClass("rs-pendulum")&&void 0==a.data("loop-timeline")){a.data("loop-timeline",new punchgs.TimelineLite);var t=void 0==a.data("startdeg")?-20:a.data("startdeg"),i=void 0==a.data("enddeg")?20:a.data("enddeg"),n=void 0==a.data("speed")?2:a.data("speed"),o=void 0==a.data("origin")?"50% 50%":a.data("origin"),r=void 0==a.data("easing")?punchgs.Power2.easeInOut:a.data("ease");t*=e,i*=e,a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",rotation:t,transformOrigin:o},{rotation:i,ease:r})),a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",rotation:i,transformOrigin:o},{rotation:t,ease:r,onComplete:function(){a.data("loop-timeline").restart()}}))}if(a.hasClass("rs-rotate")&&void 0==a.data("loop-timeline")){a.data("loop-timeline",new punchgs.TimelineLite);var t=void 0==a.data("startdeg")?0:a.data("startdeg"),i=void 0==a.data("enddeg")?360:a.data("enddeg");n=void 0==a.data("speed")?2:a.data("speed"),o=void 0==a.data("origin")?"50% 50%":a.data("origin"),r=void 0==a.data("easing")?punchgs.Power2.easeInOut:a.data("easing"),t*=e,i*=e,a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",rotation:t,transformOrigin:o},{rotation:i,ease:r,onComplete:function(){a.data("loop-timeline").restart()}}))}if(a.hasClass("rs-slideloop")&&void 0==a.data("loop-timeline")){a.data("loop-timeline",new punchgs.TimelineLite);var d=void 0==a.data("xs")?0:a.data("xs"),s=void 0==a.data("ys")?0:a.data("ys"),l=void 0==a.data("xe")?0:a.data("xe"),p=void 0==a.data("ye")?0:a.data("ye"),n=void 0==a.data("speed")?2:a.data("speed"),r=void 0==a.data("easing")?punchgs.Power2.easeInOut:a.data("easing");d*=e,s*=e,l*=e,p*=e,a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",x:d,y:s},{x:l,y:p,ease:r})),a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",x:l,y:p},{x:d,y:s,onComplete:function(){a.data("loop-timeline").restart()}}))}if(a.hasClass("rs-pulse")&&void 0==a.data("loop-timeline")){a.data("loop-timeline",new punchgs.TimelineLite);var h=void 0==a.data("zoomstart")?0:a.data("zoomstart"),c=void 0==a.data("zoomend")?0:a.data("zoomend"),n=void 0==a.data("speed")?2:a.data("speed"),r=void 0==a.data("easing")?punchgs.Power2.easeInOut:a.data("easing");a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",scale:h},{scale:c,ease:r})),a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a,n,{force3D:"auto",scale:c},{scale:h,onComplete:function(){a.data("loop-timeline").restart()}}))}if(a.hasClass("rs-wave")&&void 0==a.data("loop-timeline")){a.data("loop-timeline",new punchgs.TimelineLite);var g=void 0==a.data("angle")?10:parseInt(a.data("angle"),0),m=void 0==a.data("radius")?10:parseInt(a.data("radius"),0),n=void 0==a.data("speed")?-20:a.data("speed"),o=void 0==a.data("origin")?"50% 50%":a.data("origin"),v=o.split(" "),u=new Object;v.length>=1?(u.x=v[0],u.y=v[1]):(u.x="50%",u.y="50%"),g*=e,m*=e;var f=0-a.height()/2+m*(-1+parseInt(u.y,0)/100),w=a.width()*(-.5+parseInt(u.x,0)/100),y={a:0,ang:g,element:a,unit:m,xoffset:w,yoffset:f};a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(y,n,{a:360},{a:0,force3D:"auto",ease:punchgs.Linear.easeNone,onUpdate:function(){var a=y.a*(Math.PI/180);punchgs.TweenLite.to(y.element,.1,{force3D:"auto",x:y.xoffset+Math.cos(a)*y.unit,y:y.yoffset+y.unit*(1-Math.sin(a))})},onComplete:function(){a.data("loop-timeline").restart()}}))}},b=function(a){a.find(".rs-pendulum, .rs-slideloop, .rs-pulse, .rs-wave").each(function(){var a=jQuery(this);void 0!=a.data("loop-timeline")&&(a.data("loop-timeline").pause(),a.data("loop-timeline",null))})}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.migration.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.migration.min.js new file mode 100644 index 0000000..82d1aff --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.migration.min.js @@ -0,0 +1,7 @@ +/***************************************************************************************************** + * jquery.themepunch.revmigrate.js - jQuery Plugin for Revolution Slider Migration from 4.x to 5.0 + * @version: 1.0.2 (20.01.2016) + * @requires jQuery v1.7 or later (tested on 1.9) + * @author ThemePunch +*****************************************************************************************************/ +!function(t){var a=jQuery.fn.revolution;jQuery.extend(!0,a,{migration:function(t,a){return a=o(a),e(t,a),a}});var o=function(t){if(t.parallaxLevels||t.parallaxBgFreeze){var a=new Object;a.type=t.parallax,a.levels=t.parallaxLevels,a.bgparallax="on"==t.parallaxBgFreeze?"off":"on",a.disable_onmobile=t.parallaxDisableOnMobile,t.parallax=a}if(void 0===t.disableProgressBar&&(t.disableProgressBar=t.hideTimerBar||"off"),(t.startwidth||t.startheight)&&(t.gridwidth=t.startwidth,t.gridheight=t.startheight),void 0===t.sliderType&&(t.sliderType="standard"),"on"===t.fullScreen&&(t.sliderLayout="fullscreen"),"on"===t.fullWidth&&(t.sliderLayout="fullwidth"),void 0===t.sliderLayout&&(t.sliderLayout="auto"),void 0===t.navigation){var o=new Object;if("solo"==t.navigationArrows||"nextto"==t.navigationArrows){var e=new Object;e.enable=!0,e.style=t.navigationStyle||"",e.hide_onmobile="on"===t.hideArrowsOnMobile?!0:!1,e.hide_onleave=t.hideThumbs>0?!0:!1,e.hide_delay=t.hideThumbs>0?t.hideThumbs:200,e.hide_delay_mobile=t.hideNavDelayOnMobile||1500,e.hide_under=0,e.tmp="",e.left={h_align:t.soloArrowLeftHalign,v_align:t.soloArrowLeftValign,h_offset:t.soloArrowLeftHOffset,v_offset:t.soloArrowLeftVOffset},e.right={h_align:t.soloArrowRightHalign,v_align:t.soloArrowRightValign,h_offset:t.soloArrowRightHOffset,v_offset:t.soloArrowRightVOffset},o.arrows=e}if("bullet"==t.navigationType){var r=new Object;r.style=t.navigationStyle||"",r.enable=!0,r.hide_onmobile="on"===t.hideArrowsOnMobile?!0:!1,r.hide_onleave=t.hideThumbs>0?!0:!1,r.hide_delay=t.hideThumbs>0?t.hideThumbs:200,r.hide_delay_mobile=t.hideNavDelayOnMobile||1500,r.hide_under=0,r.direction="horizontal",r.h_align=t.navigationHAlign||"center",r.v_align=t.navigationVAlign||"bottom",r.space=5,r.h_offset=t.navigationHOffset||0,r.v_offset=t.navigationVOffset||20,r.tmp='',o.bullets=r}if("thumb"==t.navigationType){var i=new Object;i.style=t.navigationStyle||"",i.enable=!0,i.width=t.thumbWidth||100,i.height=t.thumbHeight||50,i.min_width=t.thumbWidth||100,i.wrapper_padding=2,i.wrapper_color="#f5f5f5",i.wrapper_opacity=1,i.visibleAmount=t.thumbAmount||3,i.hide_onmobile="on"===t.hideArrowsOnMobile?!0:!1,i.hide_onleave=t.hideThumbs>0?!0:!1,i.hide_delay=t.hideThumbs>0?t.hideThumbs:200,i.hide_delay_mobile=t.hideNavDelayOnMobile||1500,i.hide_under=0,i.direction="horizontal",i.span=!1,i.position="inner",i.space=2,i.h_align=t.navigationHAlign||"center",i.v_align=t.navigationVAlign||"bottom",i.h_offset=t.navigationHOffset||0,i.v_offset=t.navigationVOffset||20,i.tmp='',o.thumbnails=i}t.navigation=o,t.navigation.keyboardNavigation=t.keyboardNavigation||"on",t.navigation.onHoverStop=t.onHoverStop||"on",t.navigation.touch={touchenabled:t.touchenabled||"on",swipe_treshold:t.swipe_treshold||75,swipe_min_touches:t.swipe_min_touches||1,drag_block_vertical:t.drag_block_vertical||!1}}return void 0==t.fallbacks&&(t.fallbacks={isJoomla:t.isJoomla||!1,panZoomDisableOnMobile:t.parallaxDisableOnMobile||"off",simplifyAll:t.simplifyAll||"on",nextSlideOnWindowFocus:t.nextSlideOnWindowFocus||"off",disableFocusListener:t.disableFocusListener||!0}),t},e=function(t,a){var o=new Object,e=t.width(),r=t.height();o.skewfromleftshort="x:-50;skX:85;o:0",o.skewfromrightshort="x:50;skX:-85;o:0",o.sfl="x:-50;o:0",o.sfr="x:50;o:0",o.sft="y:-50;o:0",o.sfb="y:50;o:0",o.skewfromleft="x:top;skX:85;o:0",o.skewfromright="x:bottom;skX:-85;o:0",o.lfl="x:top;o:0",o.lfr="x:bottom;o:0",o.lft="y:left;o:0",o.lfb="y:right;o:0",o.fade="o:0";720*Math.random()-360;t.find(".tp-caption").each(function(){var t=jQuery(this),a=(Math.random()*(2*e)-e,Math.random()*(2*r)-r,3*Math.random(),720*Math.random()-360,70*Math.random()-35,70*Math.random()-35,t.attr("class"));o.randomrotate="x:{-400,400};y:{-400,400};sX:{0,2};sY:{0,2};rZ:{-180,180};rX:{-180,180};rY:{-180,180};o:0;",a.match("randomrotate")?t.data("transform_in",o.randomrotate):a.match(/\blfl\b/)?t.data("transform_in",o.lfl):a.match(/\blfr\b/)?t.data("transform_in",o.lfr):a.match(/\blft\b/)?t.data("transform_in",o.lft):a.match(/\blfb\b/)?t.data("transform_in",o.lfb):a.match(/\bsfl\b/)?t.data("transform_in",o.sfl):a.match(/\bsfr\b/)?t.data("transform_in",o.sfr):a.match(/\bsft\b/)?t.data("transform_in",o.sft):a.match(/\bsfb\b/)?t.data("transform_in",o.sfb):a.match(/\bskewfromleftshort\b/)?t.data("transform_in",o.skewfromleftshort):a.match(/\bskewfromrightshort\b/)?t.data("transform_in",o.skewfromrightshort):a.match(/\bskewfromleft\b/)?t.data("transform_in",o.skewfromleft):a.match(/\bskewfromright\b/)?t.data("transform_in",o.skewfromright):a.match(/\bfade\b/)&&t.data("transform_in",o.fade),a.match(/\brandomrotateout\b/)?t.data("transform_out",o.randomrotate):a.match(/\bltl\b/)?t.data("transform_out",o.lfl):a.match(/\bltr\b/)?t.data("transform_out",o.lfr):a.match(/\bltt\b/)?t.data("transform_out",o.lft):a.match(/\bltb\b/)?t.data("transform_out",o.lfb):a.match(/\bstl\b/)?t.data("transform_out",o.sfl):a.match(/\bstr\b/)?t.data("transform_out",o.sfr):a.match(/\bstt\b/)?t.data("transform_out",o.sft):a.match(/\bstb\b/)?t.data("transform_out",o.sfb):a.match(/\bskewtoleftshortout\b/)?t.data("transform_out",o.skewfromleftshort):a.match(/\bskewtorightshortout\b/)?t.data("transform_out",o.skewfromrightshort):a.match(/\bskewtoleftout\b/)?t.data("transform_out",o.skewfromleft):a.match(/\bskewtorightout\b/)?t.data("transform_out",o.skewfromright):a.match(/\bfadeout\b/)&&t.data("transform_out",o.fade),void 0!=t.data("customin")&&t.data("transform_in",t.data("customin")),void 0!=t.data("customout")&&t.data("transform_out",t.data("customout"))})}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.navigation.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.navigation.min.js new file mode 100644 index 0000000..1e4f84f --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.navigation.min.js @@ -0,0 +1,7 @@ +/******************************************** + * REVOLUTION 5.2 EXTENSION - NAVIGATION + * @version: 1.2.3 (02.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +!function(t){var e=jQuery.fn.revolution,i=e.is_mobile();jQuery.extend(!0,e,{hideUnHideNav:function(t){var e=t.c.width(),i=t.navigation.arrows,a=t.navigation.bullets,n=t.navigation.thumbnails,r=t.navigation.tabs;p(i)&&T(t.c.find(".tparrows"),i.hide_under,e,i.hide_over),p(a)&&T(t.c.find(".tp-bullets"),a.hide_under,e,a.hide_over),p(n)&&T(t.c.parent().find(".tp-thumbs"),n.hide_under,e,n.hide_over),p(r)&&T(t.c.parent().find(".tp-tabs"),r.hide_under,e,r.hide_over),y(t)},resizeThumbsTabs:function(t,e){if(t.navigation&&t.navigation.tabs.enable||t.navigation&&t.navigation.thumbnails.enable){var i=(jQuery(window).width()-480)/500,a=new punchgs.TimelineLite,r=t.navigation.tabs,o=t.navigation.thumbnails,s=t.navigation.bullets;if(a.pause(),i=i>1?1:0>i?0:i,p(r)&&(e||r.width>r.min_width)&&n(i,a,t.c,r,t.slideamount,"tab"),p(o)&&(e||o.width>o.min_width)&&n(i,a,t.c,o,t.slideamount,"thumb"),p(s)&&e){var d=t.c.find(".tp-bullets");d.find(".tp-bullet").each(function(t){var e=jQuery(this),i=t+1,a=e.outerWidth()+parseInt(void 0===s.space?0:s.space,0),n=e.outerHeight()+parseInt(void 0===s.space?0:s.space,0);"vertical"===s.direction?(e.css({top:(i-1)*n+"px",left:"0px"}),d.css({height:(i-1)*n+e.outerHeight(),width:e.outerWidth()})):(e.css({left:(i-1)*a+"px",top:"0px"}),d.css({width:(i-1)*a+e.outerWidth(),height:e.outerHeight()}))})}a.play(),y(t)}return!0},updateNavIndexes:function(t){function i(t){a.find(t).lenght>0&&a.find(t).each(function(t){jQuery(this).data("liindex",t)})}var a=t.c;i(".tp-tab"),i(".tp-bullet"),i(".tp-thumb"),e.resizeThumbsTabs(t,!0),e.manageNavigation(t)},manageNavigation:function(t){var i=e.getHorizontalOffset(t.c.parent(),"left"),n=e.getHorizontalOffset(t.c.parent(),"right");p(t.navigation.bullets)&&("fullscreen"!=t.sliderLayout&&"fullwidth"!=t.sliderLayout&&(t.navigation.bullets.h_offset_old=void 0===t.navigation.bullets.h_offset_old?t.navigation.bullets.h_offset:t.navigation.bullets.h_offset_old,t.navigation.bullets.h_offset="center"===t.navigation.bullets.h_align?t.navigation.bullets.h_offset_old+i/2-n/2:t.navigation.bullets.h_offset_old+i-n),b(t.c.find(".tp-bullets"),t.navigation.bullets)),p(t.navigation.thumbnails)&&b(t.c.parent().find(".tp-thumbs"),t.navigation.thumbnails),p(t.navigation.tabs)&&b(t.c.parent().find(".tp-tabs"),t.navigation.tabs),p(t.navigation.arrows)&&("fullscreen"!=t.sliderLayout&&"fullwidth"!=t.sliderLayout&&(t.navigation.arrows.left.h_offset_old=void 0===t.navigation.arrows.left.h_offset_old?t.navigation.arrows.left.h_offset:t.navigation.arrows.left.h_offset_old,t.navigation.arrows.left.h_offset="right"===t.navigation.arrows.left.h_align?t.navigation.arrows.left.h_offset_old+n:t.navigation.arrows.left.h_offset_old+i,t.navigation.arrows.right.h_offset_old=void 0===t.navigation.arrows.right.h_offset_old?t.navigation.arrows.right.h_offset:t.navigation.arrows.right.h_offset_old,t.navigation.arrows.right.h_offset="right"===t.navigation.arrows.right.h_align?t.navigation.arrows.right.h_offset_old+n:t.navigation.arrows.right.h_offset_old+i),b(t.c.find(".tp-leftarrow.tparrows"),t.navigation.arrows.left),b(t.c.find(".tp-rightarrow.tparrows"),t.navigation.arrows.right)),p(t.navigation.thumbnails)&&a(t.c.parent().find(".tp-thumbs"),t.navigation.thumbnails),p(t.navigation.tabs)&&a(t.c.parent().find(".tp-tabs"),t.navigation.tabs)},createNavigation:function(t,e){var n=t.parent(),r=e.navigation.arrows,d=e.navigation.bullets,u=e.navigation.thumbnails,f=e.navigation.tabs,m=p(r),b=p(d),_=p(u),y=p(f);o(t,e),s(t,e),m&&v(t,r,e),e.li.each(function(i){var a=jQuery(e.li[e.li.length-1-i]),n=jQuery(this);b&&(e.navigation.bullets.rtl?w(t,d,a,e):w(t,d,n,e)),_&&(e.navigation.thumbnails.rtl?x(t,u,a,"tp-thumb",e):x(t,u,n,"tp-thumb",e)),y&&(e.navigation.tabs.rtl?x(t,f,a,"tp-tab",e):x(t,f,n,"tp-tab",e))}),t.bind("revolution.slide.onafterswap revolution.nextslide.waiting",function(){var i=0==t.find(".next-revslide").length?t.find(".active-revslide").data("index"):t.find(".next-revslide").data("index");t.find(".tp-bullet").each(function(){var t=jQuery(this);t.data("liref")===i?t.addClass("selected"):t.removeClass("selected")}),n.find(".tp-thumb, .tp-tab").each(function(){var t=jQuery(this);t.data("liref")===i?(t.addClass("selected"),t.hasClass("tp-tab")?a(n.find(".tp-tabs"),f):a(n.find(".tp-thumbs"),u)):t.removeClass("selected")});var o=0,s=!1;e.thumbs&&jQuery.each(e.thumbs,function(t,e){o=s===!1?t:o,s=e.id===i||t===i?!0:s});var d=o>0?o-1:e.slideamount-1,l=o+1==e.slideamount?0:o+1;if(r.enable===!0){var h=r.tmp;if(jQuery.each(e.thumbs[d].params,function(t,e){h=h.replace(e.from,e.to)}),r.left.j.html(h),h=r.tmp,l>e.slideamount)return;jQuery.each(e.thumbs[l].params,function(t,e){h=h.replace(e.from,e.to)}),r.right.j.html(h),punchgs.TweenLite.set(r.left.j.find(".tp-arr-imgholder"),{backgroundImage:"url("+e.thumbs[d].src+")"}),punchgs.TweenLite.set(r.right.j.find(".tp-arr-imgholder"),{backgroundImage:"url("+e.thumbs[l].src+")"})}}),h(r),h(d),h(u),h(f),n.on("mouseenter mousemove",function(){n.hasClass("tp-mouseover")||(n.addClass("tp-mouseover"),punchgs.TweenLite.killDelayedCallsTo(g),m&&r.hide_onleave&&g(n.find(".tparrows"),r,"show"),b&&d.hide_onleave&&g(n.find(".tp-bullets"),d,"show"),_&&u.hide_onleave&&g(n.find(".tp-thumbs"),u,"show"),y&&f.hide_onleave&&g(n.find(".tp-tabs"),f,"show"),i&&(n.removeClass("tp-mouseover"),c(t,e)))}),n.on("mouseleave",function(){n.removeClass("tp-mouseover"),c(t,e)}),m&&r.hide_onleave&&g(n.find(".tparrows"),r,"hide",0),b&&d.hide_onleave&&g(n.find(".tp-bullets"),d,"hide",0),_&&u.hide_onleave&&g(n.find(".tp-thumbs"),u,"hide",0),y&&f.hide_onleave&&g(n.find(".tp-tabs"),f,"hide",0),_&&l(n.find(".tp-thumbs"),e),y&&l(n.find(".tp-tabs"),e),"carousel"===e.sliderType&&l(t,e,!0),"on"==e.navigation.touch.touchenabled&&l(t,e,"swipebased")}});var a=function(t,e){var i=(t.hasClass("tp-thumbs")?".tp-thumbs":".tp-tabs",t.hasClass("tp-thumbs")?".tp-thumb-mask":".tp-tab-mask"),a=t.hasClass("tp-thumbs")?".tp-thumbs-inner-wrapper":".tp-tabs-inner-wrapper",n=t.hasClass("tp-thumbs")?".tp-thumb":".tp-tab",r=t.find(i),o=r.find(a),s=e.direction,d="vertical"===s?r.find(n).first().outerHeight(!0)+e.space:r.find(n).first().outerWidth(!0)+e.space,l="vertical"===s?r.height():r.width(),h=parseInt(r.find(n+".selected").data("liindex"),0),p=l/d,u="vertical"===s?r.height():r.width(),c=0-h*d,g="vertical"===s?o.height():o.width(),v=0-(g-u)>c?0-(g-u):v>0?0:c,f=o.data("offset");p>2&&(v=0>=c-(f+d)?0-d>c-(f+d)?f:v+d:v,v=d>c-d+f+l&&c+(Math.round(p)-2)*dv?0-(g-u):v>0?0:v,"vertical"!==s&&r.width()>=o.width()&&(v=0),"vertical"===s&&r.height()>=o.height()&&(v=0),t.hasClass("dragged")||("vertical"===s?o.data("tmmove",punchgs.TweenLite.to(o,.5,{top:v+"px",ease:punchgs.Power3.easeInOut})):o.data("tmmove",punchgs.TweenLite.to(o,.5,{left:v+"px",ease:punchgs.Power3.easeInOut})),o.data("offset",v))},n=function(t,e,i,a,n,r){var o=i.parent().find(".tp-"+r+"s"),s=o.find(".tp-"+r+"s-inner-wrapper"),d=o.find(".tp-"+r+"-mask"),l=a.width*ta?-1:1),n&&!i&&(i=1>n?-1:1),n=navigator.userAgent.match(/mozilla/i)?10*n:n,(n>300||-300>n)&&(n/=10),{spinX:e,spinY:i,pixelX:a,pixelY:n}},o=function(t,i){"on"===i.navigation.keyboardNavigation&&jQuery(document).keydown(function(a){("horizontal"==i.navigation.keyboard_direction&&39==a.keyCode||"vertical"==i.navigation.keyboard_direction&&40==a.keyCode)&&(i.sc_indicator="arrow",i.sc_indicator_dir=0,e.callingNewSlide(i,t,1)),("horizontal"==i.navigation.keyboard_direction&&37==a.keyCode||"vertical"==i.navigation.keyboard_direction&&38==a.keyCode)&&(i.sc_indicator="arrow",i.sc_indicator_dir=1,e.callingNewSlide(i,t,-1))})},s=function(t,i){if("on"===i.navigation.mouseScrollNavigation||"carousel"===i.navigation.mouseScrollNavigation){i.isIEEleven=!!navigator.userAgent.match(/Trident.*rv\:11\./),i.isSafari=!!navigator.userAgent.match(/safari/i),i.ischrome=!!navigator.userAgent.match(/chrome/i);var a=i.ischrome?-49:i.isIEEleven||i.isSafari?-9:navigator.userAgent.match(/mozilla/i)?-29:-49,n=i.ischrome?49:i.isIEEleven||i.isSafari?9:navigator.userAgent.match(/mozilla/i)?29:49;t.on("mousewheel DOMMouseScroll",function(o){var s=r(o.originalEvent),d=t.find(".tp-revslider-slidesli.active-revslide").index(),l=t.find(".tp-revslider-slidesli.processing-revslide").index(),h=-1!=d&&0==d||-1!=l&&0==l?!0:!1,p=-1!=d&&d==i.slideamount-1||1!=l&&l==i.slideamount-1?!0:!1,u=!0;"carousel"==i.navigation.mouseScrollNavigation&&(h=p=!1),-1==l?s.pixelYn&&(p||(i.sc_indicator="arrow","reverse"!==i.navigation.mouseScrollReverse&&(i.sc_indicator_dir=1,e.callingNewSlide(i,t,1)),u=!1),h||(i.sc_indicator="arrow","reverse"===i.navigation.mouseScrollReverse&&(i.sc_indicator_dir=0,e.callingNewSlide(i,t,-1)),u=!1)):u=!1;var c=i.c.offset().top-jQuery("body").scrollTop(),g=c+i.c.height();return"carousel"!=i.navigation.mouseScrollNavigation?("reverse"!==i.navigation.mouseScrollReverse&&(c>0&&s.pixelY>0||gc&&s.pixelY<0||g>jQuery(window).height()&&s.pixelY>0)&&(u=!0)):u=!1,0==u?(o.preventDefault(o),!1):void 0})}},d=function(t,e,a){return t=i?jQuery(a.target).closest("."+t).length||jQuery(a.srcElement).closest("."+t).length:jQuery(a.toElement).closest("."+t).length||jQuery(a.originalTarget).closest("."+t).length,t===!0||1===t?1:0},l=function(t,a,n){t.data("opt",a);var r=a.carousel;jQuery(".bullet, .bullets, .tp-bullets, .tparrows").addClass("noSwipe"),r.Limit="endless";var o=(i||"Firefox"===e.get_browser(),t),s="vertical"===a.navigation.thumbnails.direction||"vertical"===a.navigation.tabs.direction?"none":"vertical",l=a.navigation.touch.swipe_direction||"horizontal";s="swipebased"==n&&"vertical"==l?"none":n?"vertical":s,jQuery.fn.swipetp||(jQuery.fn.swipetp=jQuery.fn.swipe),jQuery.fn.swipetp.defaults&&jQuery.fn.swipetp.defaults.excludedElements||jQuery.fn.swipetp.defaults||(jQuery.fn.swipetp.defaults=new Object),jQuery.fn.swipetp.defaults.excludedElements="label, button, input, select, textarea, .noSwipe",o.swipetp({allowPageScroll:s,triggerOnTouchLeave:!0,treshold:a.navigation.touch.swipe_treshold,fingers:a.navigation.touch.swipe_min_touches,excludeElements:jQuery.fn.swipetp.defaults.excludedElements,swipeStatus:function(i,n,o,s,h,p,u){var c=d("rev_slider_wrapper",t,i),g=d("tp-thumbs",t,i),v=d("tp-tabs",t,i),f=jQuery(this).attr("class"),m=f.match(/tp-tabs|tp-thumb/gi)?!0:!1;if("carousel"===a.sliderType&&(("move"===n||"end"===n||"cancel"==n)&&a.dragStartedOverSlider&&!a.dragStartedOverThumbs&&!a.dragStartedOverTabs||"start"===n&&c>0&&0===g&&0===v))switch(a.dragStartedOverSlider=!0,s=o&&o.match(/left|up/g)?Math.round(-1*s):s=Math.round(1*s),n){case"start":void 0!==r.positionanim&&(r.positionanim.kill(),r.slide_globaloffset="off"===r.infinity?r.slide_offset:e.simp(r.slide_offset,r.maxwidth)),r.overpull="none",r.wrap.addClass("dragged");break;case"move":if(r.slide_offset="off"===r.infinity?r.slide_globaloffset+s:e.simp(r.slide_globaloffset+s,r.maxwidth),"off"===r.infinity){var b="center"===r.horizontal_align?(r.wrapwidth/2-r.slide_width/2-r.slide_offset)/r.slide_width:(0-r.slide_offset)/r.slide_width;"none"!==r.overpull&&0!==r.overpull||!(0>b||b>a.slideamount-1)?b>=0&&b<=a.slideamount-1&&(b>=0&&s>r.overpull||b<=a.slideamount-1&&sb?r.slide_offset+(r.overpull-s)/1.1+Math.sqrt(Math.abs((r.overpull-s)/1.1)):b>a.slideamount-1?r.slide_offset+(r.overpull-s)/1.1-Math.sqrt(Math.abs((r.overpull-s)/1.1)):r.slide_offset}e.organiseCarousel(a,o,!0,!0);break;case"end":case"cancel":r.slide_globaloffset=r.slide_offset,r.wrap.removeClass("dragged"),e.carouselToEvalPosition(a,o),a.dragStartedOverSlider=!1,a.dragStartedOverThumbs=!1,a.dragStartedOverTabs=!1}else{if(("move"!==n&&"end"!==n&&"cancel"!=n||a.dragStartedOverSlider||!a.dragStartedOverThumbs&&!a.dragStartedOverTabs)&&!("start"===n&&c>0&&(g>0||v>0))){if("end"==n&&!m){if(a.sc_indicator="arrow","horizontal"==l&&"left"==o||"vertical"==l&&"up"==o)return a.sc_indicator_dir=0,e.callingNewSlide(a,a.c,1),!1;if("horizontal"==l&&"right"==o||"vertical"==l&&"down"==o)return a.sc_indicator_dir=1,e.callingNewSlide(a,a.c,-1),!1}return a.dragStartedOverSlider=!1,a.dragStartedOverThumbs=!1,a.dragStartedOverTabs=!1,!0}g>0&&(a.dragStartedOverThumbs=!0),v>0&&(a.dragStartedOverTabs=!0);var w=a.dragStartedOverThumbs?".tp-thumbs":".tp-tabs",_=a.dragStartedOverThumbs?".tp-thumb-mask":".tp-tab-mask",x=a.dragStartedOverThumbs?".tp-thumbs-inner-wrapper":".tp-tabs-inner-wrapper",y=a.dragStartedOverThumbs?".tp-thumb":".tp-tab",T=a.dragStartedOverThumbs?a.navigation.thumbnails:a.navigation.tabs;s=o&&o.match(/left|up/g)?Math.round(-1*s):s=Math.round(1*s);var S=t.parent().find(_),j=S.find(x),C=T.direction,L="vertical"===C?j.height():j.width(),Q="vertical"===C?S.height():S.width(),k="vertical"===C?S.find(y).first().outerHeight(!0)+T.space:S.find(y).first().outerWidth(!0)+T.space,I=void 0===j.data("offset")?0:parseInt(j.data("offset"),0),O=0;switch(n){case"start":t.parent().find(w).addClass("dragged"),I="vertical"===C?j.position().top:j.position().left,j.data("offset",I),j.data("tmmove")&&j.data("tmmove").pause();break;case"move":if(Q>=L)return!1;O=I+s,O=O>0?"horizontal"===C?O-j.width()*(O/j.width()*O/j.width()):O-j.height()*(O/j.height()*O/j.height()):O;var H="vertical"===C?0-(j.height()-S.height()):0-(j.width()-S.width());O=H>O?"horizontal"===C?O+j.width()*(O-H)/j.width()*(O-H)/j.width():O+j.height()*(O-H)/j.height()*(O-H)/j.height():O,"vertical"===C?punchgs.TweenLite.set(j,{top:O+"px"}):punchgs.TweenLite.set(j,{left:O+"px"});break;case"end":case"cancel":if(m)return O=I+s,O="vertical"===C?O<0-(j.height()-S.height())?0-(j.height()-S.height()):O:O<0-(j.width()-S.width())?0-(j.width()-S.width()):O,O=O>0?0:O,O=Math.abs(s)>k/10?0>=s?Math.floor(O/k)*k:Math.ceil(O/k)*k:0>s?Math.ceil(O/k)*k:Math.floor(O/k)*k,O="vertical"===C?O<0-(j.height()-S.height())?0-(j.height()-S.height()):O:O<0-(j.width()-S.width())?0-(j.width()-S.width()):O,O=O>0?0:O,"vertical"===C?punchgs.TweenLite.to(j,.5,{top:O+"px",ease:punchgs.Power3.easeOut}):punchgs.TweenLite.to(j,.5,{left:O+"px",ease:punchgs.Power3.easeOut}),O=O?O:"vertical"===C?j.position().top:j.position().left,j.data("offset",O),j.data("distance",s),setTimeout(function(){a.dragStartedOverSlider=!1,a.dragStartedOverThumbs=!1,a.dragStartedOverTabs=!1},100),t.parent().find(w).removeClass("dragged"),!1}}}})},h=function(t){t.hide_delay=jQuery.isNumeric(parseInt(t.hide_delay,0))?t.hide_delay/1e3:.2,t.hide_delay_mobile=jQuery.isNumeric(parseInt(t.hide_delay_mobile,0))?t.hide_delay_mobile/1e3:.2},p=function(t){return t&&t.enable},u=function(t){return t&&t.enable&&t.hide_onleave===!0&&(void 0===t.position?!0:!t.position.match(/outer/g))},c=function(t,e){var a=t.parent();u(e.navigation.arrows)&&punchgs.TweenLite.delayedCall(i?e.navigation.arrows.hide_delay_mobile:e.navigation.arrows.hide_delay,g,[a.find(".tparrows"),e.navigation.arrows,"hide"]),u(e.navigation.bullets)&&punchgs.TweenLite.delayedCall(i?e.navigation.bullets.hide_delay_mobile:e.navigation.bullets.hide_delay,g,[a.find(".tp-bullets"),e.navigation.bullets,"hide"]),u(e.navigation.thumbnails)&&punchgs.TweenLite.delayedCall(i?e.navigation.thumbnails.hide_delay_mobile:e.navigation.thumbnails.hide_delay,g,[a.find(".tp-thumbs"),e.navigation.thumbnails,"hide"]),u(e.navigation.tabs)&&punchgs.TweenLite.delayedCall(i?e.navigation.tabs.hide_delay_mobile:e.navigation.tabs.hide_delay,g,[a.find(".tp-tabs"),e.navigation.tabs,"hide"])},g=function(t,e,i,a){switch(a=void 0===a?.5:a,i){case"show":punchgs.TweenLite.to(t,a,{autoAlpha:1,ease:punchgs.Power3.easeInOut,overwrite:"auto"});break;case"hide":punchgs.TweenLite.to(t,a,{autoAlpha:0,ease:punchgs.Power3.easeInOu,overwrite:"auto"})}},v=function(t,e,i){e.style=void 0===e.style?"":e.style,e.left.style=void 0===e.left.style?"":e.left.style,e.right.style=void 0===e.right.style?"":e.right.style,0===t.find(".tp-leftarrow.tparrows").length&&t.append('
'+e.tmp+"
"),0===t.find(".tp-rightarrow.tparrows").length&&t.append('
'+e.tmp+"
");var a=t.find(".tp-leftarrow.tparrows"),n=t.find(".tp-rightarrow.tparrows");e.rtl?(a.click(function(){i.sc_indicator="arrow",i.sc_indicator_dir=0,t.revnext()}),n.click(function(){i.sc_indicator="arrow",i.sc_indicator_dir=1,t.revprev()})):(n.click(function(){i.sc_indicator="arrow",i.sc_indicator_dir=0,t.revnext()}),a.click(function(){i.sc_indicator="arrow",i.sc_indicator_dir=1,t.revprev()})),e.right.j=t.find(".tp-rightarrow.tparrows"),e.left.j=t.find(".tp-leftarrow.tparrows"),e.padding_top=parseInt(i.carousel.padding_top||0,0),e.padding_bottom=parseInt(i.carousel.padding_bottom||0,0),b(a,e.left),b(n,e.right),e.left.opt=i,e.right.opt=i,("outer-left"==e.position||"outer-right"==e.position)&&(i.outernav=!0)},f=function(t,e){var i=t.outerHeight(!0),a=(t.outerWidth(!0),void 0==e.opt?0:0==e.opt.conh?e.opt.height:e.opt.conh),n="layergrid"==e.container?"fullscreen"==e.opt.sliderLayout?e.opt.height/2-e.opt.gridheight[e.opt.curWinRange]*e.opt.bh/2:"on"==e.opt.autoHeight||void 0!=e.opt.minHeight&&e.opt.minHeight>0?a/2-e.opt.gridheight[e.opt.curWinRange]*e.opt.bh/2:0:0,r="top"===e.v_align?{top:"0px",y:Math.round(e.v_offset+n)+"px"}:"center"===e.v_align?{top:"50%",y:Math.round(0-i/2+e.v_offset)+"px"}:{top:"100%",y:Math.round(0-(i+e.v_offset+n))+"px"};t.hasClass("outer-bottom")||punchgs.TweenLite.set(t,r)},m=function(t,e){var i=(t.outerHeight(!0),t.outerWidth(!0)),a="layergrid"==e.container?"carousel"===e.opt.sliderType?0:e.opt.width/2-e.opt.gridwidth[e.opt.curWinRange]*e.opt.bw/2:0,n="left"===e.h_align?{left:"0px",x:Math.round(e.h_offset+a)+"px"}:"center"===e.h_align?{left:"50%",x:Math.round(0-i/2+e.h_offset)+"px"}:{left:"100%",x:Math.round(0-(i+e.h_offset+a))+"px"};punchgs.TweenLite.set(t,n)},b=function(t,e){var i=t.closest(".tp-simpleresponsive").length>0?t.closest(".tp-simpleresponsive"):t.closest(".tp-revslider-mainul").length>0?t.closest(".tp-revslider-mainul"):t.closest(".rev_slider_wrapper").length>0?t.closest(".rev_slider_wrapper"):t.parent().find(".tp-revslider-mainul"),a=i.width(),n=i.height();if(f(t,e),m(t,e),"outer-left"!==e.position||"fullwidth"!=e.sliderLayout&&"fullscreen"!=e.sliderLayout?"outer-right"!==e.position||"fullwidth"!=e.sliderLayout&&"fullscreen"!=e.sliderLayout||punchgs.TweenLite.set(t,{right:0-t.outerWidth()+"px",x:e.h_offset+"px"}):punchgs.TweenLite.set(t,{left:0-t.outerWidth()+"px",x:e.h_offset+"px"}),t.hasClass("tp-thumbs")||t.hasClass("tp-tabs")){var r=t.data("wr_padding"),o=t.data("maxw"),s=t.data("maxh"),d=t.hasClass("tp-thumbs")?t.find(".tp-thumb-mask"):t.find(".tp-tab-mask"),l=parseInt(e.padding_top||0,0),h=parseInt(e.padding_bottom||0,0);o>a&&"outer-left"!==e.position&&"outer-right"!==e.position?(punchgs.TweenLite.set(t,{left:"0px",x:0,maxWidth:a-2*r+"px"}),punchgs.TweenLite.set(d,{maxWidth:a-2*r+"px"})):(punchgs.TweenLite.set(t,{maxWidth:o+"px"}),punchgs.TweenLite.set(d,{maxWidth:o+"px"})),s+2*r>n&&"outer-bottom"!==e.position&&"outer-top"!==e.position?(punchgs.TweenLite.set(t,{top:"0px",y:0,maxHeight:l+h+(n-2*r)+"px"}),punchgs.TweenLite.set(d,{maxHeight:l+h+(n-2*r)+"px"})):(punchgs.TweenLite.set(t,{maxHeight:s+"px"}),punchgs.TweenLite.set(d,{maxHeight:s+"px"})),"outer-left"!==e.position&&"outer-right"!==e.position&&(l=0,h=0),e.span===!0&&"vertical"===e.direction?(punchgs.TweenLite.set(t,{maxHeight:l+h+(n-2*r)+"px",height:l+h+(n-2*r)+"px",top:0-l,y:0}),f(d,e)):e.span===!0&&"horizontal"===e.direction&&(punchgs.TweenLite.set(t,{maxWidth:"100%",width:a-2*r+"px",left:0,x:0}),m(d,e))}},w=function(t,e,i,a){0===t.find(".tp-bullets").length&&(e.style=void 0===e.style?"":e.style,t.append('
'));var n=t.find(".tp-bullets"),r=i.data("index"),o=e.tmp;jQuery.each(a.thumbs[i.index()].params,function(t,e){o=o.replace(e.from,e.to)}),n.append('
'+o+"
");var s=t.find(".justaddedbullet"),d=t.find(".tp-bullet").length,l=s.outerWidth()+parseInt(void 0===e.space?0:e.space,0),h=s.outerHeight()+parseInt(void 0===e.space?0:e.space,0);"vertical"===e.direction?(s.css({top:(d-1)*h+"px",left:"0px"}),n.css({height:(d-1)*h+s.outerHeight(),width:s.outerWidth()})):(s.css({left:(d-1)*l+"px",top:"0px"}),n.css({width:(d-1)*l+s.outerWidth(),height:s.outerHeight()})),s.find(".tp-bullet-image").css({backgroundImage:"url("+a.thumbs[i.index()].src+")"}),s.data("liref",r),s.click(function(){a.sc_indicator="bullet",t.revcallslidewithid(r),t.find(".tp-bullet").removeClass("selected"),jQuery(this).addClass("selected")}),s.removeClass("justaddedbullet"),e.padding_top=parseInt(a.carousel.padding_top||0,0),e.padding_bottom=parseInt(a.carousel.padding_bottom||0,0),e.opt=a,("outer-left"==e.position||"outer-right"==e.position)&&(a.outernav=!0),n.addClass("nav-pos-hor-"+e.h_align),n.addClass("nav-pos-ver-"+e.v_align),n.addClass("nav-dir-"+e.direction),b(n,e)},_=function(t,e){e=parseFloat(e),t=t.replace("#","");var i=parseInt(t.substring(0,2),16),a=parseInt(t.substring(2,4),16),n=parseInt(t.substring(4,6),16),r="rgba("+i+","+a+","+n+","+e+")";return r},x=function(t,e,i,a,n){var r="tp-thumb"===a?".tp-thumbs":".tp-tabs",o="tp-thumb"===a?".tp-thumb-mask":".tp-tab-mask",s="tp-thumb"===a?".tp-thumbs-inner-wrapper":".tp-tabs-inner-wrapper",d="tp-thumb"===a?".tp-thumb":".tp-tab",l="tp-thumb"===a?".tp-thumb-image":".tp-tab-image";if(e.visibleAmount=e.visibleAmount>n.slideamount?n.slideamount:e.visibleAmount,e.sliderLayout=n.sliderLayout,0===t.parent().find(r).length){e.style=void 0===e.style?"":e.style;var h=e.span===!0?"tp-span-wrapper":"",p='
';"outer-top"===e.position?t.parent().prepend(p):"outer-bottom"===e.position?t.after(p):t.append(p),e.padding_top=parseInt(n.carousel.padding_top||0,0),e.padding_bottom=parseInt(n.carousel.padding_bottom||0,0),("outer-left"==e.position||"outer-right"==e.position)&&(n.outernav=!0)}var u=i.data("index"),c=t.parent().find(r),g=c.find(o),v=g.find(s),f="horizontal"===e.direction?e.width*e.visibleAmount+e.space*(e.visibleAmount-1):e.width,m="horizontal"===e.direction?e.height:e.height*e.visibleAmount+e.space*(e.visibleAmount-1),w=e.tmp;jQuery.each(n.thumbs[i.index()].params,function(t,e){w=w.replace(e.from,e.to)}),v.append('
'+w+"
");var x=c.find(".justaddedthumb"),y=c.find(d).length,T=x.outerWidth()+parseInt(void 0===e.space?0:e.space,0),S=x.outerHeight()+parseInt(void 0===e.space?0:e.space,0);x.find(l).css({backgroundImage:"url("+n.thumbs[i.index()].src+")"}),"vertical"===e.direction?(x.css({top:(y-1)*S+"px",left:"0px"}),v.css({height:(y-1)*S+x.outerHeight(),width:x.outerWidth()})):(x.css({left:(y-1)*T+"px",top:"0px"}),v.css({width:(y-1)*T+x.outerWidth(),height:x.outerHeight()})),c.data("maxw",f),c.data("maxh",m),c.data("wr_padding",e.wrapper_padding);var j="outer-top"===e.position||"outer-bottom"===e.position?"relative":"absolute";"outer-top"!==e.position&&"outer-bottom"!==e.position||"center"!==e.h_align?"0":"auto";g.css({maxWidth:f+"px",maxHeight:m+"px",overflow:"hidden",position:"relative"}),c.css({maxWidth:f+"px",maxHeight:m+"px",overflow:"visible",position:j,background:_(e.wrapper_color,e.wrapper_opacity),padding:e.wrapper_padding+"px",boxSizing:"contet-box"}),x.click(function(){n.sc_indicator="bullet";var e=t.parent().find(s).data("distance");e=void 0===e?0:e,Math.abs(e)<10&&(t.revcallslidewithid(u),t.parent().find(r).removeClass("selected"),jQuery(this).addClass("selected"))}),x.removeClass("justaddedthumb"),e.opt=n,c.addClass("nav-pos-hor-"+e.h_align),c.addClass("nav-pos-ver-"+e.v_align),c.addClass("nav-dir-"+e.direction),b(c,e)},y=function(t){var e=t.c.parent().find(".outer-top"),i=t.c.parent().find(".outer-bottom");t.top_outer=e.hasClass("tp-forcenotvisible")?0:e.outerHeight()||0,t.bottom_outer=i.hasClass("tp-forcenotvisible")?0:i.outerHeight()||0},T=function(t,e,i,a){e>i||i>a?t.addClass("tp-forcenotvisible"):t.removeClass("tp-forcenotvisible")}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.parallax.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.parallax.min.js new file mode 100644 index 0000000..0d99b4a --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.parallax.min.js @@ -0,0 +1,7 @@ +/******************************************** + * REVOLUTION 5.1.6 EXTENSION - PARALLAX + * @version: 1.3 (14.01.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +!function(e){var a=jQuery.fn.revolution,r=a.is_mobile();jQuery.extend(!0,a,{checkForParallax:function(e,t){var o=t.parallax;if(r&&"on"==o.disable_onmobile)return!1;("3D"==o.type||"3d"==o.type)&&(punchgs.TweenLite.set(t.c,{overflow:o.ddd_overflow}),punchgs.TweenLite.set(t.ul,{overflow:o.ddd_overflow}),"carousel"!=t.sliderType&&"on"==o.ddd_shadow&&(t.c.prepend('
'),punchgs.TweenLite.set(t.c.find(".dddwrappershadow"),{force3D:"auto",transformPerspective:1600,transformOrigin:"50% 50%",width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:0}))),t.li.each(function(){var e=jQuery(this);if("3D"==o.type||"3d"==o.type){e.find(".slotholder").wrapAll('
'),e.find(".tp-parallax-wrap").wrapAll('
'),e.find(".rs-parallaxlevel-tobggroup").closest(".tp-parallax-wrap").wrapAll('
');var a=e.find(".dddwrapper"),r=e.find(".dddwrapper-layer"),l=e.find(".dddwrapper-layertobggroup");l.appendTo(a),"carousel"==t.sliderType&&("on"==o.ddd_shadow&&a.addClass("dddwrappershadow"),punchgs.TweenLite.set(a,{borderRadius:t.carousel.border_radius})),punchgs.TweenLite.set(e,{overflow:"visible",transformStyle:"preserve-3d",perspective:1600}),punchgs.TweenLite.set(a,{force3D:"auto",transformOrigin:"50% 50%"}),punchgs.TweenLite.set(r,{force3D:"auto",transformOrigin:"50% 50%",zIndex:5}),punchgs.TweenLite.set(t.ul,{transformStyle:"preserve-3d",transformPerspective:1600})}});for(var l=1;l<=o.levels.length;l++)t.c.find(".rs-parallaxlevel-"+l).each(function(){var e=jQuery(this),a=e.closest(".tp-parallax-wrap");a.data("parallaxlevel",o.levels[l-1]),a.addClass("tp-parallax-container")});("mouse"==o.type||"scroll+mouse"==o.type||"mouse+scroll"==o.type||"3D"==o.type||"3d"==o.type)&&(e.mouseenter(function(a){var r=e.find(".active-revslide"),t=e.offset().top,o=e.offset().left,l=a.pageX-o,i=a.pageY-t;r.data("enterx",l),r.data("entery",i)}),e.on("mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath",function(a,r){var l=r&&r.li?r.li:e.find(".active-revslide");if("enterpoint"==o.origo){var i=e.offset().top,s=e.offset().left;void 0==l.data("enterx")&&l.data("enterx",a.pageX-s),void 0==l.data("entery")&&l.data("entery",a.pageY-i);var n=l.data("enterx")||a.pageX-s,d=l.data("entery")||a.pageY-i,p=n-(a.pageX-s),c=d-(a.pageY-i),u=o.speed/1e3||.4}else var i=e.offset().top,s=e.offset().left,p=t.conw/2-(a.pageX-s),c=t.conh/2-(a.pageY-i),u=o.speed/1e3||3;"mouseleave"==a.type&&(p=o.ddd_lasth||0,c=o.ddd_lastv||0,u=1.5);var h=[];if(l.find(".tp-parallax-container").each(function(e){h.push(jQuery(this))}),e.find(".tp-static-layers .tp-parallax-container").each(function(){h.push(jQuery(this))}),jQuery.each(h,function(){var e=jQuery(this),a=parseInt(e.data("parallaxlevel"),0),r="3D"==o.type||"3d"==o.type?a/200:a/100,t=p*r,l=c*r;"scroll+mouse"==o.type||"mouse+scroll"==o.type?punchgs.TweenLite.to(e,u,{force3D:"auto",x:t,ease:punchgs.Power3.easeOut,overwrite:"all"}):punchgs.TweenLite.to(e,u,{force3D:"auto",x:t,y:l,ease:punchgs.Power3.easeOut,overwrite:"all"})}),"3D"==o.type||"3d"==o.type){var f=".tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer";"carousel"===t.sliderType&&(f=".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer"),t.c.find(f).each(function(){var e=jQuery(this),r=o.levels[o.levels.length-1]/200,l=p*r,i=c*r,s=0==t.conw?0:Math.round(p/t.conw*r*100)||0,n=0==t.conh?0:Math.round(c/t.conh*r*100)||0,d=e.closest("li"),h=0,f=!1;e.hasClass("dddwrapper-layer")&&(h=o.ddd_z_correction||65,f=!0),e.hasClass("dddwrapper-layer")&&(l=0,i=0),d.hasClass("active-revslide")||"carousel"!=t.sliderType?"on"!=o.ddd_bgfreeze||f?punchgs.TweenLite.to(e,u,{rotationX:n,rotationY:-s,x:l,z:h,y:i,ease:punchgs.Power3.easeOut,overwrite:"all"}):punchgs.TweenLite.to(e,.5,{force3D:"auto",rotationY:0,rotationX:0,z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}):punchgs.TweenLite.to(e,.5,{force3D:"auto",rotationY:0,z:0,x:0,y:0,rotationX:0,z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}),"mouseleave"==a.type&&punchgs.TweenLite.to(jQuery(this),3.8,{z:0,ease:punchgs.Power3.easeOut})})}}),r&&(window.ondeviceorientation=function(a){var r=Math.round(a.beta||0)-70,l=Math.round(a.gamma||0),i=e.find(".active-revslide");if(jQuery(window).width()>jQuery(window).height()){var s=l;l=r,r=s}var n=e.width(),d=e.height(),p=360/n*l,c=180/d*r,u=o.speed/1e3||3,h=[];if(i.find(".tp-parallax-container").each(function(e){h.push(jQuery(this))}),e.find(".tp-static-layers .tp-parallax-container").each(function(){h.push(jQuery(this))}),jQuery.each(h,function(){var e=jQuery(this),a=parseInt(e.data("parallaxlevel"),0),r=a/100,t=p*r*2,o=c*r*4;punchgs.TweenLite.to(e,u,{force3D:"auto",x:t,y:o,ease:punchgs.Power3.easeOut,overwrite:"all"})}),"3D"==o.type||"3d"==o.type){var f=".tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer";"carousel"===t.sliderType&&(f=".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer"),t.c.find(f).each(function(){var e=jQuery(this),r=o.levels[o.levels.length-1]/200;offsh=p*r,offsv=c*r*3,offrv=0==t.conw?0:Math.round(p/t.conw*r*500)||0,offrh=0==t.conh?0:Math.round(c/t.conh*r*700)||0,li=e.closest("li"),zz=0,itslayer=!1,e.hasClass("dddwrapper-layer")&&(zz=o.ddd_z_correction||65,itslayer=!0),e.hasClass("dddwrapper-layer")&&(offsh=0,offsv=0),li.hasClass("active-revslide")||"carousel"!=t.sliderType?"on"!=o.ddd_bgfreeze||itslayer?punchgs.TweenLite.to(e,u,{rotationX:offrh,rotationY:-offrv,x:offsh,z:zz,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"}):punchgs.TweenLite.to(e,.5,{force3D:"auto",rotationY:0,rotationX:0,z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}):punchgs.TweenLite.to(e,.5,{force3D:"auto",rotationY:0,z:0,x:0,y:0,rotationX:0,z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}),"mouseleave"==a.type&&punchgs.TweenLite.to(jQuery(this),3.8,{z:0,ease:punchgs.Power3.easeOut})})}})),a.scrollTicker(t,e)},scrollTicker:function(e,t){1!=e.scrollTicker&&(e.scrollTicker=!0,r?(punchgs.TweenLite.ticker.fps(150),punchgs.TweenLite.ticker.addEventListener("tick",function(){a.scrollHandling(e)},t,!1,1)):jQuery(window).on("scroll mousewheel DOMMouseScroll",function(){a.scrollHandling(e,!0)})),a.scrollHandling(e,!0)},scrollHandling:function(e,t){function o(e,a){e.lastscrolltop=a}e.lastwindowheight=e.lastwindowheight||jQuery(window).height();var l=e.c.offset().top,i=jQuery(window).scrollTop(),s=new Object,n=e.viewPort,d=e.parallax;if(e.lastscrolltop==i&&!e.duringslidechange&&!t)return!1;punchgs.TweenLite.delayedCall(.2,o,[e,i]),s.top=l-i,s.h=0==e.conh?e.c.height():e.conh,s.bottom=l-i+s.h;var p=s.top<0||s.h>e.lastwindowheight?s.top/s.h:s.bottom>e.lastwindowheight?(s.bottom-e.lastwindowheight)/s.h:0;if(e.scrollproc=p,a.callBackHandling&&a.callBackHandling(e,"parallax","start"),n.enable){var c=1-Math.abs(p);c=0>c?0:c,jQuery.isNumeric(n.visible_area)||-1!==n.visible_area.indexOf("%")&&(n.visible_area=parseInt(n.visible_area)/100),1-n.visible_area<=c?e.inviewport||(e.inviewport=!0,a.enterInViewPort(e)):e.inviewport&&(e.inviewport=!1,a.leaveViewPort(e))}if(r&&"on"==e.parallax.disable_onmobile)return!1;var u=new punchgs.TimelineLite;u.pause(),"3d"!=d.type&&"3D"!=d.type&&(("scroll"==d.type||"scroll+mouse"==d.type||"mouse+scroll"==d.type)&&e.c.find(".tp-parallax-container").each(function(a){var r=jQuery(this),t=parseInt(r.data("parallaxlevel"),0)/100,o=p*-(t*e.conh)||0;r.data("parallaxoffset",o),u.add(punchgs.TweenLite.set(r,{force3D:"auto",y:o}),0)}),e.c.find(".tp-revslider-slidesli .slotholder, .tp-revslider-slidesli .rs-background-video-layer").each(function(){var a=jQuery(this),r=a.data("bgparallax")||e.parallax.bgparallax;if(r="on"==r?1:r,void 0!==r||"off"!==r){var t=e.parallax.levels[parseInt(r,0)-1]/100,o=p*-(t*e.conh)||0;jQuery.isNumeric(o)&&u.add(punchgs.TweenLite.set(a,{position:"absolute",top:"0px",left:"0px",backfaceVisibility:"hidden",force3D:"true",y:o+"px"}),0)}})),a.callBackHandling&&a.callBackHandling(e,"parallax","end"),u.play(0)}})}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.slideanims.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.slideanims.min.js new file mode 100644 index 0000000..39b5471 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.slideanims.min.js @@ -0,0 +1,7 @@ +/************************************************ + * REVOLUTION 5.2 EXTENSION - SLIDE ANIMATIONS + * @version: 1.1.2 (23.02.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +************************************************/ +!function(t){var e=jQuery.fn.revolution;jQuery.extend(!0,e,{animateSlide:function(t,e,o,a,i,r,s,l,d){return n(t,e,o,a,i,r,s,l,d)}});var o=function(t,o,a,i){var n=t,r=n.find(".defaultimg"),s=n.data("zoomstart"),l=n.data("rotationstart");void 0!=r.data("currotate")&&(l=r.data("currotate")),void 0!=r.data("curscale")&&"box"==i?s=100*r.data("curscale"):void 0!=r.data("curscale")&&(s=r.data("curscale")),e.slotSize(r,o);var d=r.attr("src"),h=r.css("backgroundColor"),f=o.width,c=o.height,p=r.data("fxof"),u=0;"on"==o.autoHeight&&(c=o.c.height()),void 0==p&&(p=0);var g=0,w=r.data("bgfit"),v=r.data("bgrepeat"),m=r.data("bgposition");switch(void 0==w&&(w="cover"),void 0==v&&(v="no-repeat"),void 0==m&&(m="center center"),i){case"box":for(var x=0,y=0,T=0;T
'),y+=o.sloth,void 0!=s&&void 0!=l&&punchgs.TweenLite.set(n.find(".slot").last(),{rotationZ:l});x+=o.slotw}break;case"vertical":case"horizontal":if("horizontal"==i){if(!a)var g=0-o.slotw;for(var z=0;z
'),void 0!=s&&void 0!=l&&punchgs.TweenLite.set(n.find(".slot").last(),{rotationZ:l})}else{if(!a)var g=0-o.sloth;for(var z=0;z
'),void 0!=s&&void 0!=l&&punchgs.TweenLite.set(n.find(".slot").last(),{rotationZ:l})}}},a=function(t,e,o,a,i){function n(){jQuery.each(y,function(t,e){(e[0]==o||e[8]==o)&&(w=e[1],v=e[2],m=x),x+=1})}var r=punchgs.Power1.easeIn,s=punchgs.Power1.easeOut,l=punchgs.Power1.easeInOut,d=punchgs.Power2.easeIn,h=punchgs.Power2.easeOut,f=punchgs.Power2.easeInOut,c=(punchgs.Power3.easeIn,punchgs.Power3.easeOut),p=punchgs.Power3.easeInOut,u=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],g=[16,17,18,19,20,21,22,23,24,25,27],w=0,v=1,m=0,x=0,y=(new Array,[["boxslide",0,1,10,0,"box",!1,null,0,s,s,500,6],["boxfade",1,0,10,0,"box",!1,null,1,l,l,700,5],["slotslide-horizontal",2,0,0,200,"horizontal",!0,!1,2,f,f,700,3],["slotslide-vertical",3,0,0,200,"vertical",!0,!1,3,f,f,700,3],["curtain-1",4,3,0,0,"horizontal",!0,!0,4,s,s,300,5],["curtain-2",5,3,0,0,"horizontal",!0,!0,5,s,s,300,5],["curtain-3",6,3,25,0,"horizontal",!0,!0,6,s,s,300,5],["slotzoom-horizontal",7,0,0,400,"horizontal",!0,!0,7,s,s,300,7],["slotzoom-vertical",8,0,0,0,"vertical",!0,!0,8,h,h,500,8],["slotfade-horizontal",9,0,0,500,"horizontal",!0,null,9,h,h,500,25],["slotfade-vertical",10,0,0,500,"vertical",!0,null,10,h,h,500,25],["fade",11,0,1,300,"horizontal",!0,null,11,f,f,1e3,1],["crossfade",11,1,1,300,"horizontal",!0,null,11,f,f,1e3,1],["fadethroughdark",11,2,1,300,"horizontal",!0,null,11,f,f,1e3,1],["fadethroughlight",11,3,1,300,"horizontal",!0,null,11,f,f,1e3,1],["fadethroughtransparent",11,4,1,300,"horizontal",!0,null,11,f,f,1e3,1],["slideleft",12,0,1,0,"horizontal",!0,!0,12,p,p,1e3,1],["slideup",13,0,1,0,"horizontal",!0,!0,13,p,p,1e3,1],["slidedown",14,0,1,0,"horizontal",!0,!0,14,p,p,1e3,1],["slideright",15,0,1,0,"horizontal",!0,!0,15,p,p,1e3,1],["slideoverleft",12,7,1,0,"horizontal",!0,!0,12,p,p,1e3,1],["slideoverup",13,7,1,0,"horizontal",!0,!0,13,p,p,1e3,1],["slideoverdown",14,7,1,0,"horizontal",!0,!0,14,p,p,1e3,1],["slideoverright",15,7,1,0,"horizontal",!0,!0,15,p,p,1e3,1],["slideremoveleft",12,8,1,0,"horizontal",!0,!0,12,p,p,1e3,1],["slideremoveup",13,8,1,0,"horizontal",!0,!0,13,p,p,1e3,1],["slideremovedown",14,8,1,0,"horizontal",!0,!0,14,p,p,1e3,1],["slideremoveright",15,8,1,0,"horizontal",!0,!0,15,p,p,1e3,1],["papercut",16,0,0,600,"",null,null,16,p,p,1e3,2],["3dcurtain-horizontal",17,0,20,100,"vertical",!1,!0,17,l,l,500,7],["3dcurtain-vertical",18,0,10,100,"horizontal",!1,!0,18,l,l,500,5],["cubic",19,0,20,600,"horizontal",!1,!0,19,p,p,500,1],["cube",19,0,20,600,"horizontal",!1,!0,20,p,p,500,1],["flyin",20,0,4,600,"vertical",!1,!0,21,c,p,500,1],["turnoff",21,0,1,500,"horizontal",!1,!0,22,p,p,500,1],["incube",22,0,20,200,"horizontal",!1,!0,23,f,f,500,1],["cubic-horizontal",23,0,20,500,"vertical",!1,!0,24,h,h,500,1],["cube-horizontal",23,0,20,500,"vertical",!1,!0,25,h,h,500,1],["incube-horizontal",24,0,20,500,"vertical",!1,!0,26,f,f,500,1],["turnoff-vertical",25,0,1,200,"horizontal",!1,!0,27,f,f,500,1],["fadefromright",12,1,1,0,"horizontal",!0,!0,28,f,f,1e3,1],["fadefromleft",15,1,1,0,"horizontal",!0,!0,29,f,f,1e3,1],["fadefromtop",14,1,1,0,"horizontal",!0,!0,30,f,f,1e3,1],["fadefrombottom",13,1,1,0,"horizontal",!0,!0,31,f,f,1e3,1],["fadetoleftfadefromright",12,2,1,0,"horizontal",!0,!0,32,f,f,1e3,1],["fadetorightfadefromleft",15,2,1,0,"horizontal",!0,!0,33,f,f,1e3,1],["fadetobottomfadefromtop",14,2,1,0,"horizontal",!0,!0,34,f,f,1e3,1],["fadetotopfadefrombottom",13,2,1,0,"horizontal",!0,!0,35,f,f,1e3,1],["parallaxtoright",12,3,1,0,"horizontal",!0,!0,36,f,d,1500,1],["parallaxtoleft",15,3,1,0,"horizontal",!0,!0,37,f,d,1500,1],["parallaxtotop",14,3,1,0,"horizontal",!0,!0,38,f,r,1500,1],["parallaxtobottom",13,3,1,0,"horizontal",!0,!0,39,f,r,1500,1],["scaledownfromright",12,4,1,0,"horizontal",!0,!0,40,f,d,1e3,1],["scaledownfromleft",15,4,1,0,"horizontal",!0,!0,41,f,d,1e3,1],["scaledownfromtop",14,4,1,0,"horizontal",!0,!0,42,f,d,1e3,1],["scaledownfrombottom",13,4,1,0,"horizontal",!0,!0,43,f,d,1e3,1],["zoomout",13,5,1,0,"horizontal",!0,!0,44,f,d,1e3,1],["zoomin",13,6,1,0,"horizontal",!0,!0,45,f,d,1e3,1],["slidingoverlayup",27,0,1,0,"horizontal",!0,!0,47,l,s,2e3,1],["slidingoverlaydown",28,0,1,0,"horizontal",!0,!0,48,l,s,2e3,1],["slidingoverlayright",30,0,1,0,"horizontal",!0,!0,49,l,s,2e3,1],["slidingoverlayleft",29,0,1,0,"horizontal",!0,!0,50,l,s,2e3,1],["parallaxcirclesup",31,0,1,0,"horizontal",!0,!0,51,f,r,1500,1],["parallaxcirclesdown",32,0,1,0,"horizontal",!0,!0,52,f,r,1500,1],["parallaxcirclesright",33,0,1,0,"horizontal",!0,!0,53,f,r,1500,1],["parallaxcirclesleft",34,0,1,0,"horizontal",!0,!0,54,f,r,1500,1],["notransition",26,0,1,0,"horizontal",!0,null,46,f,d,1e3,1],["parallaxright",12,3,1,0,"horizontal",!0,!0,55,f,d,1500,1],["parallaxleft",15,3,1,0,"horizontal",!0,!0,56,f,d,1500,1],["parallaxup",14,3,1,0,"horizontal",!0,!0,57,f,r,1500,1],["parallaxdown",13,3,1,0,"horizontal",!0,!0,58,f,r,1500,1]]);e.duringslidechange=!0,e.testanims=!1,1==e.testanims&&(e.nexttesttransform=void 0===e.nexttesttransform?34:e.nexttesttransform+1,e.nexttesttransform=e.nexttesttransform>70?0:e.nexttesttransform,o=y[e.nexttesttransform][0],console.log(o+" "+e.nexttesttransform+" "+y[e.nexttesttransform][1]+" "+y[e.nexttesttransform][2])),jQuery.each(["parallaxcircles","slidingoverlay","slide","slideover","slideremove","parallax"],function(t,e){o==e+"horizontal"&&(o=1!=i?e+"left":e+"right"),o==e+"vertical"&&(o=1!=i?e+"up":e+"down")}),"random"==o&&(o=Math.round(Math.random()*y.length-1),o>y.length-1&&(o=y.length-1)),"random-static"==o&&(o=Math.round(Math.random()*u.length-1),o>u.length-1&&(o=u.length-1),o=u[o]),"random-premium"==o&&(o=Math.round(Math.random()*g.length-1),o>g.length-1&&(o=g.length-1),o=g[o]);var T=[12,13,14,15,16,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45];if(1==e.isJoomla&&void 0!=window.MooTools&&-1!=T.indexOf(o)){var z=Math.round(Math.random()*(g.length-2))+1;z>g.length-1&&(z=g.length-1),0==z&&(z=1),o=g[z]}n(),w>30&&(w=30),0>w&&(w=0);var L=new Object;return L.nexttrans=w,L.STA=y[m],L.specials=v,L},i=function(t,e){return void 0==e||jQuery.isNumeric(t)?t:void 0==t?t:t.split(",")[e]},n=function(t,e,n,r,s,l,d,h,f){function c(t,e,o,a,i){var n=t.find(".slot"),r=6,s=[2,1.2,.9,.7,.55,.42],l=t.width(),h=t.height();n.wrap('
');for(var c=0;r>c;c++)n.parent().clone(!1).appendTo(d);t.find(".slot-circle-wrapper").each(function(t){if(r>t){var a=jQuery(this),n=a.find(".slot"),d=l>h?s[t]*l:s[t]*h,c=d,p=0+(c/2-l/2),u=0+(d/2-h/2),g=0!=t?"50%":"0",w=31==o?h/2-d/2:32==o?h/2-d/2:h/2-d/2,v=33==o?l/2-c/2:34==o?l-c:l/2-c/2,m={scale:1,transformOrigo:"50% 50%",width:c+"px",height:d+"px",top:w+"px",left:v+"px",borderRadius:g},x={scale:1,top:h/2-d/2,left:l/2-c/2,ease:i},y=31==o?u:32==o?u:u,T=33==o?p:34==o?p+l/2:p,z={width:l,height:h,autoAlpha:1,top:y+"px",position:"absolute",left:T+"px"},L={top:u+"px",left:p+"px",ease:i},b=e,D=0;f.add(punchgs.TweenLite.fromTo(a,b,m,x),D),f.add(punchgs.TweenLite.fromTo(n,b,z,L),D),f.add(punchgs.TweenLite.fromTo(a,.001,{autoAlpha:0},{autoAlpha:1}),0)}})}var p=l.index(),u=s.index(),g=p>u?1:0;"arrow"==r.sc_indicator&&(g=r.sc_indicator_dir);var w=a(n,r,e,d,g),v=w.STA,m=w.specials,t=w.nexttrans;"on"==d.data("kenburns")&&(t=11);var x=s.data("nexttransid")||0,y=i(s.data("masterspeed"),x);y="default"===y?v[11]:"random"===y?Math.round(1e3*Math.random()+300):void 0!=y?parseInt(y,0):v[11],y=y>r.delay?r.delay:y,y+=v[4],r.slots=i(s.data("slotamount"),x),r.slots=void 0==r.slots||"default"==r.slots?v[12]:"random"==r.slots?Math.round(12*Math.random()+4):r.slots,r.slots=r.slots<1?"boxslide"==e?Math.round(6*Math.random()+3):"flyin"==e?Math.round(4*Math.random()+1):r.slots:r.slots,r.slots=(4==t||5==t||6==t)&&r.slots<3?3:r.slots,r.slots=0!=v[3]?Math.min(r.slots,v[3]):r.slots,r.slots=9==t?r.width/20:10==t?r.height/20:r.slots,r.rotate=i(s.data("rotate"),x),r.rotate=void 0==r.rotate||"default"==r.rotate?0:999==r.rotate||"random"==r.rotate?Math.round(360*Math.random()):r.rotate,r.rotate=!jQuery.support.transition||r.ie||r.ie9?0:r.rotate,11!=t&&(null!=v[7]&&o(h,r,v[7],v[5]),null!=v[6]&&o(d,r,v[6],v[5])),f.add(punchgs.TweenLite.set(d.find(".defaultvid"),{y:0,x:0,top:0,left:0,scale:1}),0),f.add(punchgs.TweenLite.set(h.find(".defaultvid"),{y:0,x:0,top:0,left:0,scale:1}),0),f.add(punchgs.TweenLite.set(d.find(".defaultvid"),{y:"+0%",x:"+0%"}),0),f.add(punchgs.TweenLite.set(h.find(".defaultvid"),{y:"+0%",x:"+0%"}),0),f.add(punchgs.TweenLite.set(d,{autoAlpha:1,y:"+0%",x:"+0%"}),0),f.add(punchgs.TweenLite.set(h,{autoAlpha:1,y:"+0%",x:"+0%"}),0),f.add(punchgs.TweenLite.set(d.parent(),{backgroundColor:"transparent"}),0),f.add(punchgs.TweenLite.set(h.parent(),{backgroundColor:"transparent"}),0);var T=i(s.data("easein"),x),z=i(s.data("easeout"),x);if(T="default"===T?v[9]||punchgs.Power2.easeInOut:T||v[9]||punchgs.Power2.easeInOut,z="default"===z?v[10]||punchgs.Power2.easeInOut:z||v[10]||punchgs.Power2.easeInOut,0==t){var L=Math.ceil(r.height/r.sloth),b=0;d.find(".slotslide").each(function(t){var e=jQuery(this);b+=1,b==L&&(b=0),f.add(punchgs.TweenLite.from(e,y/600,{opacity:0,top:0-r.sloth,left:0-r.slotw,rotation:r.rotate,force3D:"auto",ease:T}),(15*t+30*b)/1500)})}if(1==t){var D,A=0;d.find(".slotslide").each(function(t){var e=jQuery(this),o=Math.random()*y+300,a=500*Math.random()+200;o+a>D&&(D=a+a,A=t),f.add(punchgs.TweenLite.from(e,o/1e3,{autoAlpha:0,force3D:"auto",rotation:r.rotate,ease:T}),a/1e3)})}if(2==t){var j=new punchgs.TimelineLite;h.find(".slotslide").each(function(){var t=jQuery(this);j.add(punchgs.TweenLite.to(t,y/1e3,{left:r.slotw,ease:T,force3D:"auto",rotation:0-r.rotate}),0),f.add(j,0)}),d.find(".slotslide").each(function(){var t=jQuery(this);j.add(punchgs.TweenLite.from(t,y/1e3,{left:0-r.slotw,ease:T,force3D:"auto",rotation:r.rotate}),0),f.add(j,0)})}if(3==t){var j=new punchgs.TimelineLite;h.find(".slotslide").each(function(){var t=jQuery(this);j.add(punchgs.TweenLite.to(t,y/1e3,{top:r.sloth,ease:T,rotation:r.rotate,force3D:"auto",transformPerspective:600}),0),f.add(j,0)}),d.find(".slotslide").each(function(){var t=jQuery(this);j.add(punchgs.TweenLite.from(t,y/1e3,{top:0-r.sloth,rotation:r.rotate,ease:z,force3D:"auto",transformPerspective:600}),0),f.add(j,0)})}if(4==t||5==t){setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100);var k=y/1e3,j=new punchgs.TimelineLite;h.find(".slotslide").each(function(e){var o=jQuery(this),a=e*k/r.slots;5==t&&(a=(r.slots-e-1)*k/r.slots/1.5),j.add(punchgs.TweenLite.to(o,3*k,{transformPerspective:600,force3D:"auto",top:0+r.height,opacity:.5,rotation:r.rotate,ease:T,delay:a}),0),f.add(j,0)}),d.find(".slotslide").each(function(e){var o=jQuery(this),a=e*k/r.slots;5==t&&(a=(r.slots-e-1)*k/r.slots/1.5),j.add(punchgs.TweenLite.from(o,3*k,{top:0-r.height,opacity:.5,rotation:r.rotate,force3D:"auto",ease:punchgs.eo,delay:a}),0),f.add(j,0)})}if(6==t){r.slots<2&&(r.slots=2),r.slots%2&&(r.slots=r.slots+1);var j=new punchgs.TimelineLite;setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100),h.find(".slotslide").each(function(t){var e=jQuery(this);if(t+1r.delay&&(y=r.delay);var j=new punchgs.TimelineLite;setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100),h.find(".slotslide").each(function(){var t=jQuery(this).find("div");j.add(punchgs.TweenLite.to(t,y/1e3,{left:0-r.slotw/2+"px",top:0-r.height/2+"px",width:2*r.slotw+"px",height:2*r.height+"px",opacity:0,rotation:r.rotate,force3D:"auto",ease:T}),0),f.add(j,0)}),d.find(".slotslide").each(function(t){var e=jQuery(this).find("div");j.add(punchgs.TweenLite.fromTo(e,y/1e3,{left:0,top:0,opacity:0,transformPerspective:600},{left:0-t*r.slotw+"px",ease:z,force3D:"auto",top:"0px",width:r.width,height:r.height,opacity:1,rotation:0,delay:.1}),0),f.add(j,0)})}if(8==t){y=3*y,y>r.delay&&(y=r.delay);var j=new punchgs.TimelineLite;h.find(".slotslide").each(function(){var t=jQuery(this).find("div");j.add(punchgs.TweenLite.to(t,y/1e3,{left:0-r.width/2+"px",top:0-r.sloth/2+"px",width:2*r.width+"px",height:2*r.sloth+"px",force3D:"auto",ease:T,opacity:0,rotation:r.rotate}),0),f.add(j,0)}),d.find(".slotslide").each(function(t){var e=jQuery(this).find("div");j.add(punchgs.TweenLite.fromTo(e,y/1e3,{left:0,top:0,opacity:0,force3D:"auto"},{left:"0px",top:0-t*r.sloth+"px",width:d.find(".defaultimg").data("neww")+"px",height:d.find(".defaultimg").data("newh")+"px",opacity:1,ease:z,rotation:0}),0),f.add(j,0)})}if(9==t||10==t){var M=0;d.find(".slotslide").each(function(t){var e=jQuery(this);M++,f.add(punchgs.TweenLite.fromTo(e,y/1e3,{autoAlpha:0,force3D:"auto",transformPerspective:600},{autoAlpha:1,ease:T,delay:5*t/1e3}),0)})}if(27==t||28==t||29==t||30==t){var P=d.find(".slot"),Q=27==t||28==t?1:2,O=27==t||29==t?"-100%":"+100%",I=27==t||29==t?"+100%":"-100%",X=27==t||29==t?"-80%":"80%",Y=27==t||29==t?"80%":"-80%",S=27==t||29==t?"10%":"-10%",_={overwrite:"all"},C={autoAlpha:0,zIndex:1,force3D:"auto",ease:T},V={position:"inherit",autoAlpha:0,overwrite:"all",zIndex:1},Z={autoAlpha:1,force3D:"auto",ease:z},H={overwrite:"all",zIndex:2},J={autoAlpha:1,force3D:"auto",overwrite:"all",ease:T},N={overwrite:"all",zIndex:2},R={autoAlpha:1,force3D:"auto",ease:T},q=1==Q?"y":"x";_[q]="0px",C[q]=O,V[q]=S,Z[q]="0%",H[q]=I,J[q]=O,N[q]=X,R[q]=Y,P.append(''),f.add(punchgs.TweenLite.fromTo(h,y/1e3,_,C),0),f.add(punchgs.TweenLite.fromTo(d.find(".defaultimg"),y/2e3,V,Z),y/2e3),f.add(punchgs.TweenLite.fromTo(P,y/1e3,H,J),0),f.add(punchgs.TweenLite.fromTo(P.find(".slotslide div"),y/1e3,N,R),0)}if(31==t||32==t||33==t||34==t){y=6e3,T=punchgs.Power3.easeInOut;var B=y/1e3;mas=B-B/5,_nt=t,fy=31==_nt?"+100%":32==_nt?"-100%":"0%",fx=33==_nt?"+100%":34==_nt?"-100%":"0%",ty=31==_nt?"-100%":32==_nt?"+100%":"0%",tx=33==_nt?"-100%":34==_nt?"+100%":"0%",f.add(punchgs.TweenLite.fromTo(h,B-.2*B,{y:0,x:0},{y:ty,x:tx,ease:z}),.2*B),f.add(punchgs.TweenLite.fromTo(d,B,{y:fy,x:fx},{y:"0%",x:"0%",ease:T}),0),d.find(".slot").remove(),d.find(".defaultimg").clone().appendTo(d).addClass("slot"),c(d,B,_nt,"in",T)}if(11==t){m>4&&(m=0);var M=0,E=2==m?"#000000":3==m?"#ffffff":"transparent";switch(m){case 0:f.add(punchgs.TweenLite.fromTo(d,y/1e3,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:T}),0);break;case 1:f.add(punchgs.TweenLite.fromTo(d,y/1e3,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:T}),0),f.add(punchgs.TweenLite.fromTo(h,y/1e3,{autoAlpha:1},{autoAlpha:0,force3D:"auto",ease:T}),0);break;case 2:case 3:case 4:f.add(punchgs.TweenLite.set(h.parent(),{backgroundColor:E,force3D:"auto"}),0),f.add(punchgs.TweenLite.set(d.parent(),{backgroundColor:"transparent",force3D:"auto"}),0),f.add(punchgs.TweenLite.to(h,y/2e3,{autoAlpha:0,force3D:"auto",ease:T}),0),f.add(punchgs.TweenLite.fromTo(d,y/2e3,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:T}),y/2e3)}f.add(punchgs.TweenLite.set(d.find(".defaultimg"),{autoAlpha:1}),0),f.add(punchgs.TweenLite.set(h.find("defaultimg"),{autoAlpha:1}),0)}if(26==t){var M=0;y=0,f.add(punchgs.TweenLite.fromTo(d,y/1e3,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:T}),0),f.add(punchgs.TweenLite.to(h,y/1e3,{autoAlpha:0,force3D:"auto",ease:T}),0),f.add(punchgs.TweenLite.set(d.find(".defaultimg"),{autoAlpha:1}),0),f.add(punchgs.TweenLite.set(h.find("defaultimg"),{autoAlpha:1}),0)}if(12==t||13==t||14==t||15==t){y=y,y>r.delay&&(y=r.delay),setTimeout(function(){punchgs.TweenLite.set(h.find(".defaultimg"),{autoAlpha:0})},100);var F=r.width,G=r.height,K=d.find(".slotslide, .defaultvid"),U=0,W=0,$=1,tt=1,et=1,ot=y/1e3,at=ot;("fullwidth"==r.sliderLayout||"fullscreen"==r.sliderLayout)&&(F=K.width(),G=K.height()),12==t?U=F:15==t?U=0-F:13==t?W=G:14==t&&(W=0-G),1==m&&($=0),2==m&&($=0),3==m&&(ot=y/1300),(4==m||5==m)&&(tt=.6),6==m&&(tt=1.4),(5==m||6==m)&&(et=1.4,$=0,F=0,G=0,U=0,W=0),6==m&&(et=.6);7==m&&(F=0,G=0);var it=d.find(".slotslide"),nt=h.find(".slotslide, .defaultvid");if(f.add(punchgs.TweenLite.set(l,{zIndex:15}),0),f.add(punchgs.TweenLite.set(s,{zIndex:20}),0),8==m?(f.add(punchgs.TweenLite.set(l,{zIndex:20}),0),f.add(punchgs.TweenLite.set(s,{zIndex:15}),0),f.add(punchgs.TweenLite.set(it,{left:0,top:0,scale:1,opacity:1,rotation:0,ease:T,force3D:"auto"}),0)):f.add(punchgs.TweenLite.from(it,ot,{left:U,top:W,scale:et,opacity:$,rotation:r.rotate,ease:T,force3D:"auto"}),0),(4==m||5==m)&&(F=0,G=0),1!=m)switch(t){case 12:f.add(punchgs.TweenLite.to(nt,at,{left:0-F+"px",force3D:"auto",scale:tt,opacity:$,rotation:r.rotate,ease:z}),0);break;case 15:f.add(punchgs.TweenLite.to(nt,at,{left:F+"px",force3D:"auto",scale:tt,opacity:$,rotation:r.rotate,ease:z}),0);break;case 13:f.add(punchgs.TweenLite.to(nt,at,{top:0-G+"px",force3D:"auto",scale:tt,opacity:$,rotation:r.rotate,ease:z}),0);break;case 14:f.add(punchgs.TweenLite.to(nt,at,{top:G+"px",force3D:"auto",scale:tt,opacity:$,rotation:r.rotate,ease:z}),0)}}if(16==t){var j=new punchgs.TimelineLite;f.add(punchgs.TweenLite.set(l,{position:"absolute","z-index":20}),0),f.add(punchgs.TweenLite.set(s,{position:"absolute","z-index":15}),0),l.wrapInner('
'),l.find(".tp-half-one").clone(!0).appendTo(l).addClass("tp-half-two"),l.find(".tp-half-two").removeClass("tp-half-one");var F=r.width,G=r.height;"on"==r.autoHeight&&(G=n.height()),l.find(".tp-half-one .defaultimg").wrap('
'),l.find(".tp-half-two .defaultimg").wrap('
'),l.find(".tp-half-two .defaultimg").css({position:"absolute",top:"-50%"}),l.find(".tp-half-two .tp-caption").wrapAll('
'),f.add(punchgs.TweenLite.set(l.find(".tp-half-two"),{width:F,height:G,overflow:"hidden",zIndex:15,position:"absolute",top:G/2,left:"0px",transformPerspective:600,transformOrigin:"center bottom"}),0),f.add(punchgs.TweenLite.set(l.find(".tp-half-one"),{width:F,height:G/2,overflow:"visible",zIndex:10,position:"absolute",top:"0px",left:"0px",transformPerspective:600,transformOrigin:"center top"}),0);var rt=(l.find(".defaultimg"),Math.round(20*Math.random()-10)),st=Math.round(20*Math.random()-10),lt=Math.round(20*Math.random()-10),dt=.4*Math.random()-.2,ht=.4*Math.random()-.2,ft=1*Math.random()+1,ct=1*Math.random()+1,pt=.3*Math.random()+.3;f.add(punchgs.TweenLite.set(l.find(".tp-half-one"),{overflow:"hidden"}),0),f.add(punchgs.TweenLite.fromTo(l.find(".tp-half-one"),y/800,{width:F,height:G/2,position:"absolute",top:"0px",left:"0px",force3D:"auto",transformOrigin:"center top"},{scale:ft,rotation:rt,y:0-G-G/4,autoAlpha:0,ease:T}),0),f.add(punchgs.TweenLite.fromTo(l.find(".tp-half-two"),y/800,{width:F,height:G,overflow:"hidden",position:"absolute",top:G/2,left:"0px",force3D:"auto",transformOrigin:"center bottom"},{scale:ct,rotation:st,y:G+G/4,ease:T,autoAlpha:0,onComplete:function(){punchgs.TweenLite.set(l,{position:"absolute","z-index":15}),punchgs.TweenLite.set(s,{position:"absolute","z-index":20}),l.find(".tp-half-one").length>0&&(l.find(".tp-half-one .defaultimg").unwrap(),l.find(".tp-half-one .slotholder").unwrap()),l.find(".tp-half-two").remove()}}),0),j.add(punchgs.TweenLite.set(d.find(".defaultimg"),{autoAlpha:1}),0),null!=l.html()&&f.add(punchgs.TweenLite.fromTo(s,(y-200)/1e3,{scale:pt,x:r.width/4*dt,y:G/4*ht,rotation:lt,force3D:"auto",transformOrigin:"center center",ease:z},{autoAlpha:1,scale:1,x:0,y:0,rotation:0}),0),f.add(j,0)}if(17==t&&d.find(".slotslide").each(function(t){var e=jQuery(this);f.add(punchgs.TweenLite.fromTo(e,y/800,{opacity:0,rotationY:0,scale:.9,rotationX:-110,force3D:"auto",transformPerspective:600,transformOrigin:"center center"},{opacity:1,top:0,left:0,scale:1,rotation:0,rotationX:0,force3D:"auto",rotationY:0,ease:T,delay:.06*t}),0)}),18==t&&d.find(".slotslide").each(function(t){var e=jQuery(this);f.add(punchgs.TweenLite.fromTo(e,y/500,{autoAlpha:0,rotationY:110,scale:.9,rotationX:10,force3D:"auto",transformPerspective:600,transformOrigin:"center center"},{autoAlpha:1,top:0,left:0,scale:1,rotation:0,rotationX:0,force3D:"auto",rotationY:0,ease:T,delay:.06*t}),0)}),19==t||22==t){var j=new punchgs.TimelineLite;f.add(punchgs.TweenLite.set(l,{zIndex:20}),0),f.add(punchgs.TweenLite.set(s,{zIndex:20}),0),setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100);var ut=90,$=1,gt="center center ";1==g&&(ut=-90),19==t?(gt=gt+"-"+r.height/2,$=0):gt+=r.height/2,punchgs.TweenLite.set(n,{transformStyle:"flat",backfaceVisibility:"hidden",transformPerspective:600}),d.find(".slotslide").each(function(t){var e=jQuery(this);j.add(punchgs.TweenLite.fromTo(e,y/1e3,{transformStyle:"flat",backfaceVisibility:"hidden",left:0,rotationY:r.rotate,z:10,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:gt,rotationX:ut},{left:0,rotationY:0,top:0,z:0,scale:1,force3D:"auto",rotationX:0,delay:50*t/1e3,ease:T}),0),j.add(punchgs.TweenLite.to(e,.1,{autoAlpha:1,delay:50*t/1e3}),0),f.add(j)}),h.find(".slotslide").each(function(t){var e=jQuery(this),o=-90;1==g&&(o=90),j.add(punchgs.TweenLite.fromTo(e,y/1e3,{transformStyle:"flat",backfaceVisibility:"hidden",autoAlpha:1,rotationY:0,top:0,z:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:gt,rotationX:0},{autoAlpha:1,rotationY:r.rotate,top:0,z:10,scale:1,rotationX:o,delay:50*t/1e3,force3D:"auto",ease:z}),0),f.add(j)}),f.add(punchgs.TweenLite.set(l,{zIndex:18}),0)}if(20==t){if(setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100),1==g)var wt=-r.width,ut=80,gt="20% 70% -"+r.height/2;else var wt=r.width,ut=-80,gt="80% 70% -"+r.height/2;d.find(".slotslide").each(function(t){var e=jQuery(this),o=50*t/1e3;f.add(punchgs.TweenLite.fromTo(e,y/1e3,{left:wt,rotationX:40,z:-600,opacity:$,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:gt,transformStyle:"flat",rotationY:ut},{left:0,rotationX:0,opacity:1,top:0,z:0,scale:1,rotationY:0,delay:o,ease:T}),0)}),h.find(".slotslide").each(function(t){var e=jQuery(this),o=50*t/1e3;if(o=t>0?o+y/9e3:0,1!=g)var a=-r.width/2,i=30,n="20% 70% -"+r.height/2;else var a=r.width/2,i=-30,n="80% 70% -"+r.height/2;z=punchgs.Power2.easeInOut,f.add(punchgs.TweenLite.fromTo(e,y/1e3,{opacity:1,rotationX:0,top:0,z:0,scale:1,left:0,force3D:"auto",transformPerspective:600,transformOrigin:n,transformStyle:"flat",rotationY:0},{opacity:1,rotationX:20,top:0,z:-600,left:a,force3D:"auto",rotationY:i,delay:o,ease:z}),0)})}if(21==t||25==t){setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100);var ut=90,wt=-r.width,vt=-ut;if(1==g)if(25==t){var gt="center top 0";ut=r.rotate}else{var gt="left center 0";vt=r.rotate}else if(wt=r.width,ut=-90,25==t){var gt="center bottom 0";vt=-ut,ut=r.rotate}else{var gt="right center 0";vt=r.rotate}d.find(".slotslide").each(function(t){var e=jQuery(this),o=y/1.5/3;f.add(punchgs.TweenLite.fromTo(e,2*o/1e3,{left:0,transformStyle:"flat",rotationX:vt,z:0,autoAlpha:0,top:0,scale:1,force3D:"auto",transformPerspective:1200,transformOrigin:gt,rotationY:ut},{left:0,rotationX:0,top:0,z:0,autoAlpha:1,scale:1,rotationY:0,force3D:"auto",delay:o/1e3,ease:T}),0)}),1!=g?(wt=-r.width,ut=90,25==t?(gt="center top 0",vt=-ut,ut=r.rotate):(gt="left center 0",vt=r.rotate)):(wt=r.width,ut=-90,25==t?(gt="center bottom 0",vt=-ut,ut=r.rotate):(gt="right center 0",vt=r.rotate)),h.find(".slotslide").each(function(t){var e=jQuery(this);f.add(punchgs.TweenLite.fromTo(e,y/1e3,{left:0,transformStyle:"flat",rotationX:0,z:0,autoAlpha:1,top:0,scale:1,force3D:"auto",transformPerspective:1200,transformOrigin:gt,rotationY:0},{left:0,rotationX:vt,top:0,z:0,autoAlpha:1,force3D:"auto",scale:1,rotationY:ut,ease:z}),0)})}if(23==t||24==t){setTimeout(function(){h.find(".defaultimg").css({opacity:0})},100);var ut=-90,$=1,mt=0;if(1==g&&(ut=90),23==t){var gt="center center -"+r.width/2;$=0}else var gt="center center "+r.width/2;punchgs.TweenLite.set(n,{transformStyle:"preserve-3d",backfaceVisibility:"hidden",perspective:2500}),d.find(".slotslide").each(function(t){var e=jQuery(this);f.add(punchgs.TweenLite.fromTo(e,y/1e3,{left:mt,rotationX:r.rotate,force3D:"auto",opacity:$,top:0,scale:1,transformPerspective:1200,transformOrigin:gt,rotationY:ut},{left:0,rotationX:0,autoAlpha:1,top:0,z:0,scale:1,rotationY:0,delay:50*t/500,ease:T}),0)}),ut=90,1==g&&(ut=-90),h.find(".slotslide").each(function(e){var o=jQuery(this);f.add(punchgs.TweenLite.fromTo(o,y/1e3,{left:0,rotationX:0,top:0,z:0,scale:1,force3D:"auto",transformStyle:"flat",transformPerspective:1200,transformOrigin:gt,rotationY:0},{left:mt,rotationX:r.rotate,top:0,scale:1,rotationY:ut,delay:50*e/500,ease:z}),0),23==t&&f.add(punchgs.TweenLite.fromTo(o,y/2e3,{autoAlpha:1},{autoAlpha:0,delay:50*e/500+y/3e3,ease:z}),0)})}return f}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/revolution.extension.video.min.js b/server/www/static/www/revolution/js/extensions/revolution.extension.video.min.js new file mode 100644 index 0000000..6bdea30 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/revolution.extension.video.min.js @@ -0,0 +1,7 @@ +/******************************************** + * REVOLUTION 5.2 EXTENSION - VIDEO FUNCTIONS + * @version: 1.5 (03.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +!function(e){function t(e){return void 0==e?-1:jQuery.isNumeric(e)?e:e.split(":").length>1?60*parseInt(e.split(":")[0],0)+parseInt(e.split(":")[1],0):e}var a=jQuery.fn.revolution,i=a.is_mobile();jQuery.extend(!0,a,{preLoadAudio:function(e,t){e.find(".tp-audiolayer").each(function(){var e=jQuery(this),i={};0===e.find("audio").length&&(i.src=void 0!=e.data("videomp4")?e.data("videomp4"):"",i.pre=e.data("videopreload")||"",void 0===e.attr("id")&&e.attr("audio-layer-"+Math.round(199999*Math.random())),i.id=e.attr("id"),i.status="prepared",i.start=jQuery.now(),i.waittime=1e3*e.data("videopreloadwait")||5e3,("auto"==i.pre||"canplaythrough"==i.pre||"canplay"==i.pre||"progress"==i.pre)&&(void 0===t.audioqueue&&(t.audioqueue=[]),t.audioqueue.push(i),a.manageVideoLayer(e,t)))})},preLoadAudioDone:function(e,t,a){t.audioqueue&&t.audioqueue.length>0&&jQuery.each(t.audioqueue,function(t,i){e.data("videomp4")!==i.src||i.pre!==a&&"auto"!==i.pre||(i.status="loaded")})},resetVideo:function(e,d){switch(e.data("videotype")){case"youtube":e.data("player");try{if("on"==e.data("forcerewind")&&!i){var o=t(e.data("videostartat"));o=-1==o?0:o,void 0!=e.data("player")&&(e.data("player").seekTo(o),e.data("player").pauseVideo())}}catch(r){}0==e.find(".tp-videoposter").length&&punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});break;case"vimeo":var n=$f(e.find("iframe").attr("id"));try{if("on"==e.data("forcerewind")&&!i){var o=t(e.data("videostartat"));o=-1==o?0:o,n.api("seekTo",o),n.api("pause")}}catch(r){}0==e.find(".tp-videoposter").length&&punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});break;case"html5":if(i&&1==e.data("disablevideoonmobile"))return!1;var s="html5"==e.data("audio")?"audio":"video",l=e.find(s),u=l[0];if(punchgs.TweenLite.to(l,.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}),"on"==e.data("forcerewind")&&!e.hasClass("videoisplaying"))try{var o=t(e.data("videostartat"));u.currentTime=-1==o?0:o}catch(r){}("mute"==e.data("volume")||a.lastToggleState(e.data("videomutetoggledby"))||d.globalmute===!0)&&(u.muted=!0)}},isVideoMuted:function(e,t){var a=!1;switch(e.data("videotype")){case"youtube":try{var i=e.data("player");a=i.isMuted()}catch(d){}break;case"vimeo":try{$f(e.find("iframe").attr("id"));"mute"==e.data("volume")&&(a=!0)}catch(d){}break;case"html5":var o="html5"==e.data("audio")?"audio":"video",r=e.find(o),n=r[0];n.muted&&(a=!0)}return a},muteVideo:function(e,t){switch(e.data("videotype")){case"youtube":try{var a=e.data("player");a.mute()}catch(i){}break;case"vimeo":try{var d=$f(e.find("iframe").attr("id"));e.data("volume","mute"),d.api("setVolume",0)}catch(i){}break;case"html5":var o="html5"==e.data("audio")?"audio":"video",r=e.find(o),n=r[0];n.muted=!0}},unMuteVideo:function(e,t){if(t.globalmute!==!0)switch(e.data("videotype")){case"youtube":try{var a=e.data("player");a.unMute()}catch(i){}break;case"vimeo":try{var d=$f(e.find("iframe").attr("id"));e.data("volume","1"),d.api("setVolume",1)}catch(i){}break;case"html5":var o="html5"==e.data("audio")?"audio":"video",r=e.find(o),n=r[0];n.muted=!1}},stopVideo:function(e,t){switch(e.data("videotype")){case"youtube":try{var a=e.data("player");a.pauseVideo()}catch(i){}break;case"vimeo":try{var d=$f(e.find("iframe").attr("id"));d.api("pause")}catch(i){}break;case"html5":var o="html5"==e.data("audio")?"audio":"video",r=e.find(o),n=r[0];void 0!=r&&void 0!=n&&n.pause()}},playVideo:function(e,o){switch(clearTimeout(e.data("videoplaywait")),e.data("videotype")){case"youtube":if(0==e.find("iframe").length)e.append(e.data("videomarkup")),r(e,o,!0);else if(void 0!=e.data("player").playVideo){var n=t(e.data("videostartat")),s=e.data("player").getCurrentTime();1==e.data("nextslideatend-triggered")&&(s=-1,e.data("nextslideatend-triggered",0)),-1!=n&&n>s&&e.data("player").seekTo(n),e.data("player").playVideo()}else e.data("videoplaywait",setTimeout(function(){a.playVideo(e,o)},50));break;case"vimeo":if(0==e.find("iframe").length)e.append(e.data("videomarkup")),r(e,o,!0);else if(e.hasClass("rs-apiready")){var l=e.find("iframe").attr("id"),u=$f(l);void 0==u.api("play")?e.data("videoplaywait",setTimeout(function(){a.playVideo(e,o)},50)):setTimeout(function(){u.api("play");var a=t(e.data("videostartat")),i=e.data("currenttime");1==e.data("nextslideatend-triggered")&&(i=-1,e.data("nextslideatend-triggered",0)),-1!=a&&a>i&&u.api("seekTo",a)},510)}else e.data("videoplaywait",setTimeout(function(){a.playVideo(e,o)},50));break;case"html5":if(i&&1==e.data("disablevideoonmobile"))return!1;var p="html5"==e.data("audio")?"audio":"video",v=e.find(p),c=v[0],g=v.parent();if(1!=g.data("metaloaded"))d(c,"loadedmetadata",function(e){a.resetVideo(e,o),c.play();var i=t(e.data("videostartat")),d=c.currentTime;1==e.data("nextslideatend-triggered")&&(d=-1,e.data("nextslideatend-triggered",0)),-1!=i&&i>d&&(c.currentTime=i)}(e));else{c.play();var n=t(e.data("videostartat")),s=c.currentTime;1==e.data("nextslideatend-triggered")&&(s=-1,e.data("nextslideatend-triggered",0)),-1!=n&&n>s&&(c.currentTime=n)}}},isVideoPlaying:function(e,t){var a=!1;return void 0!=t.playingvideos&&jQuery.each(t.playingvideos,function(t,i){e.attr("id")==i.attr("id")&&(a=!0)}),a},removeMediaFromList:function(e,t){p(e,t)},prepareCoveredVideo:function(e,t,i){var d=i.find("iframe, video"),o=e.split(":")[0],r=e.split(":")[1],n=i.closest(".tp-revslider-slidesli"),s=n.width()/n.height(),l=o/r,u=s/l*100,p=l/s*100;s>l?punchgs.TweenLite.to(d,.001,{height:u+"%",width:"100%",top:-(u-100)/2+"%",left:"0px",position:"absolute"}):punchgs.TweenLite.to(d,.001,{width:p+"%",height:"100%",left:-(p-100)/2+"%",top:"0px",position:"absolute"}),d.hasClass("resizelistener")||(d.addClass("resizelistener"),jQuery(window).resize(function(){clearTimeout(d.data("resizelistener")),d.data("resizelistener",setTimeout(function(){a.prepareCoveredVideo(e,t,i)},30))}))},checkVideoApis:function(e,t,a){var i="https:"===location.protocol?"https":"http";if((void 0!=e.data("ytid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&(t.youtubeapineeded=!0),(void 0!=e.data("ytid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&0==a.addedyt){t.youtubestarttime=jQuery.now(),a.addedyt=1;var d=document.createElement("script");d.src="https://www.youtube.com/iframe_api";var o=document.getElementsByTagName("script")[0],r=!0;jQuery("head").find("*").each(function(){"https://www.youtube.com/iframe_api"==jQuery(this).attr("src")&&(r=!1)}),r&&o.parentNode.insertBefore(d,o)}if((void 0!=e.data("vimeoid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&(t.vimeoapineeded=!0),(void 0!=e.data("vimeoid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&0==a.addedvim){t.vimeostarttime=jQuery.now(),a.addedvim=1;var n=document.createElement("script"),o=document.getElementsByTagName("script")[0],r=!0;n.src=i+"://f.vimeocdn.com/js/froogaloop2.min.js",jQuery("head").find("*").each(function(){jQuery(this).attr("src")==i+"://f.vimeocdn.com/js/froogaloop2.min.js"&&(r=!1)}),r&&o.parentNode.insertBefore(n,o)}return a},manageVideoLayer:function(e,o,n,s){var u=e.data("videoattributes"),p=e.data("ytid"),v=e.data("vimeoid"),c="auto"===e.data("videopreload")||"canplay"===e.data("videopreload")||"canplaythrough"===e.data("videopreload")||"progress"===e.data("videopreload")?"auto":e.data("videopreload"),g=e.data("videomp4"),f=e.data("videowebm"),m=e.data("videoogv"),y=e.data("allowfullscreenvideo"),h=e.data("videocontrols"),b="http",w="loop"==e.data("videoloop")?"loop":"loopandnoslidestop"==e.data("videoloop")?"loop":"",k=void 0!=g||void 0!=f?"html5":void 0!=p&&String(p).length>1?"youtube":void 0!=v&&String(v).length>1?"vimeo":"none",T="html5"==e.data("audio")?"audio":"video",x="html5"==k&&0==e.find(T).length?"html5":"youtube"==k&&0==e.find("iframe").length?"youtube":"vimeo"==k&&0==e.find("iframe").length?"vimeo":"none";switch(e.data("videotype",k),x){case"html5":"controls"!=h&&(h="");var T="video";"html5"==e.data("audio")&&(T="audio",e.addClass("tp-audio-html5"));var L="<"+T+' style="object-fit:cover;background-size:cover;visible:hidden;width:100%; height:100%" class="" '+w+' preload="'+c+'">';"auto"==c&&(o.mediapreload=!0),void 0!=f&&"firefox"==a.get_browser().toLowerCase()&&(L=L+''),void 0!=g&&(L=L+''),void 0!=m&&(L=L+''),L=L+"";var V="";("true"===y||y===!0)&&(V='
'),"controls"==h&&(L+='
'+V+"
"),e.data("videomarkup",L),e.append(L),(i&&1==e.data("disablevideoonmobile")||a.isIE(8))&&e.find(T).remove(),e.find(T).each(function(t){var i=this,r=jQuery(this);r.parent().hasClass("html5vid")||r.wrap('
');var n=r.parent();1!=n.data("metaloaded")&&d(i,"loadedmetadata",function(e){l(e,o),a.resetVideo(e,o)}(e))});break;case"youtube":b="http","https:"===location.protocol&&(b="https"),"none"==h&&(u=u.replace("controls=1","controls=0"),-1==u.toLowerCase().indexOf("controls")&&(u+="&controls=0"));var C=t(e.data("videostartat")),P=t(e.data("videoendat"));-1!=C&&(u=u+"&start="+C),-1!=P&&(u=u+"&end="+P);var I=u.split("origin="+b+"://"),j="";I.length>1?(j=I[0]+"origin="+b+"://",self.location.href.match(/www/gi)&&!I[1].match(/www/gi)&&(j+="www."),j+=I[1]):j=u;var A="true"===y||y===!0?"allowfullscreen":"";e.data("videomarkup",'');break;case"vimeo":"https:"===location.protocol&&(b="https"),e.data("videomarkup",'')}var _=i&&"on"==e.data("noposteronmobile");if(void 0!=e.data("videoposter")&&e.data("videoposter").length>2&&!_)0==e.find(".tp-videoposter").length&&e.append('
'),0==e.find("iframe").length&&e.find(".tp-videoposter").click(function(){if(a.playVideo(e,o),i){if(1==e.data("disablevideoonmobile"))return!1;punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut})}});else{if(i&&1==e.data("disablevideoonmobile"))return!1;0!=e.find("iframe").length||"youtube"!=k&&"vimeo"!=k||(e.append(e.data("videomarkup")),r(e,o,!1))}"none"!=e.data("dottedoverlay")&&void 0!=e.data("dottedoverlay")&&1!=e.find(".tp-dottedoverlay").length&&e.append('
'),e.addClass("HasListener"),1==e.data("bgvideo")&&punchgs.TweenLite.set(e.find("video, iframe"),{autoAlpha:0})}});var d=function(e,t,a){e.addEventListener?e.addEventListener(t,a,!1):e.attachEvent(t,a,!1)},o=function(e,t,a){var i={};return i.video=e,i.videotype=t,i.settings=a,i},r=function(e,d,r){var l=e.find("iframe"),v="iframe"+Math.round(1e5*Math.random()+1),c=e.data("videoloop"),g="loopandnoslidestop"!=c;if(c="loop"==c||"loopandnoslidestop"==c,1==e.data("forcecover")){e.removeClass("fullscreenvideo").addClass("coverscreenvideo");var f=e.data("aspectratio");void 0!=f&&f.split(":").length>1&&a.prepareCoveredVideo(f,d,e)}if(1==e.data("bgvideo")){var f=e.data("aspectratio");void 0!=f&&f.split(":").length>1&&a.prepareCoveredVideo(f,d,e)}if(l.attr("id",v),r&&e.data("startvideonow",!0),1!==e.data("videolistenerexist"))switch(e.data("videotype")){case"youtube":var m=new YT.Player(v,{events:{onStateChange:function(i){var r=e.closest(".tp-simpleresponsive"),l=(e.data("videorate"),e.data("videostart"),s());if(i.data==YT.PlayerState.PLAYING)punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}),"mute"==e.data("volume")||a.lastToggleState(e.data("videomutetoggledby"))||d.globalmute===!0?m.mute():(m.unMute(),m.setVolume(parseInt(e.data("volume"),0)||75)),d.videoplaying=!0,u(e,d),g?d.c.trigger("stoptimer"):d.videoplaying=!1,d.c.trigger("revolution.slide.onvideoplay",o(m,"youtube",e.data())),a.toggleState(e.data("videotoggledby"));else{if(0==i.data&&c){var v=t(e.data("videostartat"));-1!=v&&m.seekTo(v),m.playVideo(),a.toggleState(e.data("videotoggledby"))}!l&&(0==i.data||2==i.data)&&"on"==e.data("showcoveronpause")&&e.find(".tp-videoposter").length>0&&(punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut})),-1!=i.data&&3!=i.data&&(d.videoplaying=!1,d.tonpause=!1,p(e,d),r.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(m,"youtube",e.data())),(void 0==d.currentLayerVideoIsPlaying||d.currentLayerVideoIsPlaying.attr("id")==e.attr("id"))&&a.unToggleState(e.data("videotoggledby"))),0==i.data&&1==e.data("nextslideatend")?(n(),e.data("nextslideatend-triggered",1),d.c.revnext(),p(e,d)):(p(e,d),d.videoplaying=!1,r.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(m,"youtube",e.data())),(void 0==d.currentLayerVideoIsPlaying||d.currentLayerVideoIsPlaying.attr("id")==e.attr("id"))&&a.unToggleState(e.data("videotoggledby")))}},onReady:function(a){var d=e.data("videorate");e.data("videostart");if(e.addClass("rs-apiready"),void 0!=d&&a.target.setPlaybackRate(parseFloat(d)),e.find(".tp-videoposter").unbind("click"),e.find(".tp-videoposter").click(function(){i||m.playVideo()}),e.data("startvideonow")){e.data("player").playVideo();var o=t(e.data("videostartat"));-1!=o&&e.data("player").seekTo(o)}e.data("videolistenerexist",1)}}});e.data("player",m);break;case"vimeo":for(var y,h=l.attr("src"),b={},w=h,k=/([^&=]+)=([^&]*)/g;y=k.exec(w);)b[decodeURIComponent(y[1])]=decodeURIComponent(y[2]);h=void 0!=b.player_id?h.replace(b.player_id,v):h+"&player_id="+v;try{h=h.replace("api=0","api=1")}catch(T){}h+="&api=1",l.attr("src",h);var m=e.find("iframe")[0],x=(jQuery("#"+v),$f(v));x.addEvent("ready",function(){if(e.addClass("rs-apiready"),x.addEvent("play",function(t){e.data("nextslidecalled",0),punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}),d.c.trigger("revolution.slide.onvideoplay",o(x,"vimeo",e.data())),d.videoplaying=!0,u(e,d),g?d.c.trigger("stoptimer"):d.videoplaying=!1,"mute"==e.data("volume")||a.lastToggleState(e.data("videomutetoggledby"))||d.globalmute===!0?x.api("setVolume","0"):x.api("setVolume",parseInt(e.data("volume"),0)/100||.75),a.toggleState(e.data("videotoggledby"))}),x.addEvent("playProgress",function(a){var i=t(e.data("videoendat"));if(e.data("currenttime",a.seconds),0!=i&&Math.abs(i-a.seconds)<.3&&i>a.seconds&&1!=e.data("nextslidecalled"))if(c){x.api("play");var o=t(e.data("videostartat"));-1!=o&&x.api("seekTo",o)}else 1==e.data("nextslideatend")&&(e.data("nextslideatend-triggered",1),e.data("nextslidecalled",1),d.c.revnext()),x.api("pause")}),x.addEvent("finish",function(t){p(e,d),d.videoplaying=!1,d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(x,"vimeo",e.data())),1==e.data("nextslideatend")&&(e.data("nextslideatend-triggered",1),d.c.revnext()),(void 0==d.currentLayerVideoIsPlaying||d.currentLayerVideoIsPlaying.attr("id")==e.attr("id"))&&a.unToggleState(e.data("videotoggledby"))}),x.addEvent("pause",function(t){e.find(".tp-videoposter").length>0&&"on"==e.data("showcoveronpause")&&(punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find("iframe"),.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut})),d.videoplaying=!1,d.tonpause=!1,p(e,d),d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(x,"vimeo",e.data())),(void 0==d.currentLayerVideoIsPlaying||d.currentLayerVideoIsPlaying.attr("id")==e.attr("id"))&&a.unToggleState(e.data("videotoggledby"))}),e.find(".tp-videoposter").unbind("click"),e.find(".tp-videoposter").click(function(){return i?void 0:(x.api("play"),!1)}),e.data("startvideonow")){x.api("play");var r=t(e.data("videostartat"));-1!=r&&x.api("seekTo",r)}e.data("videolistenerexist",1)})}else{var L=t(e.data("videostartat"));switch(e.data("videotype")){case"youtube":r&&(e.data("player").playVideo(),-1!=L&&e.data("player").seekTo());break;case"vimeo":if(r){var x=$f(e.find("iframe").attr("id"));x.api("play"),-1!=L&&x.api("seekTo",L)}}}},n=function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()},s=function(){if(void 0!==window.fullScreen)return window.fullScreen;var t=5;return e.browser.webkit&&/Apple Computer/.test(navigator.vendor)&&(t=42),screen.width==window.innerWidth&&Math.abs(screen.height-window.innerHeight) '),e.find("video, .tp-poster, .tp-video-play-button").click(function(){e.hasClass("videoisplaying")?g.pause():g.play()})),1==e.data("forcecover")||e.hasClass("fullscreenvideo")||1==e.data("bgvideo"))if(1==e.data("forcecover")||1==e.data("bgvideo")){f.addClass("fullcoveredvideo");var h=e.data("aspectratio")||"4:3";a.prepareCoveredVideo(h,r,e)}else f.addClass("fullscreenvideo");var b=e.find(".tp-vid-play-pause")[0],w=e.find(".tp-vid-mute")[0],k=e.find(".tp-vid-full-screen")[0],T=e.find(".tp-seek-bar")[0],x=e.find(".tp-volume-bar")[0];void 0!=b&&d(b,"click",function(){1==g.paused?g.play():g.pause()}),void 0!=w&&d(w,"click",function(){0==g.muted?(g.muted=!0,w.innerHTML="Unmute"):(g.muted=!1,w.innerHTML="Mute")}),void 0!=k&&k&&d(k,"click",function(){g.requestFullscreen?g.requestFullscreen():g.mozRequestFullScreen?g.mozRequestFullScreen():g.webkitRequestFullscreen&&g.webkitRequestFullscreen()}),void 0!=T&&(d(T,"change",function(){var e=g.duration*(T.value/100);g.currentTime=e}),d(T,"mousedown",function(){e.addClass("seekbardragged"),g.pause()}),d(T,"mouseup",function(){e.removeClass("seekbardragged"),g.play()})),d(g,"canplaythrough",function(){a.preLoadAudioDone(e,r,"canplaythrough")}),d(g,"canplay",function(){a.preLoadAudioDone(e,r,"canplay")}),d(g,"progress",function(){a.preLoadAudioDone(e,r,"progress")}),d(g,"timeupdate",function(){var a=100/g.duration*g.currentTime,i=t(e.data("videoendat")),d=g.currentTime;if(void 0!=T&&(T.value=a),0!=i&&-1!=i&&Math.abs(i-d)<=.3&&i>d&&1!=e.data("nextslidecalled"))if(m){g.play();var o=t(e.data("videostartat"));-1!=o&&(g.currentTime=o)}else 1==e.data("nextslideatend")&&(e.data("nextslideatend-triggered",1),e.data("nextslidecalled",1),r.just_called_nextslide_at_htmltimer=!0,r.c.revnext(),setTimeout(function(){r.just_called_nextslide_at_htmltimer=!1},1e3)),g.pause()}),void 0!=x&&d(x,"change",function(){g.volume=x.value}),d(g,"play",function(){e.data("nextslidecalled",0);var t=e.data("volume");t=void 0!=t&&"mute"!=t?parseFloat(t)/100:t,r.globalmute===!0?g.muted=!0:g.muted=!1,t>1&&(t/=100),"mute"==t?g.muted=!0:void 0!=t&&(g.volume=t),e.addClass("videoisplaying");var i="html5"==e.data("audio")?"audio":"video";u(e,r),y&&"audio"!=i?(r.videoplaying=!0,r.c.trigger("stoptimer"),r.c.trigger("revolution.slide.onvideoplay",o(g,"html5",e.data()))):(r.videoplaying=!1,"audio"!=i&&r.c.trigger("starttimer"),r.c.trigger("revolution.slide.onvideostop",o(g,"html5",e.data()))),punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find(i),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});var d=e.find(".tp-vid-play-pause")[0],n=e.find(".tp-vid-mute")[0];void 0!=d&&(d.innerHTML="Pause"),void 0!=n&&g.muted&&(n.innerHTML="Unmute"),a.toggleState(e.data("videotoggledby"))}),d(g,"pause",function(){var t="html5"==e.data("audio")?"audio":"video",i=s();!i&&e.find(".tp-videoposter").length>0&&"on"==e.data("showcoveronpause")&&!e.hasClass("seekbardragged")&&(punchgs.TweenLite.to(e.find(".tp-videoposter"),.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(e.find(t),.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut})),e.removeClass("videoisplaying"),r.videoplaying=!1,p(e,r),"audio"!=t&&r.c.trigger("starttimer"),r.c.trigger("revolution.slide.onvideostop",o(g,"html5",e.data()));var d=e.find(".tp-vid-play-pause")[0];void 0!=d&&(d.innerHTML="Play"),(void 0==r.currentLayerVideoIsPlaying||r.currentLayerVideoIsPlaying.attr("id")==e.attr("id"))&&a.unToggleState(e.data("videotoggledby"))}),d(g,"ended",function(){n(),p(e,r),r.videoplaying=!1,p(e,r),"audio"!=v&&r.c.trigger("starttimer"),r.c.trigger("revolution.slide.onvideostop",o(g,"html5",e.data())),1==e.data("nextslideatend")&&(1==!r.just_called_nextslide_at_htmltimer&&(e.data("nextslideatend-triggered",1),r.c.revnext(),r.just_called_nextslide_at_htmltimer=!0),setTimeout(function(){r.just_called_nextslide_at_htmltimer=!1},1500)),e.removeClass("videoisplaying")})},u=function(e,t){void 0==t.playingvideos&&(t.playingvideos=new Array),e.data("stopallvideos")&&void 0!=t.playingvideos&&t.playingvideos.length>0&&(t.lastplayedvideos=jQuery.extend(!0,[],t.playingvideos),jQuery.each(t.playingvideos,function(e,i){a.stopVideo(i,t)})),t.playingvideos.push(e),t.currentLayerVideoIsPlaying=e},p=function(e,t){void 0!=t.playingvideos&&jQuery.inArray(e,t.playingvideos)>=0&&t.playingvideos.splice(jQuery.inArray(e,t.playingvideos),1)}}(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/index.php b/server/www/static/www/revolution/js/extensions/source/index.php new file mode 100644 index 0000000..e69de29 diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.actions.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.actions.js new file mode 100644 index 0000000..b2edaac --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.actions.js @@ -0,0 +1,332 @@ +/******************************************** + * REVOLUTION 5.2 EXTENSION - ACTIONS + * @version: 1.3.1 (03.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ + +(function($) { + +var _R = jQuery.fn.revolution, + _ISM = _R.is_mobile(); + +/////////////////////////////////////////// +// EXTENDED FUNCTIONS AVAILABLE GLOBAL // +/////////////////////////////////////////// +jQuery.extend(true,_R, { + checkActions : function(_nc,opt,as) { + checkActions_intern(_nc,opt,as); + } +}); + +////////////////////////////////////////// +// - INITIALISATION OF ACTIONS - // +////////////////////////////////////////// +var checkActions_intern = function(_nc,opt,as) { +if (as) + jQuery.each(as,function(i,a) { + a.delay = parseInt(a.delay,0)/1000; + _nc.addClass("noSwipe"); + + // LISTEN TO ESC TO EXIT FROM FULLSCREEN + if (!opt.fullscreen_esclistener) { + if (a.action=="exitfullscreen" || a.action=="togglefullscreen") { + jQuery(document).keyup(function(e) { + if (e.keyCode == 27 && jQuery('#rs-go-fullscreen').length>0) + _nc.trigger(a.event); + }); + opt.fullscreen_esclistener = true; + } + } + + var tnc = a.layer == "backgroundvideo" ? jQuery(".rs-background-video-layer") : a.layer == "firstvideo" ? jQuery(".tp-revslider-slidesli").find('.tp-videolayer') : jQuery("#"+a.layer); + // COLLECT ALL TOGGLE TRIGGER TO CONNECT THEM WITH TRIGGERED LAYER + switch (a.action) { + case "togglevideo": + jQuery.each(tnc,function(i,_tnc) { + _tnc = jQuery(_tnc); + var videotoggledby = _tnc.data('videotoggledby'); + if (videotoggledby == undefined) + videotoggledby = new Array(); + videotoggledby.push(_nc); + _tnc.data('videotoggledby',videotoggledby) + }); + break; + case "togglelayer": + jQuery.each(tnc,function(i,_tnc) { + _tnc = jQuery(_tnc); + var layertoggledby = _tnc.data('layertoggledby'); + if (layertoggledby == undefined) + layertoggledby = new Array(); + layertoggledby.push(_nc); + _tnc.data('layertoggledby',layertoggledby) + }); + break; + case "toggle_mute_video": + jQuery.each(tnc,function(i,_tnc) { + _tnc = jQuery(_tnc); + var videomutetoggledby = _tnc.data('videomutetoggledby'); + if (videomutetoggledby == undefined) + videomutetoggledby = new Array(); + videomutetoggledby.push(_nc); + _tnc.data('videomutetoggledby',videomutetoggledby); + }); + break; + case "toggle_global_mute_video": + jQuery.each(tnc,function(i,_tnc) { + _tnc = jQuery(_tnc); + var videomutetoggledby = _tnc.data('videomutetoggledby'); + if (videomutetoggledby == undefined) + videomutetoggledby = new Array(); + videomutetoggledby.push(_nc); + _tnc.data('videomutetoggledby',videomutetoggledby); + }); + break; + case "toggleslider": + if (opt.slidertoggledby == undefined) opt.slidertoggledby = new Array(); + opt.slidertoggledby.push(_nc); + break; + case "togglefullscreen": + if (opt.fullscreentoggledby == undefined) opt.fullscreentoggledby = new Array(); + opt.fullscreentoggledby.push(_nc); + break; + + } + + _nc.on(a.event,function() { + var tnc = a.layer == "backgroundvideo" ? jQuery(".active-revslide .slotholder .rs-background-video-layer") : a.layer == "firstvideo" ? jQuery(".active-revslide .tp-videolayer").first() : jQuery("#"+a.layer); + + if (a.action=="stoplayer" || a.action=="togglelayer" || a.action=="startlayer") { + if (tnc.length>0) + if (a.action=="startlayer" || (a.action=="togglelayer" && tnc.data('animdirection')!="in")) { + tnc.data('animdirection',"in"); + var otl = tnc.data('timeline_out'), + base_offsetx = opt.sliderType==="carousel" ? 0 : opt.width/2 - (opt.gridwidth[opt.curWinRange]*opt.bw)/2, + base_offsety=0; + if (otl!=undefined) otl.pause(0).kill(); + if (_R.animateSingleCaption) _R.animateSingleCaption(tnc,opt,base_offsetx,base_offsety,0,false,true); + var tl = tnc.data('timeline'); + tnc.data('triggerstate',"on"); + _R.toggleState(tnc.data('layertoggledby')); + punchgs.TweenLite.delayedCall(a.delay,function() { + tl.play(0); + },[tl]); + } else + + if (a.action=="stoplayer" || (a.action=="togglelayer" && tnc.data('animdirection')!="out")) { + tnc.data('animdirection',"out"); + tnc.data('triggered',true); + tnc.data('triggerstate',"off"); + if (_R.stopVideo) _R.stopVideo(tnc,opt); + if (_R.endMoveCaption) + punchgs.TweenLite.delayedCall(a.delay,_R.endMoveCaption,[tnc,null,null,opt]); + _R.unToggleState(tnc.data('layertoggledby')) + } + } else { + if (_ISM && (a.action=='playvideo' || a.action=='stopvideo' || a.action=='togglevideo' || a.action=='mutevideo' || a.action=='unmutevideo' || a.action=='toggle_mute_video' || a.action=='toggle_global_mute_video')) { + actionSwitches(tnc,opt,a,_nc); + } else { + punchgs.TweenLite.delayedCall(a.delay,function() { + actionSwitches(tnc,opt,a,_nc); + },[tnc,opt,a,_nc]); + } + } + }); + switch (a.action) { + case "togglelayer": + case "startlayer": + case "playlayer": + case "stoplayer": + var tnc = jQuery("#"+a.layer); + if (tnc.data('start')!="bytrigger") { + tnc.data('triggerstate',"on"); + tnc.data('animdirection',"in"); + } + break; + } + }) +} + + +var actionSwitches = function(tnc,opt,a,_nc) { + switch (a.action) { + case "scrollbelow": + + _nc.addClass("tp-scrollbelowslider"); + _nc.data('scrolloffset',a.offset); + _nc.data('scrolldelay',a.delay); + var off=getOffContH(opt.fullScreenOffsetContainer) || 0, + aof = parseInt(a.offset,0) || 0; + off = off - aof || 0; + jQuery('body,html').animate({scrollTop:(opt.c.offset().top+(jQuery(opt.li[0]).height())-off)+"px"},{duration:400}); + break; + case "callback": + eval(a.callback); + break; + case "jumptoslide": + switch (a.slide.toLowerCase()) { + case "+1": + case "next": + opt.sc_indicator="arrow"; + _R.callingNewSlide(opt,opt.c,1); + break; + case "previous": + case "prev": + case "-1": + opt.sc_indicator="arrow"; + _R.callingNewSlide(opt,opt.c,-1); + break; + default: + var ts = jQuery.isNumeric(a.slide) ? parseInt(a.slide,0) : a.slide; + _R.callingNewSlide(opt,opt.c,ts); + break; + } + break; + case "simplelink": + window.open(a.url,a.target); + break; + case "toggleslider": + opt.noloopanymore=0; + if (opt.sliderstatus=="playing") { + opt.c.revpause(); + opt.forcepause_viatoggle = true; + _R.unToggleState(opt.slidertoggledby); + } + else { + opt.forcepause_viatoggle = false; + opt.c.revresume(); + _R.toggleState(opt.slidertoggledby); + } + break; + case "pauseslider": + opt.c.revpause(); + _R.unToggleState(opt.slidertoggledby); + break; + case "playslider": + opt.noloopanymore=0; + opt.c.revresume(); + _R.toggleState(opt.slidertoggledby); + break; + case "playvideo": + + if (tnc.length>0) + _R.playVideo(tnc,opt); + break; + case "stopvideo": + if (tnc.length>0) + if (_R.stopVideo) _R.stopVideo(tnc,opt); + break; + case "togglevideo": + if (tnc.length>0) + if (!_R.isVideoPlaying(tnc,opt)) + _R.playVideo(tnc,opt); + else + if (_R.stopVideo) _R.stopVideo(tnc,opt); + break; + case "mutevideo": + if (tnc.length>0) + _R.muteVideo(tnc,opt); + break; + case "unmutevideo": + if (tnc.length>0) + if (_R.unMuteVideo) _R.unMuteVideo(tnc,opt); + break; + case "toggle_mute_video": + + if (tnc.length>0) + if (_R.isVideoMuted(tnc,opt)) { + _R.unMuteVideo(tnc,opt); + } else { + if (_R.muteVideo) _R.muteVideo(tnc,opt); + } + _nc.toggleClass('rs-toggle-content-active'); + break; + case "toggle_global_mute_video": + if (_nc.hasClass("rs-toggle-content-active")) { + opt.globalmute = false; + if (opt.playingvideos != undefined && opt.playingvideos.length>0) { + jQuery.each(opt.playingvideos,function(i,_nc) { + if (_R.unMuteVideo) _R.unMuteVideo(_nc,opt); + }); + } + + } else { + opt.globalmute = true; + if (opt.playingvideos != undefined && opt.playingvideos.length>0) { + jQuery.each(opt.playingvideos,function(i,_nc) { + if (_R.muteVideo) _R.muteVideo(_nc,opt); + }); + } + } + _nc.toggleClass('rs-toggle-content-active'); + break; + case "simulateclick": + if (tnc.length>0) tnc.click(); + break; + case "toggleclass": + if (tnc.length>0) + if (!tnc.hasClass(a.classname)) + tnc.addClass(a.classname); + else + tnc.removeClass(a.classname); + break; + case "gofullscreen": + case "exitfullscreen": + case "togglefullscreen": + + if (jQuery('#rs-go-fullscreen').length>0 && (a.action=="togglefullscreen" || a.action=="exitfullscreen")) { + jQuery('#rs-go-fullscreen').appendTo(jQuery('#rs-was-here')); + var paw = opt.c.closest('.forcefullwidth_wrapper_tp_banner').length>0 ? opt.c.closest('.forcefullwidth_wrapper_tp_banner') : opt.c.closest('.rev_slider_wrapper'); + paw.unwrap(); + paw.unwrap(); + opt.minHeight = opt.oldminheight; + opt.infullscreenmode = false; + opt.c.revredraw(); + if (opt.playingvideos != undefined && opt.playingvideos.length>0) { + jQuery.each(opt.playingvideos,function(i,_nc) { + _R.playVideo(_nc,opt); + }); + } + _R.unToggleState(opt.fullscreentoggledby); + + } else + if (jQuery('#rs-go-fullscreen').length==0 && (a.action=="togglefullscreen" || a.action=="gofullscreen")) { + var paw = opt.c.closest('.forcefullwidth_wrapper_tp_banner').length>0 ? opt.c.closest('.forcefullwidth_wrapper_tp_banner') : opt.c.closest('.rev_slider_wrapper'); + paw.wrap('
'); + var gf = jQuery('#rs-go-fullscreen'); + gf.appendTo(jQuery('body')); + gf.css({position:'fixed',width:'100%',height:'100%',top:'0px',left:'0px',zIndex:'9999999',background:'#ffffff'}); + opt.oldminheight = opt.minHeight; + opt.minHeight = jQuery(window).height(); + opt.infullscreenmode = true; + opt.c.revredraw(); + if (opt.playingvideos != undefined && opt.playingvideos.length>0) { + jQuery.each(opt.playingvideos,function(i,_nc) { + _R.playVideo(_nc,opt); + }); + } + _R.toggleState(opt.fullscreentoggledby); + } + + break; + } +} + +var getOffContH = function(c) { + if (c==undefined) return 0; + if (c.split(',').length>1) { + oc = c.split(","); + var a =0; + if (oc) + jQuery.each(oc,function(index,sc) { + if (jQuery(sc).length>0) + a = a + jQuery(sc).outerHeight(true); + }); + return a; + } else { + return jQuery(c).height(); + } + return 0; +} + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.carousel.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.carousel.js new file mode 100644 index 0000000..32594a3 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.carousel.js @@ -0,0 +1,346 @@ +/******************************************** + * REVOLUTION 5.0 EXTENSION - CAROUSEL + * @version: 1.0.2 (01.10.2015) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +(function($) { + +var _R = jQuery.fn.revolution; + + /////////////////////////////////////////// + // EXTENDED FUNCTIONS AVAILABLE GLOBAL // + /////////////////////////////////////////// +jQuery.extend(true,_R, { + + // CALCULATE CAROUSEL POSITIONS + prepareCarousel : function(opt,a,direction) { + + direction = opt.carousel.lastdirection = dircheck(direction,opt.carousel.lastdirection); + setCarouselDefaults(opt); + + opt.carousel.slide_offset_target = getActiveCarouselOffset(opt); + + if (a==undefined) + _R.carouselToEvalPosition(opt,direction); + else + animateCarousel(opt,direction,false); + + }, + + // MOVE FORWARDS/BACKWARDS DEPENDING ON THE OFFSET TO GET CAROUSEL IN EVAL POSITION AGAIN + carouselToEvalPosition : function(opt,direction) { + + var _ = opt.carousel; + direction = _.lastdirection = dircheck(direction,_.lastdirection); + + var bb = _.horizontal_align==="center" ? ((_.wrapwidth/2-_.slide_width/2) - _.slide_globaloffset) / _.slide_width : (0 - _.slide_globaloffset) / _.slide_width, + fi = _R.simp(bb,opt.slideamount,false); + + var cm = fi - Math.floor(fi), + calc = 0, + mc = -1 * (Math.ceil(fi) - fi), + mf = -1 * (Math.floor(fi) - fi); + + calc = cm>=0.3 && direction==="left" || cm>=0.7 && direction==="right" ? mc : cm<0.3 && direction==="left" || cm<0.7 && direction==="right" ? mf : calc; + calc = _.infinity==="off" ? fi<0 ? fi : bb>opt.slideamount-1 ? bb-(opt.slideamount-1) : calc : calc; + + _.slide_offset_target = calc * _.slide_width; + // LONGER "SMASH" +/- 1 to Calc + + if (Math.abs(_.slide_offset_target) !==0) + animateCarousel(opt,direction,true); + else { + _R.organiseCarousel(opt,direction); + } + }, + + // ORGANISE THE CAROUSEL ELEMENTS IN POSITION AND TRANSFORMS + organiseCarousel : function(opt,direction,setmaind,unli) { + + direction = direction === undefined || direction=="down" || direction=="up" || direction===null || jQuery.isEmptyObject(direction) ? "left" : direction; + var _ = opt.carousel, + slidepositions = new Array(), + len = _.slides.length, + leftlimit = _.horizontal_align ==="right" ? leftlimit = opt.width : 0; + + + for (var i=0;i_.wrapwidth-_.inneroffset && direction=="right" ? _.slide_offset - ((_.slides.length-i)*_.slide_width) : pos; + pos = pos<0-_.inneroffset-_.slide_width && direction=="left" ? pos + _.maxwidth : pos; + } + slidepositions[i] = pos; + } + var maxd = 999; + + // SECOND RUN FOR NEGATIVE ADJUSTMENETS + if (_.slides) + jQuery.each(_.slides,function(i,slide) { + var pos = slidepositions[i]; + if (_.infinity==="on") { + + pos = pos>_.wrapwidth-_.inneroffset && direction==="left" ? slidepositions[0] - ((len-i)*_.slide_width) : pos; + pos = pos<0-_.inneroffset-_.slide_width ? direction=="left" ? pos + _.maxwidth : direction==="right" ? slidepositions[len-1] + ((i+1)*_.slide_width) : pos : pos; + } + + var tr= new Object(); + + tr.left = pos + _.inneroffset; + + // CHCECK DISTANCES FROM THE CURRENT FAKE FOCUS POSITION + var d = _.horizontal_align==="center" ? (Math.abs(_.wrapwidth/2) - (tr.left+_.slide_width/2))/_.slide_width : (_.inneroffset - tr.left)/_.slide_width, + offsdir = d<0 ? -1:1, + ha = _.horizontal_align==="center" ? 2 : 1; + + + if ((setmaind && Math.abs(d)0 ? 1-d : Math.abs(d)>_.maxVisibleItems-1 ? 1- (Math.abs(d)-(_.maxVisibleItems-1)) : 1; + break; + case "right": + tr.autoAlpha = d>-1 && d<0 ? 1-Math.abs(d) : d>_.maxVisibleItems-1 ? 1- (Math.abs(d)-(_.maxVisibleItems-1)) : 1; + break; + } + else + tr.autoAlpha = Math.abs(d)0) { + if (_.vary_scale==="on") { + tr.scale = 1- Math.abs(((_.minScale/100/Math.ceil(_.maxVisibleItems/ha))*d)); + var sx = (_.slide_width - (_.slide_width*tr.scale)) *Math.abs(d); + } else { + tr.scale = d>=1 || d<=-1 ? 1 - _.minScale/100 : (100-( _.minScale*Math.abs(d)))/100; + var sx=(_.slide_width - (_.slide_width*(1 - _.minScale/100)))*Math.abs(d); + } + } + + // ROTATION FUNCTIONS + if (_.maxRotation!==undefined && Math.abs(_.maxRotation)!=0) { + if (_.vary_rotation ==="on") { + tr.rotationY = Math.abs(_.maxRotation) - Math.abs((1-Math.abs(((1/Math.ceil(_.maxVisibleItems/ha))*d))) * _.maxRotation); + tr.autoAlpha = Math.abs(tr.rotationY)>90 ? 0 : tr.autoAlpha; + } else { + tr.rotationY = d>=1 || d<=-1 ? _.maxRotation : Math.abs(d)*_.maxRotation; + } + tr.rotationY = d<0 ? tr.rotationY*-1 : tr.rotationY; + } + + // SET SPACES BETWEEN ELEMENTS + tr.x = (-1*_.space) * d; + + tr.left = Math.floor(tr.left); + tr.x = Math.floor(tr.x); + + // ADD EXTRA SPACE ADJUSTEMENT IF COVER MODE IS SELECTED + tr.scale !== undefined ? d<0 ? tr.x-sx :tr.x+sx : tr.x; + + // ZINDEX ADJUSTEMENT + tr.zIndex = Math.round(100-Math.abs(d*5)); + + // TRANSFORM STYLE + tr.transformStyle = opt.parallax.type!="3D" && opt.parallax.type!="3d" ? "flat" : "preserve-3d"; + + + + // ADJUST TRANSFORMATION OF SLIDE + punchgs.TweenLite.set(slide,tr); + }); + + if (unli) { + opt.c.find('.next-revslide').removeClass("next-revslide"); + jQuery(_.slides[_.focused]).addClass("next-revslide"); + opt.c.trigger("revolution.nextslide.waiting"); + } + + var ll = _.wrapwidth/2 - _.slide_offset , + rl = _.maxwidth+_.slide_offset-_.wrapwidth/2; + } + +}); + +/************************************************** + - CAROUSEL FUNCTIONS - +***************************************************/ + +var defineCarouselElements = function(opt) { + var _ = opt.carousel; + + _.infbackup = _.infinity; + _.maxVisiblebackup = _.maxVisibleItems; + // SET DEFAULT OFFSETS TO 0 + _.slide_globaloffset = "none"; + _.slide_offset = 0; + // SET UL REFERENCE + _.wrap = opt.c.find('.tp-carousel-wrapper'); + // COLLECT SLIDES + _.slides = opt.c.find('.tp-revslider-slidesli'); + + // SET PERSPECTIVE IF ROTATION IS ADDED + if (_.maxRotation!==0) + if (opt.parallax.type!="3D" && opt.parallax.type!="3d") + punchgs.TweenLite.set(_.wrap,{perspective:1200,transformStyle:"flat"}); + else + punchgs.TweenLite.set(_.wrap,{perspective:1600,transformStyle:"preserve-3d"}); + + if (_.border_radius!==undefined && parseInt(_.border_radius,0) >0) { + punchgs.TweenLite.set(opt.c.find('.tp-revslider-slidesli'),{borderRadius:_.border_radius}); + } +} + +var setCarouselDefaults = function(opt) { + + if (opt.bw===undefined) _R.setSize(opt); + var _=opt.carousel, + loff = _R.getHorizontalOffset(opt.c,"left"), + roff = _R.getHorizontalOffset(opt.c,"right"); + + // IF NO DEFAULTS HAS BEEN DEFINED YET + if (_.wrap===undefined) defineCarouselElements(opt); + // DEFAULT LI WIDTH SHOULD HAVE THE SAME WIDTH OF TH OPT WIDTH + _.slide_width = _.stretch!=="on" ? opt.gridwidth[opt.curWinRange]*opt.bw : opt.c.width(); + + // CALCULATE CAROUSEL WIDTH + _.maxwidth = opt.slideamount*_.slide_width; + if (_.maxVisiblebackup>_.slides.length+1) + _.maxVisibleItems = _.slides.length+2; + + // SET MAXIMUM CAROUSEL WARPPER WIDTH (SHOULD BE AN ODD NUMBER) + _.wrapwidth = (_.maxVisibleItems * _.slide_width) + ((_.maxVisibleItems - 1) * _.space); + _.wrapwidth = opt.sliderLayout!="auto" ? + _.wrapwidth>opt.c.closest('.tp-simpleresponsive').width() ? opt.c.closest('.tp-simpleresponsive').width() : _.wrapwidth : + _.wrapwidth>opt.ul.width() ? opt.ul.width() : _.wrapwidth; + + + // INFINITY MODIFICATIONS + _.infinity = _.wrapwidth >=_.maxwidth ? "off" : _.infbackup; + + + // SET POSITION OF WRAP CONTAINER + _.wrapoffset = _.horizontal_align==="center" ? (opt.c.width()-roff - loff - _.wrapwidth)/2 : 0; + _.wrapoffset = opt.sliderLayout!="auto" && opt.outernav ? 0 : _.wrapoffset < loff ? loff : _.wrapoffset; + + var ovf = "hidden"; + if ((opt.parallax.type=="3D" || opt.parallax.type=="3d")) + ovf = "visible"; + + + + if (_.horizontal_align==="right") + punchgs.TweenLite.set(_.wrap,{left:"auto",right:_.wrapoffset+"px", width:_.wrapwidth, overflow:ovf}); + else + punchgs.TweenLite.set(_.wrap,{right:"auto",left:_.wrapoffset+"px", width:_.wrapwidth, overflow:ovf}); + + + + // INNER OFFSET FOR RTL + _.inneroffset = _.horizontal_align==="right" ? _.wrapwidth - _.slide_width : 0; + + // THE REAL OFFSET OF THE WRAPPER + _.realoffset = (Math.abs(_.wrap.position().left)); // + opt.c.width()/2); + + // THE SCREEN WIDTH/2 + _.windhalf = jQuery(window).width()/2; + + + +} + + +// DIRECTION CHECK +var dircheck = function(d,b) { + return d===null || jQuery.isEmptyObject(d) ? b : d === undefined ? "right" : d;; +} + +// ANIMATE THE CAROUSEL WITH OFFSETS +var animateCarousel = function(opt,direction,nsae) { + var _ = opt.carousel; + direction = _.lastdirection = dircheck(direction,_.lastdirection); + + var animobj = new Object(); + animobj.from = 0; + animobj.to = _.slide_offset_target; + if (_.positionanim!==undefined) + _.positionanim.pause(); + _.positionanim = punchgs.TweenLite.to(animobj,1.2,{from:animobj.to, + onUpdate:function() { + _.slide_offset = _.slide_globaloffset + animobj.from; + _.slide_offset = _R.simp(_.slide_offset , _.maxwidth); + _R.organiseCarousel(opt,direction,false,false); + }, + onComplete:function() { + + _.slide_globaloffset = _.infinity==="off" ? _.slide_globaloffset + _.slide_offset_target : _R.simp(_.slide_globaloffset + _.slide_offset_target, _.maxwidth); + _.slide_offset = _R.simp(_.slide_offset , _.maxwidth); + + _R.organiseCarousel(opt,direction,false,true); + var li = jQuery(opt.li[_.focused]); + opt.c.find('.next-revslide').removeClass("next-revslide"); + if (nsae) _R.callingNewSlide(opt,opt.c,li.data('index')); + }, ease:punchgs.Expo.easeOut}); +} + + +var breduc = function(a,m) { + return Math.abs(a)>Math.abs(m) ? a>0 ? a - Math.abs(Math.floor(a/(m))*(m)) : a + Math.abs(Math.floor(a/(m))*(m)) : a; +} + +// CAROUSEL INFINITY MODE, DOWN OR UP ANIMATION +var getBestDirection = function(a,b,max) { + var dira = b-a,max, + dirb = (b-max) - a,max; + dira = breduc(dira,max); + dirb = breduc(dirb,max); + return Math.abs(dira)>Math.abs(dirb) ? dirb : dira; + } + +// GET OFFSETS BEFORE ANIMATION +var getActiveCarouselOffset = function(opt) { + var ret = 0, + _ = opt.carousel; + + if (_.positionanim!==undefined) _.positionanim.kill(); + + if (_.slide_globaloffset=="none") + _.slide_globaloffset = ret = _.horizontal_align==="center" ? (_.wrapwidth/2-_.slide_width/2) : 0; + + else { + + _.slide_globaloffset = _.slide_offset; + _.slide_offset = 0; + var ci = opt.c.find('.processing-revslide').index(), + fi = _.horizontal_align==="center" ? ((_.wrapwidth/2-_.slide_width/2) - _.slide_globaloffset) / _.slide_width : (0 - _.slide_globaloffset) / _.slide_width; + + fi = _R.simp(fi,opt.slideamount,false); + ci = ci>=0 ? ci : opt.c.find('.active-revslide').index(); + ci = ci>=0 ? ci : 0; + + ret = _.infinity==="off" ? fi-ci : -getBestDirection(fi,ci,opt.slideamount); + ret = ret * _.slide_width; + } + return ret; +} + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.kenburn.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.kenburn.js new file mode 100644 index 0000000..49e3e67 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.kenburn.js @@ -0,0 +1,175 @@ +/******************************************** + * REVOLUTION 5.0 EXTENSION - KEN BURN + * @version: 1.0.0 (03.08.2015) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ + +(function($) { + +var _R = jQuery.fn.revolution; + +/////////////////////////////////////////// +// EXTENDED FUNCTIONS AVAILABLE GLOBAL // +/////////////////////////////////////////// +jQuery.extend(true,_R, { + + stopKenBurn : function(l) { + if (l.data('kbtl')!=undefined) + l.data('kbtl').pause(); + }, + + startKenBurn : function(l,opt,prgs) { + var d = l.data(), + i = l.find('.defaultimg'), + s = i.data('lazyload') || i.data('src'), + i_a = d.owidth / d.oheight, + cw = opt.sliderType==="carousel" ? opt.carousel.slide_width : opt.ul.width(), + ch = opt.ul.height(), + c_a = cw / ch; + + + if (l.data('kbtl')) + l.data('kbtl').kill(); + + + prgs = prgs || 0; + + + + + // NO KEN BURN IMAGE EXIST YET + if (l.find('.tp-kbimg').length==0) { + l.append('
'); + l.data('kenburn',l.find('.tp-kbimg')); + } + + var getKBSides = function(w,h,f,cw,ch,ho,vo) { + var tw = w * f, + th = h * f, + hd = Math.abs(cw-tw), + vd = Math.abs(ch-th), + s = new Object(); + s.l = (0-ho)*hd; + s.r = s.l + tw; + s.t = (0-vo)*vd; + s.b = s.t + th; + s.h = ho; + s.v = vo; + return s; + }, + + getKBCorners = function(d,cw,ch,ofs,o) { + + var p = d.bgposition.split(" ") || "center center", + ho = p[0] == "center" ? "50%" : p[0] == "left" || p [1] == "left" ? "0%" : p[0]=="right" || p[1] =="right" ? "100%" : p[0], + vo = p[1] == "center" ? "50%" : p[0] == "top" || p [1] == "top" ? "0%" : p[0]=="bottom" || p[1] =="bottom" ? "100%" : p[1]; + + ho = parseInt(ho,0)/100 || 0; + vo = parseInt(vo,0)/100 || 0; + + + var sides = new Object(); + + + sides.start = getKBSides(o.start.width,o.start.height,o.start.scale,cw,ch,ho,vo); + sides.end = getKBSides(o.start.width,o.start.height,o.end.scale,cw,ch,ho,vo); + + return sides; + }, + + kcalcL = function(cw,ch,d) { + var f=d.scalestart/100, + fe=d.scaleend/100, + ofs = d.oofsetstart != undefined ? d.offsetstart.split(" ") || [0,0] : [0,0], + ofe = d.offsetend != undefined ? d.offsetend.split(" ") || [0,0] : [0,0]; + d.bgposition = d.bgposition == "center center" ? "50% 50%" : d.bgposition; + + + var o = new Object(), + sw = cw*f, + sh = sw/d.owidth * d.oheight, + ew = cw*fe, + eh = ew/d.owidth * d.oheight; + + + + o.start = new Object(); + o.starto = new Object(); + o.end = new Object(); + o.endo = new Object(); + + o.start.width = cw; + o.start.height = o.start.width / d.owidth * d.oheight; + + if (o.start.height0 ? 0 : iws + ofs[0] < cw ? cw-iws : ofs[0]; + ofe[0] = ofe[0]>0 ? 0 : iwe + ofe[0] < cw ? cw-iwe : ofe[0]; + + ofs[1] = ofs[1]>0 ? 0 : ihs + ofs[1] < ch ? ch-ihs : ofs[1]; + ofe[1] = ofe[1]>0 ? 0 : ihe + ofe[1] < ch ? ch-ihe : ofe[1]; + + + + o.starto.x = ofs[0]+"px"; + o.starto.y = ofs[1]+"px"; + o.endo.x = ofe[0]+"px"; + o.endo.y = ofe[1]+"px"; + o.end.ease = o.endo.ease = d.ease; + o.end.force3D = o.endo.force3D = true; + return o; + }; + + if (l.data('kbtl')!=undefined) { + l.data('kbtl').kill(); + l.removeData('kbtl'); + } + + var k = l.data('kenburn'), + kw = k.parent(), + anim = kcalcL(cw,ch,d), + kbtl = new punchgs.TimelineLite(); + + + kbtl.pause(); + + anim.start.transformOrigin = "0% 0%"; + anim.starto.transformOrigin = "0% 0%"; + + kbtl.add(punchgs.TweenLite.fromTo(k,d.duration/1000,anim.start,anim.end),0); + kbtl.add(punchgs.TweenLite.fromTo(kw,d.duration/1000,anim.starto,anim.endo),0); + + kbtl.progress(prgs); + kbtl.play(); + + l.data('kbtl',kbtl); + } +}); + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.layeranimation.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.layeranimation.js new file mode 100644 index 0000000..087d27f --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.layeranimation.js @@ -0,0 +1,1593 @@ +/************************************************ + * REVOLUTION 5.2 EXTENSION - LAYER ANIMATION + * @version: 2.1.1 (03.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +************************************************/ + +(function($) { + +var _R = jQuery.fn.revolution, + _ISM = _R.is_mobile(); + +/////////////////////////////////////////// +// EXTENDED FUNCTIONS AVAILABLE GLOBAL // +/////////////////////////////////////////// +jQuery.extend(true,_R, { + + // MAKE SURE THE ANIMATION ENDS WITH A CLEANING ON MOZ TRANSFORMS + animcompleted : function(_nc,opt) { + var t = _nc.data('videotype'), + ap = _nc.data('autoplay'), + an = _nc.data('autoplayonlyfirsttime'); + + + if (t!=undefined && t!="none") + if (ap==true || ap=="true" || ap=="on" || ap=="1sttime" || an) { + _R.playVideo(_nc,opt); + + _R.toggleState(_nc.data('videotoggledby')); + if ( an || ap=="1sttime") { + _nc.data('autoplayonlyfirsttime',false); + _nc.data('autoplay',"off"); + } + } else { + if (ap=="no1sttime") + _nc.data('autoplay','on'); + _R.unToggleState(_nc.data('videotoggledby')); + } + + }, + + /******************************************************** + - PREPARE AND DEFINE STATIC LAYER DIRECTIONS - + *********************************************************/ + handleStaticLayers : function(_nc,opt) { + var s = parseInt(_nc.data('startslide'),0), + e = parseInt(_nc.data('endslide'),0); + if (s < 0) + s=0; + if (e <0 ) + e = opt.slideamount; + if (s===0 && e===opt.slideamount-1) + e = opt.slideamount+1; + _nc.data('startslide',s); + _nc.data('endslide',e); + }, + + /************************************ + ANIMATE ALL CAPTIONS + *************************************/ + animateTheCaptions : function(nextli, opt,recalled,mtl) { + var base_offsetx = opt.sliderType==="carousel" ? 0 : opt.width/2 - (opt.gridwidth[opt.curWinRange]*opt.bw)/2, + base_offsety=0, + index = nextli.data('index'); + + + opt.layers = opt.layers || new Object(); + opt.layers[index] = opt.layers[index] || nextli.find('.tp-caption') + opt.layers["static"] = opt.layers["static"] || opt.c.find('.tp-static-layers').find('.tp-caption'); + + var allcaptions = new Array; + + opt.conh = opt.c.height(); + opt.conw = opt.c.width(); + opt.ulw = opt.ul.width(); + opt.ulh = opt.ul.height(); + + + + /* ENABLE DEBUG MODE */ + if (opt.debugMode) { + nextli.addClass("indebugmode"); + nextli.find('.helpgrid').remove(); + opt.c.find('.hglayerinfo').remove(); + nextli.append('
'); + var hg = nextli.find('.helpgrid'); + hg.append('
Zoom:'+(Math.round(opt.bw*100))+'%     Device Level:'+opt.curWinRange+'    Grid Preset:'+opt.gridwidth[opt.curWinRange]+'x'+opt.gridheight[opt.curWinRange]+'
') + opt.c.append('
') + hg.append('
'); + } + + if (allcaptions) + jQuery.each(allcaptions,function(i) { + var _nc = jQuery(this); + punchgs.TweenLite.set(_nc.find('.tp-videoposter'),{autoAlpha:1}); + punchgs.TweenLite.set(_nc.find('iframe'),{autoAlpha:0}); + }) + + // COLLECT ALL CAPTIONS + if (opt.layers[index]) + jQuery.each(opt.layers[index], function(i,a) { allcaptions.push(a); }); + if (opt.layers["static"]) + jQuery.each(opt.layers["static"], function(i,a) { allcaptions.push(a); }); + + // GO THROUGH ALL CAPTIONS, AND MANAGE THEM + if (allcaptions) + jQuery.each(allcaptions,function(i) { + _R.animateSingleCaption(jQuery(this),opt,base_offsetx,base_offsety,i,recalled) + }); + + var bt=jQuery('body').find('#'+opt.c.attr('id')).find('.tp-bannertimer'); + bt.data('opt',opt); + + + if (mtl != undefined) setTimeout(function() { + mtl.resume(); + },30); + }, + + /*************************************** + - ANIMATE THE CAPTIONS - + ***************************************/ + animateSingleCaption : function(_nc,opt,offsetx,offsety,i,recalled,triggerforce) { + + var internrecalled = recalled, + staticdirection = staticLayerStatus(_nc,opt,"in",true), + _pw = _nc.data('_pw') || _nc.closest('.tp-parallax-wrap'), + _lw = _nc.data('_lw') || _nc.closest('.tp-loop-wrap'), + _mw = _nc.data('_mw') || _nc.closest('.tp-mask-wrap'), + _responsive = _nc.data('responsive') || "on", + _respoffset = _nc.data('responsive_offset') || "on", + _ba = _nc.data('basealign') || "grid", + _gw = _ba==="grid" ? opt.width : opt.ulw, //opt.conw, + _gh = _ba==="grid" ? opt.height : opt.ulh, //opt.conh; + rtl = jQuery('body').hasClass("rtl"); + + + + if (!_nc.data('_pw')) { + if (_nc.data('staticlayer')) + _nc.data('_li',_nc.closest('.tp-static-layers')); + else + _nc.data('_li',_nc.closest('.tp-revslider-slidesli')); + _nc.data('slidelink',_nc.hasClass("slidelink")); + _nc.data('_pw',_pw); + _nc.data('_lw',_lw); + _nc.data('_mw',_mw); + } + + if (opt.sliderLayout=="fullscreen") + offsety = _gh/2 - (opt.gridheight[opt.curWinRange]*opt.bh)/2; + + if (opt.autoHeight=="on" || (opt.minHeight!=undefined && opt.minHeight>0)) + offsety = opt.conh/2 - (opt.gridheight[opt.curWinRange]*opt.bh)/2;; + + if (offsety<0) offsety=0; + + + + // LAYER GRID FOR DEBUGGING + if (opt.debugMode) { + _nc.closest('li').find('.helpgrid').css({top:offsety+"px", left:offsetx+"px"}); + var linfo = opt.c.find('.hglayerinfo'); + _nc.on("hover, mouseenter",function() { + var ltxt = "", + spa = 0; + if (_nc.data()) + jQuery.each(_nc.data(),function(key,val) { + if (typeof val !== "object") { + + ltxt = ltxt + ''+key+":"+val+"    "; + + } + }); + linfo.html(ltxt); + }); + } + /* END OF DEBUGGING */ + + + var handlecaption=0, + layervisible = makeArray(_nc.data('visibility'),opt)[opt.forcedWinRange] || makeArray(_nc.data('visibility'),opt) || "on"; + + + + // HIDE CAPTION IF RESOLUTION IS TOO LOW + if (layervisible=="off" || (_gw'); + if (vidw!="100%") + _nc.css({minWidth:vidw+"px",minHeight:vidh+"px"}); + else + _nc.css({width:"100%",height:"100%"}); + _nc.removeClass("tp-videolayer"); + }*/ + + // IF IT IS AN IMAGE + if (_nc.find('img').length>0) { + var im = _nc.find('img'); + _nc.data('layertype',"image"); + if (im.width()==0) im.css({width:"auto"}); + if (im.height()==0) im.css({height:"auto"}); + + + + + if (im.data('ww') == undefined && im.width()>0) im.data('ww',im.width()); + if (im.data('hh') == undefined && im.height()>0) im.data('hh',im.height()); + + var ww = im.data('ww'), + hh = im.data('hh'), + fuw = _ba =="slide" ? opt.ulw : opt.gridwidth[opt.curWinRange], + fuh = _ba =="slide" ? opt.ulh : opt.gridheight[opt.curWinRange], + + ww = makeArray(im.data('ww'),opt)[opt.curWinRange] || makeArray(im.data('ww'),opt) || "auto", + hh = makeArray(im.data('hh'),opt)[opt.curWinRange] || makeArray(im.data('hh'),opt) || "auto"; + + var wful = ww==="full" || ww === "full-proportional", + hful = hh==="full" || hh === "full-proportional"; + + if (ww==="full-proportional") { + var ow = im.data('owidth'), + oh = im.data('oheight'); + if (ow/fuw < oh/fuh) { + ww = fuw; + hh = oh*(fuw/ow); + } else { + hh = fuh; + ww = ow*(fuh/oh); + } + } else { + ww = wful ? fuw : parseFloat(ww); + hh = hful ? fuh : parseFloat(hh); + } + + + if (ww==undefined) ww=0; + if (hh==undefined) hh=0; + + if (_responsive!=="off") { + + if (_ba!="grid" && wful) + im.width(ww); + else + im.width(ww*opt.bw); + if (_ba!="grid" && hful) + im.height(hh); + else + im.height(hh*opt.bh); + } else { + im.width(ww); + im.height(hh); + } + } + + if (_ba==="slide") { + offsetx = 0; + offsety=0; + } + + var tag = _nc.data('audio')=="html5" ? "audio" : "video"; + + // IF IT IS A VIDEO LAYER + if (_nc.hasClass("tp-videolayer") || _nc.hasClass("tp-audiolayer") || _nc.find('iframe').length>0 || _nc.find(tag).length>0) { + + _nc.data('layertype',"video"); + if (_R.manageVideoLayer) _R.manageVideoLayer(_nc,opt,recalled,internrecalled); + if (!recalled && !internrecalled) { + var t = _nc.data('videotype'); + if (_R.resetVideo) _R.resetVideo(_nc,opt); + } + + var asprat = _nc.data('aspectratio'); + if (asprat!=undefined && asprat.split(":").length>1) + _R.prepareCoveredVideo(asprat,opt,_nc); + + var im = _nc.find('iframe') ? _nc.find('iframe') : im = _nc.find(tag), + html5vid = _nc.find('iframe') ? false : true, + yvcover = _nc.hasClass('coverscreenvideo'); + + im.css({display:"block"}); + + // SET WIDTH / HEIGHT + if (_nc.data('videowidth') == undefined) { + _nc.data('videowidth',im.width()); + _nc.data('videoheight',im.height()); + } + var ww = makeArray(_nc.data('videowidth'),opt)[opt.curWinRange] || makeArray(_nc.data('videowidth'),opt) || "auto", + hh = makeArray(_nc.data('videoheight'),opt)[opt.curWinRange] || makeArray(_nc.data('videoheight'),opt) || "auto", + getobj; + + ww = parseFloat(ww); + hh = parseFloat(hh); + + + // READ AND WRITE CSS SETTINGS OF IFRAME AND VIDEO FOR RESIZING ELEMENST ON DEMAND + if (_nc.data('cssobj')===undefined) { + getobj = getcssParams(_nc,0); + _nc.data('cssobj',getobj); + } + + var ncobj = setResponsiveCSSValues(_nc.data('cssobj'),opt); + + + // IE8 FIX FOR AUTO LINEHEIGHT + if (ncobj.lineHeight=="auto") ncobj.lineHeight = ncobj.fontSize+4; + + + if (!_nc.hasClass('fullscreenvideo') && !yvcover) { + + punchgs.TweenLite.set(_nc,{ + paddingTop: Math.round((ncobj.paddingTop * opt.bh)) + "px", + paddingBottom: Math.round((ncobj.paddingBottom * opt.bh)) + "px", + paddingLeft: Math.round((ncobj.paddingLeft* opt.bw)) + "px", + paddingRight: Math.round((ncobj.paddingRight * opt.bw)) + "px", + marginTop: (ncobj.marginTop * opt.bh) + "px", + marginBottom: (ncobj.marginBottom * opt.bh) + "px", + marginLeft: (ncobj.marginLeft * opt.bw) + "px", + marginRight: (ncobj.marginRight * opt.bw) + "px", + borderTopWidth: Math.round(ncobj.borderTopWidth * opt.bh) + "px", + borderBottomWidth: Math.round(ncobj.borderBottomWidth * opt.bh) + "px", + borderLeftWidth: Math.round(ncobj.borderLeftWidth * opt.bw) + "px", + borderRightWidth: Math.round(ncobj.borderRightWidth * opt.bw) + "px", + width:(ww*opt.bw)+"px", + height:(hh*opt.bh)+"px" + }); + } else { + offsetx=0; offsety=0; + _nc.data('x',0) + _nc.data('y',0) + + var ovhh = _gh; + if (opt.autoHeight=="on") ovhh = opt.conh + _nc.css({'width':_gw, 'height':ovhh }); + + + } + + if ((html5vid == false && !yvcover) || ((_nc.data('forcecover')!=1 && !_nc.hasClass('fullscreenvideo') && !yvcover))) { + im.width(ww*opt.bw); + im.height(hh*opt.bh); + } + } // END OF POSITION AND STYLE READ OUTS OF VIDEO + + + var slidelink = _nc.data('slidelink') || false; + + // ALL WRAPPED REKURSIVE ELEMENTS SHOULD BE RESPONSIVE HANDLED + _nc.find('.tp-resizeme, .tp-resizeme *').each(function() { + calcCaptionResponsive(jQuery(this),opt,"rekursive",_responsive); + }); + + // ALL ELEMENTS IF THE MAIN ELEMENT IS REKURSIVE RESPONSIVE SHOULD BE REPONSIVE HANDLED + if (_nc.hasClass("tp-resizeme")) + _nc.find('*').each(function() { + calcCaptionResponsive(jQuery(this),opt,"rekursive",_responsive); + }); + + // RESPONIVE HANDLING OF CURRENT LAYER + calcCaptionResponsive(_nc,opt,0,_responsive); + + // _nc FRONTCORNER CHANGES + var ncch = _nc.outerHeight(), + bgcol = _nc.css('backgroundColor'); + sharpCorners(_nc,'.frontcorner','left','borderRight','borderTopColor',ncch,bgcol); + sharpCorners(_nc,'.frontcornertop','left','borderRight','borderBottomColor',ncch,bgcol); + sharpCorners(_nc,'.backcorner','right','borderLeft','borderBottomColor',ncch,bgcol); + sharpCorners(_nc,'.backcornertop','right','borderLeft','borderTopColor',ncch,bgcol); + + + if (opt.fullScreenAlignForce == "on") { + offsetx=0; + offsety=0; + } + + var arrobj = _nc.data('arrobj'); + if (arrobj===undefined) { + var arrobj = new Object(); + arrobj.voa = makeArray(_nc.data('voffset'),opt)[opt.curWinRange] || makeArray(_nc.data('voffset'),opt)[0]; + arrobj.hoa = makeArray(_nc.data('hoffset'),opt)[opt.curWinRange] || makeArray(_nc.data('hoffset'),opt)[0]; + arrobj.elx = makeArray(_nc.data('x'),opt)[opt.curWinRange] || makeArray(_nc.data('x'),opt)[0]; + arrobj.ely = makeArray(_nc.data('y'),opt)[opt.curWinRange] || makeArray(_nc.data('y'),opt)[0]; + } + + + // CORRECTION OF NEGATIVE VALUES FROM OLDER SLIDER + //arrobj.voa = arrobj.ely==="bottom" ? arrobj.voa * -1 : arrobj.voa; + //arrobj.hoa = arrobj.elx==="right" ? arrobj.hoa * -1 : arrobj.hoa; + + + var voa = arrobj.voa.length==0 ? 0 : arrobj.voa, + hoa = arrobj.hoa.length==0 ? 0 : arrobj.hoa, + elx = arrobj.elx.length==0 ? 0 : arrobj.elx, + ely = arrobj.ely.length==0 ? 0 : arrobj.ely, + eow = _nc.outerWidth(true), + eoh = _nc.outerHeight(true); + + + // NEED CLASS FOR FULLWIDTH AND FULLHEIGHT LAYER SETTING !! + if (eow==0 && eoh==0) { + eow = opt.ulw; + eoh = opt.ulh; + } + + var vofs= _respoffset !=="off" ? parseInt(voa,0)*opt.bw : parseInt(voa,0), + hofs= _respoffset !=="off" ? parseInt(hoa,0)*opt.bw : parseInt(hoa,0), + crw = _ba==="grid" ? opt.gridwidth[opt.curWinRange]*opt.bw : _gw, + crh = _ba==="grid" ? opt.gridheight[opt.curWinRange]*opt.bw : _gh; + + + + if (opt.fullScreenAlignForce == "on") { + crw = opt.ulw; + crh = opt.ulh; + } + + + // ALIGN POSITIONED ELEMENTS + + + elx = elx==="center" || elx==="middle" ? (crw/2 - eow/2) + hofs : elx==="left" ? hofs : elx==="right" ? (crw - eow) - hofs : _respoffset !=="off" ? elx * opt.bw : elx; + ely = ely=="center" || ely=="middle" ? (crh/2 - eoh/2) + vofs : ely =="top" ? vofs : ely=="bottom" ? (crh - eoh)-vofs : _respoffset !=="off" ? ely*opt.bw : ely; + + + if (rtl && !slidelink) + elx = elx + eow; + + + // THE TRANSITIONS OF CAPTIONS + // MDELAY AND MSPEED + + + var $lts = _nc.data('lasttriggerstate'), + $cts = _nc.data('triggerstate'), + $start = _nc.data('start') || 100, + $end = _nc.data('end'), + mdelay = triggerforce ? 0 : $start==="bytrigger" || $start==="sliderenter" ? 0 : parseFloat($start)/1000, + calcx = (elx+offsetx), + calcy = (ely+offsety), + tpcapindex = _nc.css("z-Index"); + + if (!triggerforce) + if ($lts=="reset" && $start!="bytrigger") { + _nc.data("triggerstate","on"); + _nc.data('animdirection',"in"); + $cts = "on"; + } else + if ($lts=="reset" && $start=="bytrigger") { + _nc.data("triggerstate","off"); + _nc.data('animdirection',"out"); + $cts = "off"; + } + + + // SET TOP/LEFT POSITION OF LAYER + punchgs.TweenLite.set(_pw,{zIndex:tpcapindex, top:calcy,left:calcx,overwrite:"auto"}); + + if (staticdirection == 0) internrecalled = true; + + // STATIC LAYER, THINK ON THIS !!! + if (_nc.data('timeline')!=undefined && !internrecalled) { + if (staticdirection!=2) + _nc.data('timeline').gotoAndPlay(0); + internrecalled = true; + } + + // KILL OUT ANIMATION + + if (!recalled && _nc.data('timeline_out') && staticdirection!=2 && staticdirection!=0) { + _nc.data('timeline_out').kill(); + _nc.data('outstarted',0); + } + + // TRIGGERED ELEMENTS SHOULD + if (triggerforce && _nc.data('timeline')!=undefined) { + _nc.removeData('$anims') + _nc.data('timeline').pause(0); + _nc.data('timeline').kill(); + if (_nc.data('newhoveranim')!=undefined) { + _nc.data('newhoveranim').progress(0); + _nc.data('newhoveranim').kill(); + } + _nc.removeData('timeline'); + punchgs.TweenLite.killTweensOf(_nc); + _nc.unbind('hover'); + _nc.removeClass("rs-hover-ready"); + + _nc.removeData('newhoveranim'); + + } + + var $time = _nc.data('timeline') ? _nc.data('timeline').time() : 0, + $progress = _nc.data('timeline')!==undefined ? _nc.data('timeline').progress() : 0, + tl = _nc.data('timeline') || new punchgs.TimelineLite({smoothChildTiming:true}); + + $progress = jQuery.isNumeric($progress) ? $progress: 0; + + tl.pause(); + // LAYER IS TRIGGERED ?? + + // CHECK FOR SVG + var $svg = {}; + $svg.svg = _nc.data('svg_src')!=undefined ? _nc.find('svg') : false; + + + // GO FOR ANIMATION + if ($progress<1 && _nc.data('outstarted') != 1 || staticdirection==2 || triggerforce) { + var animobject = _nc; + + if (_nc.data('mySplitText') !=undefined) _nc.data('mySplitText').revert(); + + if (_nc.data('splitin')!=undefined && _nc.data('splitin').match(/chars|words|lines/g) || _nc.data('splitout')!=undefined && _nc.data('splitout').match(/chars|words|lines/g)) { + var splittarget = _nc.find('a').length>0 ? _nc.find('a') : _nc; + _nc.data('mySplitText',new punchgs.SplitText(splittarget,{type:"lines,words,chars",charsClass:"tp-splitted tp-charsplit",wordsClass:"tp-splitted tp-wordsplit",linesClass:"tp-splitted tp-linesplit"})); + _nc.addClass("splitted"); + } + + if ( _nc.data('mySplitText') !==undefined && _nc.data('splitin') && _nc.data('splitin').match(/chars|words|lines/g)) animobject = _nc.data('mySplitText')[_nc.data('splitin')] + + var $a = new Object(); + + // PRESET SVG STYLE + if ($svg.svg) { + $svg.idle = setSVGAnimObject(_nc.data('svg_idle'),newSVGHoverAnimObject()); + //$svg.idle.anim.css.color = + punchgs.TweenLite.set($svg.svg,$svg.idle.anim); + } + + var reverseanim = _nc.data('transform_in')!=undefined ? _nc.data('transform_in').match(/\(R\)/gi) : false; + + // BUILD ANIMATION LIBRARY AND HOVER ANIMATION + if (!_nc.data('$anims') || triggerforce || reverseanim) { + + + var $from = newAnimObject(), + $result = newAnimObject(), + $hover = newHoverAnimObject(), + hashover = _nc.data('transform_hover')!==undefined || _nc.data('style_hover')!==undefined; + + // WHICH ANIMATION TYPE SHOULD BE USED + $result = getAnimDatas($result,_nc.data('transform_idle')); + + $from = getAnimDatas($result,_nc.data('transform_in'),opt.sdir==1); + + if (hashover) { + + $hover = getAnimDatas($hover,_nc.data('transform_hover')); + $hover = convertHoverStyle($hover,_nc.data('style_hover')); + if ($svg.svg) { + $svghover = setSVGAnimObject(_nc.data('svg_hover'),newSVGHoverAnimObject()); + if ($hover.anim.color!=undefined) { + $svghover.anim.fill = $hover.anim.color; + + } + _nc.data('hoversvg',$svghover); + } + _nc.data('hover',$hover); + + } + + // DELAYS + $from.elemdelay = (_nc.data('elementdelay') == undefined) ? 0 : _nc.data('elementdelay'); + $result.anim.ease = $from.anim.ease = $from.anim.ease || punchgs.Power1.easeInOut; + + + + // HOVER ANIMATION + if (hashover && !_nc.hasClass("rs-hover-ready")) { + + _nc.addClass("rs-hover-ready"); + _nc.hover(function(e) { + var nc = jQuery(e.currentTarget), + t = nc.data('hover'), + intl = nc.data('timeline'); + + if (intl && intl.progress()==1) { + + if (nc.data('newhoveranim')===undefined || nc.data('newhoveranim')==="none") { + nc.data('newhoveranim',punchgs.TweenLite.to(nc,t.speed,t.anim)); + if ($svg.svg) + nc.data('newsvghoveranim',punchgs.TweenLite.to($svg.svg,t.speed,nc.data('hoversvg').anim)); + + } else { + nc.data('newhoveranim').progress(0); + nc.data('newhoveranim').play(); + if ($svg.svg) nc.data('newsvghoveranim').progress(0).play(); + } + } + }, + function(e) { + var nc = jQuery(e.currentTarget), + intl = nc.data('timeline'); + + if (intl && intl.progress()==1 && nc.data('newhoveranim')!=undefined) { + nc.data('newhoveranim').reverse(); + if ($svg.svg) nc.data('newsvghoveranim').reverse(); + } + }); + } + $a = new Object(); + $a.f = $from; + $a.r = $result; + _nc.data('$anims'); + } else { + $a = _nc.data('$anims'); + } + + + + // SET WRAPPING CONTAINER SIZES + var $mask_frm = getMaskDatas(_nc.data('mask_in')), + newtl = new punchgs.TimelineLite(); + + $a.f.anim.x = $a.f.anim.x * opt.bw || getBorderDirections($a.f.anim.x,opt,eow,eoh,calcy,calcx, "horizontal" ); + $a.f.anim.y = $a.f.anim.y * opt.bw || getBorderDirections($a.f.anim.y,opt,eow,eoh,calcy,calcx, "vertical" ); + + + + // IF LAYER IS NOT STATIC, OR STATIC AND NOT ANIMATED IN AT THIS LOOP + if (staticdirection != 2 || triggerforce) { + + // SPLITED ANIMATION IS IN GAME + if (animobject != _nc) { + var oldease = $a.r.anim.ease; + tl.add(punchgs.TweenLite.set(_nc, $a.r.anim)); + $a.r = newAnimObject(); + $a.r.anim.ease = oldease; + } + + $a.f.anim.visibility = "hidden"; + + _nc.data('eow',eow); + _nc.data('eoh',eoh); + _nc.data('speed',$a.f.speed); + _nc.data('ease',$a.r.anim.ease); + + newtl.eventCallback("onStart",function(){ + punchgs.TweenLite.set(_nc,{visibility:"visible"}); + // FIX VISIBLE IFRAME BUG IN SAFARI + if (_nc.data('iframes')) + _nc.find('iframe').each(function() { + punchgs.TweenLite.set(jQuery(this),{autoAlpha:1}); + }) + punchgs.TweenLite.set(_pw,{visibility:"visible"}); + var data={}; + data.layer = _nc; + data.eventtype = "enterstage"; + data.layertype = _nc.data('layertype'); + _nc.data('active',true); + data.layersettings = _nc.data(); + opt.c.trigger("revolution.layeraction",[data]) + }); + + newtl.eventCallback("onComplete",function() { + var data={}; + data.layer = _nc; + data.eventtype = "enteredstage"; + data.layertype = _nc.data('layertype'); + data.layersettings = _nc.data(); + opt.c.trigger("revolution.layeraction",[data]); + _R.animcompleted(_nc,opt); + }); + + // SHOW ELEMENTS WITH SLIDEENTER A BIT LATER FIRST ! + if (($start=="sliderenter" && opt.overcontainer)) + mdelay = 0.6; + + + + tl.add(newtl.staggerFromTo(animobject,$a.f.speed,$a.f.anim,$a.r.anim,$a.f.elemdelay),mdelay); + + + // MASK ANIMATION + if ($mask_frm) { + var $mask_rsl = new Object(); + $mask_rsl.ease = $a.r.anim.ease; + $mask_rsl.overflow = $mask_frm.anim.overflow ="hidden"; + $mask_rsl.overwrite = "all"; + $mask_rsl.x = $mask_rsl.y = 0; + + $mask_frm.anim.x = $mask_frm.anim.x * opt.bw || getBorderDirections($mask_frm.anim.x,opt,eow,eoh,calcy,calcx,"horizontal"); + $mask_frm.anim.y = $mask_frm.anim.y * opt.bw || getBorderDirections($mask_frm.anim.y,opt,eow,eoh,calcy,calcx,"vertical"); + + tl.add(punchgs.TweenLite.fromTo(_mw,$a.f.speed,$mask_frm.anim,$mask_rsl,$from.elemdelay),mdelay); + } else { + tl.add(punchgs.TweenLite.set(_mw,{overflow:"visible"},$from.elemdelay),0); + } + } + + // SAVE IT TO NCAPTION BEFORE NEW STEPS WILL BE ADDED + _nc.data('timeline',tl); + + opt.sliderscrope = opt.sliderscrope === undefined ? Math.round(Math.random()*99999) : opt.sliderscrope; + + // IF THERE IS ANY EXIT ANIM DEFINED + // For Static Layers -> 1 -> In, 2-> Out 0-> Ignore -1-> Not Static + staticdirection = staticLayerStatus(_nc,opt,"in"); + + + if (opt.endtimeouts === undefined) opt.endtimeouts = []; + + if (($progress === 0 || staticdirection==2) && $end!=="bytrigger" && !triggerforce && $end!="sliderleave") { + if (($end!=undefined) && (staticdirection==-1 || staticdirection==2) && ($end!=="bytriger")) + var tot = setTimeout(function() { + _R.endMoveCaption(_nc,_mw,_pw,opt); + },parseInt(_nc.data('end'),0)); + else + var tot = setTimeout(function() { + _R.endMoveCaption(_nc,_mw,_pw,opt); + },999999); + opt.endtimeouts.push(tot); + + } +/* punchgs.TweenLite.delayedCall(parseInt(_nc.data('end'),0)/1000,_R.endMoveCaption,[_nc,_mw,_pw,opt],opt.sliderscrope); + else + punchgs.TweenLite.delayedCall(999999,_R.endMoveCaption,[_nc,_mw,_pw,opt],opt.sliderscrope); +*/ + + + // SAVE THE TIMELINE IN DOM ELEMENT + + tl = _nc.data('timeline'); + + if (_nc.data('loopanimation')=="on") callCaptionLoops(_lw,opt.bw); + + + + + if (($start!="sliderenter" || ($start=="sliderenter" && opt.overcontainer)) && (staticdirection==-1 || staticdirection==1 || triggerforce || (staticdirection==0 && $progress<1 && _nc.hasClass("rev-static-visbile")))) + if (($progress<1 && $progress>0) || + ($progress==0 && $start!="bytrigger" && $lts!="keep") || + ($progress==0 && $start!="bytrigger" && $lts=="keep" && $cts=="on") || + ($start=="bytrigger" && $lts=="keep" && $cts=="on")) { + tl.resume($time); + _R.toggleState(_nc.data('layertoggledby')) + } + } + + //punchgs.TweenLite.set(_mw,{width:eow, height:eoh}); + if (_nc.data('loopanimation')=="on") punchgs.TweenLite.set(_lw,{minWidth:eow,minHeight:eoh}); + + if (_nc.data('slidelink')!=0 && (_nc.data('slidelink')==1 || _nc.hasClass("slidelink"))) { + punchgs.TweenLite.set(_mw,{width:"100%", height:"100%"}); + _nc.data('slidelink',1); + } else { + punchgs.TweenLite.set(_mw,{width:"auto", height:"auto"}); + _nc.data('slidelink',0); + } + }, + + ////////////////////////////// + // MOVE OUT THE CAPTIONS // + //////////////////////////// + endMoveCaption : function(_nc,_mw,_pw,opt) { + + _mw = _mw || _nc.data('_mw'); + _pw = _pw || _nc.data('_pw'); + + // Kill TimeLine of "in Animation" + _nc.data('outstarted',1); + + + if (_nc.data('timeline')) + _nc.data('timeline').pause(); + else + if (_nc.data('_pw')===undefined) return; + + var tl = new punchgs.TimelineLite(), + subtl = new punchgs.TimelineLite(), + newmasktl = new punchgs.TimelineLite(), + $from = getAnimDatas(newAnimObject(),_nc.data('transform_in'),opt.sdir==1), + $to = _nc.data('transform_out') ? getAnimDatas(newEndAnimObject(),_nc.data('transform_out'),opt.sdir==1) : getAnimDatas(newEndAnimObject(),_nc.data('transform_in'),opt.sdir==1), + animobject = _nc.data('splitout') && _nc.data('splitout').match(/words|chars|lines/g) ? _nc.data('mySplitText')[_nc.data('splitout')] : _nc, + elemdelay = (_nc.data('endelementdelay') == undefined) ? 0 : _nc.data('endelementdelay'), + iw = _nc.innerWidth(), + ih = _nc.innerHeight(), + p = _pw.position(); + + // IF REVERSE AUTO ANIMATION ENABLED + if (_nc.data('transform_out') && _nc.data('transform_out').match(/auto:auto/g)) { + $from.speed = $to.speed; + $from.anim.ease = $to.anim.ease; + $to = $from; + } + + var $mask_to = getMaskDatas(_nc.data('mask_out')); + + $to.anim.x = $to.anim.x * opt.bw || getBorderDirections($to.anim.x,opt,iw,ih,p.top,p.left,"horizontal"); + $to.anim.y = $to.anim.y * opt.bw || getBorderDirections($to.anim.y,opt,iw,ih,p.top,p.left,"vertical"); + + subtl.eventCallback("onStart",function(){ + var data={}; + data.layer = _nc; + data.eventtype = "leavestage"; + data.layertype = _nc.data('layertype'); + data.layersettings = _nc.data(); + _nc.data('active',false); + opt.c.trigger("revolution.layeraction",[data]); + }); + + subtl.eventCallback("onComplete",function(){ + punchgs.TweenLite.set(_nc,{visibility:"hidden"}); + punchgs.TweenLite.set(_pw,{visibility:"hidden"}); + var data={}; + data.layer = _nc; + data.eventtype = "leftstage"; + _nc.data('active',false); + data.layertype = _nc.data('layertype'); + data.layersettings = _nc.data(); + opt.c.trigger("revolution.layeraction",[data]); + if (_R.stopVideo) _R.stopVideo(_nc,opt); + }); + + + + tl.add(subtl.staggerTo(animobject,$to.speed,$to.anim,elemdelay),0); + + // MASK ANIMATION + if ($mask_to) { + $mask_to.anim.ease = $to.anim.ease; + $mask_to.anim.overflow = "hidden"; + + $mask_to.anim.x = $mask_to.anim.x * opt.bw || getBorderDirections($mask_to.anim.x,opt,iw,ih,p.top,p.left,"horizontal"); + $mask_to.anim.y = $mask_to.anim.y * opt.bw || getBorderDirections($mask_to.anim.y,opt,iw,ih,p.top,p.left,"vertical"); + + + tl.add(newmasktl.to(_mw,$to.speed,$mask_to.anim,elemdelay),0); + } else { + tl.add(newmasktl.set(_mw,{overflow:"visible",overwrite:"auto"},elemdelay),0); + } + + _nc.data('timeline_out',tl); + }, + + ////////////////////////// + // REMOVE THE CAPTIONS // + ///////////////////////// + removeTheCaptions : function(actli,opt) { + var removetime = 0, + index = actli.data('index'), + allcaptions = new Array; + + // COLLECT ALL CAPTIONS + if (opt.layers[index]) + jQuery.each(opt.layers[index], function(i,a) { allcaptions.push(a); }); + if (opt.layers["static"]) + jQuery.each(opt.layers["static"], function(i,a) { allcaptions.push(a); }); + + + + //punchgs.TweenLite.killDelayedCallsTo(_R.endMoveCaption,false,opt.sliderscrope); + + if (opt.endtimeouts && opt.endtimeouts.length>0) + jQuery.each(opt.endtimeouts,function(i,timeo) { clearTimeout(timeo);}); + opt.endtimeouts = new Array(); + + // GO THROUGH ALL CAPTIONS, AND MANAGE THEM + if (allcaptions) + jQuery.each(allcaptions,function(i) { + var _nc=jQuery(this), + stat = staticLayerStatus(_nc,opt,"out"); + if (stat != 0 ) { //0 == ignore + killCaptionLoops(_nc); + clearTimeout(_nc.data('videoplaywait')); + if (_R.stopVideo) _R.stopVideo(_nc,opt); + _R.endMoveCaption(_nc,null,null,opt) + //opt.playingvideos = []; + if (_R.removeMediaFromList) _R.removeMediaFromList(_nc,opt); + opt.lastplayedvideos = []; + } + }); + } +}); + + + + + +/********************************************************************************************** + - HELPER FUNCTIONS FOR LAYER TRANSFORMS - +**********************************************************************************************/ + + +///////////////////////////////////// +// - CREATE ANIMATION OBJECT - // +///////////////////////////////////// +var newAnimObject = function() { + var a = new Object(); + a.anim = new Object(); + a.anim.x=0; + a.anim.y=0; + a.anim.z=0; + a.anim.rotationX = 0; + a.anim.rotationY = 0; + a.anim.rotationZ = 0; + a.anim.scaleX = 1; + a.anim.scaleY = 1; + a.anim.skewX = 0; + a.anim.skewY = 0; + a.anim.opacity=1; + a.anim.transformOrigin = "50% 50%"; + a.anim.transformPerspective = 600; + a.anim.rotation = 0; + a.anim.ease = punchgs.Power3.easeOut; + a.anim.force3D = "auto"; + a.speed = 0.3; + a.anim.autoAlpha = 1; + a.anim.visibility = "visible"; + a.anim.overwrite = "all"; + return a; +} + +var newSVGHoverAnimObject = function() { + var a = new Object(); + a.anim = new Object(); + + a.anim.stroke="none"; + a.anim.strokeWidth=0; + a.anim.strokeDasharray="none"; + a.anim.strokeDashoffset="0"; + return a; +} + +var setSVGAnimObject = function(data,a) { + var customarray = data.split(';'); + if (customarray) + jQuery.each(customarray,function(index,pa) { + var p = pa.split(":") + var w = p[0], + v = p[1]; + + if (w=="sc") a.anim.stroke=v; + if (w=="sw") a.anim.strokeWidth=v; + if (w=="sda") a.anim.strokeDasharray=v; + if (w=="sdo") a.anim.strokeDashoffset=v; + }); + return a; +} + + + +var newEndAnimObject = function() { + var a = new Object(); + a.anim = new Object(); + a.anim.x=0; + a.anim.y=0; + a.anim.z=0; + return a; +} + +var newHoverAnimObject = function() { + var a = new Object(); + a.anim = new Object(); + a.speed = 0.2; + return a; +} + +var animDataTranslator = function(val,defval) { + + if (jQuery.isNumeric(parseFloat(val))) { + return parseFloat(val); + } else + if (val===undefined || val==="inherit") { + return defval; + } else + if (val.split("{").length>1) { + var min = val.split(","), + max = parseFloat(min[1].split("}")[0]); + min = parseFloat(min[0].split("{")[1]); + val = Math.random()*(max-min) + min; + } + return val; +} + +var getBorderDirections = function (x,o,w,h,top,left,direction) { + + if (!jQuery.isNumeric(x) && x.match(/%]/g)) { + x = x.split("[")[1].split("]")[0]; + if (direction=="horizontal") + x = (w+2)*parseInt(x,0)/100; + else + if (direction=="vertical") + x = (h+2)*parseInt(x,0)/100; + } else { + + + x = x === "layer_left" ? (0-w) : x === "layer_right" ? w : x; + x = x === "layer_top" ? (0-h) : x==="layer_bottom" ? h : x; + x = x === "left" || x==="stage_left" ? (0-w-left) : x === "right" || x==="stage_right" ? o.conw-left : x === "center" || x === "stage_center" ? (o.conw/2 - w/2)-left : x; + x = x === "top" || x==="stage_top" ? (0-h-top) : x==="bottom" || x==="stage_bottom" ? o.conh-top : x === "middle" || x === "stage_middle" ? (o.conh/2 - h/2)-top : x; + } + + return x; +} + +/////////////////////////////////////////////////// +// ANALYSE AND READ OUT DATAS FROM HTML CAPTIONS // +/////////////////////////////////////////////////// +var getAnimDatas = function(frm,data,reversed) { + var o = new Object(); + o = jQuery.extend(true,{},o, frm); + if (data === undefined) + return o; + + var customarray = data.split(';'); + if (customarray) + jQuery.each(customarray,function(index,pa) { + var p = pa.split(":") + var w = p[0], + v = p[1]; + + + if (reversed && v!=undefined && v.length>0 && v.match(/\(R\)/)) { + v = v.replace("(R)",""); + v = v==="right" ? "left" : v==="left" ? "right" : v==="top" ? "bottom" : v==="bottom" ? "top" : v; + if (v[0]==="[" && v[1]==="-") v = v.replace("[-","["); + else + if (v[0]==="[" && v[1]!=="-") v = v.replace("[","[-"); + else + if (v[0]==="-") v = v.replace("-",""); + else + if (v[0].match(/[1-9]/)) v="-"+v; + + } + + if (v!=undefined) { + v = v.replace(/\(R\)/,''); + if (w=="rotationX" || w=="rX") o.anim.rotationX = animDataTranslator(v,o.anim.rotationX)+"deg"; + if (w=="rotationY" || w=="rY") o.anim.rotationY = animDataTranslator(v,o.anim.rotationY)+"deg"; + if (w=="rotationZ" || w=="rZ") o.anim.rotation = animDataTranslator(v,o.anim.rotationZ)+"deg"; + if (w=="scaleX" || w=="sX") o.anim.scaleX = animDataTranslator(v,o.anim.scaleX); + if (w=="scaleY" || w=="sY") o.anim.scaleY = animDataTranslator(v,o.anim.scaleY); + if (w=="opacity" || w=="o") o.anim.opacity = animDataTranslator(v,o.anim.opacity); + if (w=="skewX" || w=="skX") o.anim.skewX = animDataTranslator(v,o.anim.skewX); + if (w=="skewY" || w=="skY") o.anim.skewY = animDataTranslator(v,o.anim.skewY); + if (w=="x") o.anim.x = animDataTranslator(v,o.anim.x); + if (w=="y") o.anim.y = animDataTranslator(v,o.anim.y); + if (w=="z") o.anim.z = animDataTranslator(v,o.anim.z); + if (w=="transformOrigin" || w=="tO") o.anim.transformOrigin = v.toString(); + if (w=="transformPerspective" || w=="tP") o.anim.transformPerspective=parseInt(v,0); + if (w=="speed" || w=="s") o.speed = parseFloat(v)/1000; + if (w=="ease" || w=="e") o.anim.ease = v; + } + + }) + + return o; +} + + + +///////////////////////////////// +// BUILD MASK ANIMATION OBJECT // +///////////////////////////////// +var getMaskDatas = function(d) { + if (d === undefined) + return false; + + var o = new Object(); + o.anim = new Object(); + var s = d.split(';') + if (s) + jQuery.each(s,function(index,param) { + param = param.split(":") + var w = param[0], + v = param[1]; + if (w=="x") o.anim.x = v; + if (w=="y") o.anim.y = v; + if (w=="s") o.speed = parseFloat(v)/1000; + if (w=="e" || w=="ease") o.anim.ease = v; + }); + + return o; +} + + + + +//////////////////////// +// SHOW THE CAPTION // +/////////////////////// + +var makeArray = function(obj,opt,show) { + + if (obj==undefined) obj = 0; + + if (!jQuery.isArray(obj) && jQuery.type(obj)==="string" && (obj.split(",").length>1 || obj.split("[").length>1)) { + obj = obj.replace("[",""); + obj = obj.replace("]",""); + var newobj = obj.match(/'/g) ? obj.split("',") : obj.split(","); + obj = new Array(); + if (newobj) + jQuery.each(newobj,function(index,element) { + element = element.replace("'",""); + element = element.replace("'",""); + obj.push(element); + }) + } else { + var tempw = obj; + if (!jQuery.isArray(obj) ) { + obj = new Array(); + obj.push(tempw); + } + } + + var tempw = obj[obj.length-1]; + + if (obj.length=ai) || (s == ai) || (e == ai)){ + if (!dontmod) { + _nc.addClass("rev-static-visbile"); + _nc.removeClass("rev-static-hidden"); + } + a = 1; + } else + a = 0; + + // IF STATIC ITEM ALREADY VISIBLE + } else { + if ((e==ai) || (s > ai) || (e < ai)) + a = 2; + else + a = 0; + } + } else { + // IF STATIC ITEM CURRENTLY NOT VISIBLE + if (_nc.hasClass("rev-static-visbile")) { + if ((s > ai) || + (e < ai)) { + a = 2; + if (!dontmod) { + _nc.removeClass("rev-static-visbile"); + _nc.addClass("rev-static-hidden"); + } + } else { + a = 0; + } + } else { + a = 2; + } + } + } + + return a; // 1 -> In, 2-> Out 0-> Ignore -1-> Not Static +} + + + +var convertHoverStyle = function(t,s) { + if (s===undefined) return t; + s = s.replace("c:","color:"); + s = s.replace("bg:","background-color:"); + s = s.replace("bw:","border-width:"); + s = s.replace("bc:","border-color:"); + s = s.replace("br:","borderRadius:"); + s = s.replace("bs:","border-style:"); + s = s.replace("td:","text-decoration:"); + var sp = s.split(";"); + if (sp) + jQuery.each(sp,function(key,cont){ + var attr = cont.split(":"); + if (attr[0].length>0) + t.anim[attr[0]] = attr[1]; + }) + + return t; + +} +//////////////////////////////////////////////// +// - GET CSS ATTRIBUTES OF ELEMENT - // +//////////////////////////////////////////////// +var getcssParams = function(nc,level) { + + var obj = new Object(), + gp = false, + pc; + + // CHECK IF CURRENT ELEMENT SHOULD RESPECT REKURSICVE RESIZES, AND SHOULD OWN THE SAME ATTRIBUTES FROM PARRENT ELEMENT + if (level=="rekursive") { + pc = nc.closest('.tp-caption'); + if (pc && nc.css("fontSize") === pc.css("fontSize")) + gp = true; + } + + obj.basealign = nc.data('basealign') || "grid"; + obj.fontSize = gp ? pc.data('fontsize')===undefined ? parseInt(pc.css('fontSize'),0) || 0 : pc.data('fontsize') : nc.data('fontsize')===undefined ? parseInt(nc.css('fontSize'),0) || 0 : nc.data('fontsize'); + obj.fontWeight = gp ? pc.data('fontweight')===undefined ? parseInt(pc.css('fontWeight'),0) || 0 : pc.data('fontweight') : nc.data('fontweight')===undefined ? parseInt(nc.css('fontWeight'),0) || 0 : nc.data('fontweight'); + obj.whiteSpace = gp ? pc.data('whitespace')===undefined ? pc.css('whitespace') || "normal" : pc.data('whitespace') : nc.data('whitespace')===undefined ? nc.css('whitespace') || "normal" : nc.data('whitespace'); + + + if (jQuery.inArray(nc.data('layertype'),["video","image","audio"])===-1 && !nc.is("img")) + obj.lineHeight = gp ? pc.data('lineheight')===undefined ? parseInt(pc.css('lineHeight'),0) || 0 : pc.data('lineheight') : nc.data('lineheight')===undefined ? parseInt(nc.css('lineHeight'),0) || 0 : nc.data('lineheight'); + else + obj.lineHeight = 0; + + obj.letterSpacing = gp ? pc.data('letterspacing')===undefined ? parseFloat(pc.css('letterSpacing'),0) || 0 : pc.data('letterspacing') : nc.data('letterspacing')===undefined ? parseFloat(nc.css('letterSpacing')) || 0 : nc.data('letterspacing'); + + obj.paddingTop = nc.data('paddingtop')===undefined ? parseInt(nc.css('paddingTop'),0) || 0 : nc.data('paddingtop'); + obj.paddingBottom = nc.data('paddingbottom')===undefined ? parseInt(nc.css('paddingBottom'),0) || 0 : nc.data('paddingbottom'); + obj.paddingLeft = nc.data('paddingleft')===undefined ? parseInt(nc.css('paddingLeft'),0) || 0 : nc.data('paddingleft'); + obj.paddingRight = nc.data('paddingright')===undefined ? parseInt(nc.css('paddingRight'),0) || 0 : nc.data('paddingright'); + + obj.marginTop = nc.data('margintop')===undefined ? parseInt(nc.css('marginTop'),0) || 0 : nc.data('margintop'); + obj.marginBottom = nc.data('marginbottom')===undefined ? parseInt(nc.css('marginBottom'),0) || 0 : nc.data('marginbottom'); + obj.marginLeft = nc.data('marginleft')===undefined ? parseInt(nc.css('marginLeft'),0) || 0 : nc.data('marginleft'); + obj.marginRight = nc.data('marginright')===undefined ? parseInt(nc.css('marginRight'),0) || 0 : nc.data('marginright'); + + obj.borderTopWidth = nc.data('bordertopwidth')===undefined ? parseInt(nc.css('borderTopWidth'),0) || 0 : nc.data('bordertopwidth'); + obj.borderBottomWidth = nc.data('borderbottomwidth')===undefined ? parseInt(nc.css('borderBottomWidth'),0) || 0 : nc.data('borderbottomwidth'); + obj.borderLeftWidth = nc.data('borderleftwidth')===undefined ? parseInt(nc.css('borderLeftWidth'),0) || 0 : nc.data('borderleftwidth'); + obj.borderRightWidth = nc.data('borderrightwidth')===undefined ? parseInt(nc.css('borderRightWidth'),0) || 0 : nc.data('borderrightwidth'); + + if (level!="rekursive") { + obj.color = nc.data('color')===undefined ? "nopredefinedcolor" : nc.data('color'); + + obj.whiteSpace = gp ? pc.data('whitespace')===undefined ? pc.css('whiteSpace') || "nowrap" : pc.data('whitespace') : nc.data('whitespace')===undefined ? nc.css('whiteSpace') || "nowrap" : nc.data('whitespace'); + + obj.minWidth = nc.data('width')===undefined ? parseInt(nc.css('minWidth'),0) || 0 : nc.data('width'); + obj.minHeight = nc.data('height')===undefined ? parseInt(nc.css('minHeight'),0) || 0 : nc.data('height'); + + if (nc.data('videowidth')!=undefined && nc.data('videoheight')!=undefined) { + var vwid = nc.data('videowidth'), + vhei = nc.data('videoheight'); + vwid = vwid==="100%" ? "none" : vwid; + vhei = vhei==="100%" ? "none" : vhei; + nc.data('width',vwid); + nc.data('height',vhei); + } + + obj.maxWidth = nc.data('width')===undefined ? parseInt(nc.css('maxWidth'),0) || "none" : nc.data('width'); + obj.maxHeight = nc.data('height')===undefined ? parseInt(nc.css('maxHeight'),0) || "none" : nc.data('height'); + + obj.wan = nc.data('wan')===undefined ? parseInt(nc.css('-webkit-transition'),0) || "none" : nc.data('wan'); + obj.moan = nc.data('moan')===undefined ? parseInt(nc.css('-moz-animation-transition'),0) || "none" : nc.data('moan'); + obj.man = nc.data('man')===undefined ? parseInt(nc.css('-ms-animation-transition'),0) || "none" : nc.data('man'); + obj.ani = nc.data('ani')===undefined ? parseInt(nc.css('transition'),0) || "none" : nc.data('ani'); + } + + + + obj.styleProps = nc.css(["background-color", + "border-top-color", + "border-bottom-color", + "border-right-color", + "border-left-color", + "border-top-style", + "border-bottom-style", + "border-left-style", + "border-right-style", + "border-left-width", + "border-right-width", + "border-bottom-width", + "border-top-width", + "color", + "text-decoration", + "font-style", + "borderTopLeftRadius", + "borderTopRightRadius", + "borderBottomLeftRadius", + "borderBottomRightRadius" + ]); + return obj; +} + +// READ SINGLE OR ARRAY VALUES OF OBJ CSS ELEMENTS +var setResponsiveCSSValues = function(obj,opt) { + var newobj = new Object(); + if (obj) + jQuery.each(obj,function(key,val){ + newobj[key] = makeArray(val,opt)[opt.curWinRange] || obj[key]; + }) + return newobj; +} + +var minmaxconvert = function(a,m,r,fr) { + + a = jQuery.isNumeric(a) ? (a * m)+"px" : a; + a = a==="full" ? fr : a==="auto" || a==="none" ? r : a; + return a; + +} + +///////////////////////////////////////////////////////////////// +// - CALCULATE THE RESPONSIVE SIZES OF THE CAPTIONS - // +///////////////////////////////////////////////////////////////// +var calcCaptionResponsive = function(nc,opt,level,responsive) { + var getobj; + try{ + if (nc[0].nodeName=="BR" || nc[0].tagName=="br") + return false; + } catch(e) { + + } + + if (nc.data('cssobj')===undefined) { + getobj = getcssParams(nc,level); + nc.data('cssobj',getobj); + } else + getobj = nc.data('cssobj'); + + var obj = setResponsiveCSSValues(getobj,opt); + + var bw=opt.bw, + bh=opt.bh; + + if (responsive==="off") { + bw=1; + bh=1; + } + + // IE8 FIX FOR AUTO LINEHEIGHT + if (obj.lineHeight=="auto") obj.lineHeight = obj.fontSize+4; + + + if (!nc.hasClass("tp-splitted")) { + + nc.css("-webkit-transition", "none"); + nc.css("-moz-transition", "none"); + nc.css("-ms-transition", "none"); + nc.css("transition", "none"); + + var hashover = nc.data('transform_hover')!==undefined || nc.data('style_hover')!==undefined; + if (hashover) punchgs.TweenLite.set(nc,obj.styleProps); + + punchgs.TweenLite.set(nc,{ + + fontSize: Math.round((obj.fontSize * bw))+"px", + fontWeight: obj.fontWeight, + letterSpacing:Math.floor((obj.letterSpacing * bw))+"px", + paddingTop: Math.round((obj.paddingTop * bh)) + "px", + paddingBottom: Math.round((obj.paddingBottom * bh)) + "px", + paddingLeft: Math.round((obj.paddingLeft* bw)) + "px", + paddingRight: Math.round((obj.paddingRight * bw)) + "px", + marginTop: (obj.marginTop * bh) + "px", + marginBottom: (obj.marginBottom * bh) + "px", + marginLeft: (obj.marginLeft * bw) + "px", + marginRight: (obj.marginRight * bw) + "px", + borderTopWidth: Math.round(obj.borderTopWidth * bh) + "px", + borderBottomWidth: Math.round(obj.borderBottomWidth * bh) + "px", + borderLeftWidth: Math.round(obj.borderLeftWidth * bw) + "px", + borderRightWidth: Math.round(obj.borderRightWidth * bw) + "px", + lineHeight: Math.round(obj.lineHeight * bh) + "px", + overwrite:"auto"}); + + + if (level!="rekursive") { + + + + var winw = obj.basealign =="slide" ? opt.ulw : opt.gridwidth[opt.curWinRange], + winh = obj.basealign =="slide" ? opt.ulh : opt.gridheight[opt.curWinRange], + maxw = minmaxconvert(obj.maxWidth,bw,"none",winw), + maxh = minmaxconvert(obj.maxHeight,bh,"none",winh), + minw = minmaxconvert(obj.minWidth,bw,"0px",winw), + minh = minmaxconvert(obj.minHeight,bh,"0px",winh); + + punchgs.TweenLite.set(nc,{ + maxWidth:maxw, + maxHeight:maxh, + minWidth:minw, + minHeight:minh, + whiteSpace:obj.whiteSpace, + overwrite:"auto" + }); + + if (obj.color!="nopredefinedcolor") + punchgs.TweenLite.set(nc,{color:obj.color,overwrite:"auto"}); + + if (nc.data('svg_src')!=undefined) { + if (obj.color!="nopredefinedcolor") + punchgs.TweenLite.set(nc.find('svg'),{fill:obj.color,overwrite:"auto"}); + else + punchgs.TweenLite.set(nc.find('svg'),{fill:obj.styleProps.color,overwrite:"auto"}); + } + + } + + setTimeout(function() { + nc.css("-webkit-transition", nc.data('wan')); + nc.css("-moz-transition", nc.data('moan')); + nc.css("-ms-transition", nc.data('man')); + nc.css("transition", nc.data('ani')); + + },30); + } +} + + +////////////////////// +// CAPTION LOOPS // +////////////////////// +var callCaptionLoops = function(el,factor) { + + // SOME LOOPING ANIMATION ON INTERNAL ELEMENTS + if (el.hasClass("rs-pendulum")) { + if (el.data('loop-timeline')==undefined) { + el.data('loop-timeline',new punchgs.TimelineLite); + var startdeg = el.data('startdeg')==undefined ? -20 : el.data('startdeg'), + enddeg = el.data('enddeg')==undefined ? 20 : el.data('enddeg'), + speed = el.data('speed')==undefined ? 2 : el.data('speed'), + origin = el.data('origin')==undefined ? "50% 50%" : el.data('origin'), + easing = el.data('easing')==undefined ? punchgs.Power2.easeInOut : el.data('ease'); + + + startdeg = startdeg * factor; + enddeg = enddeg * factor; + + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",rotation:startdeg,transformOrigin:origin},{rotation:enddeg,ease:easing})); + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",rotation:enddeg,transformOrigin:origin},{rotation:startdeg,ease:easing,onComplete:function() { + el.data('loop-timeline').restart(); + }})); + } + + } + + // SOME LOOPING ANIMATION ON INTERNAL ELEMENTS + if (el.hasClass("rs-rotate")) { + if (el.data('loop-timeline')==undefined) { + el.data('loop-timeline',new punchgs.TimelineLite); + var startdeg = el.data('startdeg')==undefined ? 0 : el.data('startdeg'), + enddeg = el.data('enddeg')==undefined ? 360 : el.data('enddeg'); + speed = el.data('speed')==undefined ? 2 : el.data('speed'), + origin = el.data('origin')==undefined ? "50% 50%" : el.data('origin'), + easing = el.data('easing')==undefined ? punchgs.Power2.easeInOut : el.data('easing'); + + startdeg = startdeg * factor; + enddeg = enddeg * factor; + + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",rotation:startdeg,transformOrigin:origin},{rotation:enddeg,ease:easing,onComplete:function() { + el.data('loop-timeline').restart(); + }})); + } + + } + + // SOME LOOPING ANIMATION ON INTERNAL ELEMENTS + if (el.hasClass("rs-slideloop")) { + if (el.data('loop-timeline')==undefined) { + el.data('loop-timeline',new punchgs.TimelineLite); + var xs = el.data('xs')==undefined ? 0 : el.data('xs'), + ys = el.data('ys')==undefined ? 0 : el.data('ys'), + xe = el.data('xe')==undefined ? 0 : el.data('xe'), + ye = el.data('ye')==undefined ? 0 : el.data('ye'), + speed = el.data('speed')==undefined ? 2 : el.data('speed'), + easing = el.data('easing')==undefined ? punchgs.Power2.easeInOut : el.data('easing'); + + xs = xs * factor; + ys = ys * factor; + xe = xe * factor; + ye = ye * factor; + + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",x:xs,y:ys},{x:xe,y:ye,ease:easing})); + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",x:xe,y:ye},{x:xs,y:ys,onComplete:function() { + el.data('loop-timeline').restart(); + }})); + } + } + + // SOME LOOPING ANIMATION ON INTERNAL ELEMENTS + if (el.hasClass("rs-pulse")) { + if (el.data('loop-timeline')==undefined) { + el.data('loop-timeline',new punchgs.TimelineLite); + var zoomstart = el.data('zoomstart')==undefined ? 0 : el.data('zoomstart'), + zoomend = el.data('zoomend')==undefined ? 0 : el.data('zoomend'), + speed = el.data('speed')==undefined ? 2 : el.data('speed'), + easing = el.data('easing')==undefined ? punchgs.Power2.easeInOut : el.data('easing'); + + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",scale:zoomstart},{scale:zoomend,ease:easing})); + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(el,speed,{force3D:"auto",scale:zoomend},{scale:zoomstart,onComplete:function() { + el.data('loop-timeline').restart(); + }})); + } + } + + if (el.hasClass("rs-wave")) { + if (el.data('loop-timeline')==undefined) { + el.data('loop-timeline',new punchgs.TimelineLite); + + var angle= el.data('angle')==undefined ? 10 : parseInt(el.data('angle'),0), + radius = el.data('radius')==undefined ? 10 : parseInt(el.data('radius'),0), + speed = el.data('speed')==undefined ? -20 : el.data('speed'), + origin = el.data('origin')==undefined ? "50% 50%" : el.data('origin'), + ors = origin.split(" "), + oo = new Object(); + + if (ors.length>=1) { + oo.x = ors[0]; + oo.y = ors[1]; + } else { + oo.x = "50%"; + oo.y = "50%"; + } + + angle = angle*factor; + radius = radius * factor; + + var yo = (0-el.height()/2) + (radius*(-1+(parseInt(oo.y,0)/100))), + xo = (el.width())*(-0.5+(parseInt(oo.x,0)/100)), + angobj= {a:0, ang : angle, element:el, unit:radius, xoffset:xo, yoffset:yo}; + + + el.data('loop-timeline').append(new punchgs.TweenLite.fromTo(angobj,speed, + { a:360 }, + { a:0, + force3D:"auto", + ease:punchgs.Linear.easeNone, + onUpdate:function() { + + var rad = angobj.a * (Math.PI / 180); + punchgs.TweenLite.to(angobj.element,0.1,{force3D:"auto",x:angobj.xoffset+Math.cos(rad) * angobj.unit, y:angobj.yoffset+angobj.unit * (1 - Math.sin(rad))}); + + }, + onComplete:function() { + el.data('loop-timeline').restart(); + } + } + )); + } + } +} + +var killCaptionLoops = function(nextcaption) { + // SOME LOOPING ANIMATION ON INTERNAL ELEMENTS + nextcaption.find('.rs-pendulum, .rs-slideloop, .rs-pulse, .rs-wave').each(function() { + var el = jQuery(this); + if (el.data('loop-timeline')!=undefined) { + el.data('loop-timeline').pause(); + el.data('loop-timeline',null); + } + }); +} + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.migration.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.migration.js new file mode 100644 index 0000000..f552d16 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.migration.js @@ -0,0 +1,260 @@ +/***************************************************************************************************** + * jquery.themepunch.revmigrate.js - jQuery Plugin for Revolution Slider Migration from 4.x to 5.0 + * @version: 1.0.2 (20.01.2016) + * @requires jQuery v1.7 or later (tested on 1.9) + * @author ThemePunch +*****************************************************************************************************/ + + +(function($) { + +var _R = jQuery.fn.revolution; + +/////////////////////////////////////////// +// EXTENDED FUNCTIONS AVAILABLE GLOBAL // +/////////////////////////////////////////// +jQuery.extend(true,_R, { + + // OUR PLUGIN HERE :) + migration: function(container,options) { + // PREPARE THE NEW OPTIONS + options = prepOptions(options); + // PREPARE LAYER ANIMATIONS + prepLayerAnimations(container,options); + return options; + } + }); + +var prepOptions = function(o) { + + // PARALLAX FALLBACKS + if (o.parallaxLevels || o.parallaxBgFreeze) { + var p = new Object(); + p.type = o.parallax + p.levels = o.parallaxLevels; + p.bgparallax = o.parallaxBgFreeze == "on" ? "off" : "on"; + + p.disable_onmobile = o.parallaxDisableOnMobile; + o.parallax = p; + } + if (o.disableProgressBar === undefined) + o.disableProgressBar = o.hideTimerBar || "off"; + + // BASIC FALLBACKS + if (o.startwidth || o.startheight) { + o.gridwidth = o.startwidth; + o.gridheight = o.startheight; + } + + if (o.sliderType===undefined) + o.sliderType = "standard"; + + if (o.fullScreen==="on") + o.sliderLayout = "fullscreen"; + + if (o.fullWidth==="on") + o.sliderLayout = "fullwidth"; + + if (o.sliderLayout===undefined) + o.sliderLayout = "auto"; + + + // NAVIGATION ARROW FALLBACKS + if (o.navigation===undefined) { + var n = new Object(); + if (o.navigationArrows=="solo" || o.navigationArrows=="nextto") { + var a = new Object(); + a.enable = true; + a.style = o.navigationStyle || ""; + a.hide_onmobile = o.hideArrowsOnMobile==="on" ? true : false; + a.hide_onleave = o.hideThumbs >0 ? true : false; + a.hide_delay = o.hideThumbs>0 ? o.hideThumbs : 200; + a.hide_delay_mobile = o.hideNavDelayOnMobile || 1500; + a.hide_under = 0; + a.tmp = ''; + a.left = { + h_align:o.soloArrowLeftHalign, + v_align:o.soloArrowLeftValign, + h_offset:o.soloArrowLeftHOffset, + v_offset:o.soloArrowLeftVOffset + }; + a.right = { + h_align:o.soloArrowRightHalign, + v_align:o.soloArrowRightValign, + h_offset:o.soloArrowRightHOffset, + v_offset:o.soloArrowRightVOffset + }; + n.arrows = a; + } + if (o.navigationType=="bullet") { + var b = new Object(); + b.style = o.navigationStyle || ""; + b.enable=true; + b.hide_onmobile = o.hideArrowsOnMobile==="on" ? true : false; + b.hide_onleave = o.hideThumbs >0 ? true : false; + b.hide_delay = o.hideThumbs>0 ? o.hideThumbs : 200; + b.hide_delay_mobile = o.hideNavDelayOnMobile || 1500; + b.hide_under = 0; + b.direction="horizontal"; + b.h_align=o.navigationHAlign || "center"; + b.v_align=o.navigationVAlign || "bottom"; + b.space=5; + b.h_offset=o.navigationHOffset || 0; + b.v_offset=o.navigationVOffset || 20; + b.tmp=''; + n.bullets = b; + } + if (o.navigationType=="thumb") { + var t = new Object(); + t.style=o.navigationStyle || ""; + t.enable=true; + t.width=o.thumbWidth || 100; + t.height=o.thumbHeight || 50; + t.min_width=o.thumbWidth || 100; + t.wrapper_padding=2; + t.wrapper_color="#f5f5f5"; + t.wrapper_opacity=1; + t.visibleAmount=o.thumbAmount || 3; + t.hide_onmobile = o.hideArrowsOnMobile==="on" ? true : false; + t.hide_onleave = o.hideThumbs >0 ? true : false; + t.hide_delay = o.hideThumbs>0 ? o.hideThumbs : 200; + t.hide_delay_mobile = o.hideNavDelayOnMobile || 1500; + t.hide_under = 0; + t.direction="horizontal"; + t.span=false; + t.position="inner"; + t.space=2; + t.h_align=o.navigationHAlign || "center"; + t.v_align=o.navigationVAlign || "bottom"; + t.h_offset=o.navigationHOffset || 0; + t.v_offset=o.navigationVOffset || 20; + t.tmp=''; + n.thumbnails = t; + } + + o.navigation = n; + + o.navigation.keyboardNavigation=o.keyboardNavigation || "on"; + o.navigation.onHoverStop=o.onHoverStop || "on"; + o.navigation.touch = { + touchenabled:o.touchenabled || "on", + swipe_treshold : o.swipe_treshold ||75, + swipe_min_touches : o.swipe_min_touches || 1, + drag_block_vertical:o.drag_block_vertical || false + }; + + } + + if (o.fallbacks==undefined) + o.fallbacks = { + isJoomla:o.isJoomla || false, + panZoomDisableOnMobile: o.parallaxDisableOnMobile || "off", + simplifyAll:o.simplifyAll || "on", + nextSlideOnWindowFocus:o.nextSlideOnWindowFocus || "off", + disableFocusListener:o.disableFocusListener || true + }; + + return o; + +} + +var prepLayerAnimations = function(container,opt) { + + var c = new Object(), + cw = container.width(), + ch = container.height(); + + c.skewfromleftshort = "x:-50;skX:85;o:0"; + c.skewfromrightshort = "x:50;skX:-85;o:0"; + c.sfl = "x:-50;o:0"; + c.sfr = "x:50;o:0"; + c.sft = "y:-50;o:0"; + c.sfb = "y:50;o:0"; + c.skewfromleft = "x:top;skX:85;o:0"; + c.skewfromright = "x:bottom;skX:-85;o:0"; + c.lfl = "x:top;o:0"; + c.lfr = "x:bottom;o:0"; + c.lft = "y:left;o:0"; + c.lfb = "y:right;o:0"; + c.fade = "o:0"; + var src = (Math.random()*720-360) + + + container.find('.tp-caption').each(function() { + var cp = jQuery(this), + rw = Math.random()*(cw*2)-cw, + rh = Math.random()*(ch*2)-ch, + rs = Math.random()*3, + rz = Math.random()*720-360, + rx = Math.random()*70-35, + ry = Math.random()*70-35, + ncc = cp.attr('class'); + c.randomrotate = "x:{-400,400};y:{-400,400};sX:{0,2};sY:{0,2};rZ:{-180,180};rX:{-180,180};rY:{-180,180};o:0;"; + + if (ncc.match("randomrotate")) cp.data('transform_in',c.randomrotate) + else + if (ncc.match(/\blfl\b/)) cp.data('transform_in',c.lfl) + else + if (ncc.match(/\blfr\b/)) cp.data('transform_in',c.lfr) + else + if (ncc.match(/\blft\b/)) cp.data('transform_in',c.lft) + else + if (ncc.match(/\blfb\b/)) cp.data('transform_in',c.lfb) + else + if (ncc.match(/\bsfl\b/)) cp.data('transform_in',c.sfl) + else + if (ncc.match(/\bsfr\b/)) cp.data('transform_in',c.sfr) + else + if (ncc.match(/\bsft\b/)) cp.data('transform_in',c.sft) + else + if (ncc.match(/\bsfb\b/)) cp.data('transform_in',c.sfb) + else + if (ncc.match(/\bskewfromleftshort\b/)) cp.data('transform_in',c.skewfromleftshort) + else + if (ncc.match(/\bskewfromrightshort\b/)) cp.data('transform_in',c.skewfromrightshort) + else + if (ncc.match(/\bskewfromleft\b/)) cp.data('transform_in',c.skewfromleft) + else + if (ncc.match(/\bskewfromright\b/)) cp.data('transform_in',c.skewfromright) + else + if (ncc.match(/\bfade\b/)) cp.data('transform_in',c.fade); + + if (ncc.match(/\brandomrotateout\b/)) cp.data('transform_out',c.randomrotate) + else + if (ncc.match(/\bltl\b/)) cp.data('transform_out',c.lfl) + else + if (ncc.match(/\bltr\b/)) cp.data('transform_out',c.lfr) + else + if (ncc.match(/\bltt\b/)) cp.data('transform_out',c.lft) + else + if (ncc.match(/\bltb\b/)) cp.data('transform_out',c.lfb) + else + if (ncc.match(/\bstl\b/)) cp.data('transform_out',c.sfl) + else + if (ncc.match(/\bstr\b/)) cp.data('transform_out',c.sfr) + else + if (ncc.match(/\bstt\b/)) cp.data('transform_out',c.sft) + else + if (ncc.match(/\bstb\b/)) cp.data('transform_out',c.sfb) + else + if (ncc.match(/\bskewtoleftshortout\b/)) cp.data('transform_out',c.skewfromleftshort) + else + if (ncc.match(/\bskewtorightshortout\b/)) cp.data('transform_out',c.skewfromrightshort) + else + if (ncc.match(/\bskewtoleftout\b/)) cp.data('transform_out',c.skewfromleft) + else + if (ncc.match(/\bskewtorightout\b/)) cp.data('transform_out',c.skewfromright) + else + if (ncc.match(/\bfadeout\b/)) cp.data('transform_out',c.fade); + + if (cp.data('customin')!=undefined) cp.data('transform_in',cp.data('customin')); + if (cp.data('customout')!=undefined) cp.data('transform_out',cp.data('customout')); + + }) + +} +})(jQuery); + + + + diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.navigation.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.navigation.js new file mode 100644 index 0000000..a135085 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.navigation.js @@ -0,0 +1,1124 @@ +/******************************************** + * REVOLUTION 5.2 EXTENSION - NAVIGATION + * @version: 1.2.3 (02.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +(function($) { + +var _R = jQuery.fn.revolution, + _ISM = _R.is_mobile(); + + +/////////////////////////////////////////// +// EXTENDED FUNCTIONS AVAILABLE GLOBAL // +/////////////////////////////////////////// +jQuery.extend(true,_R, { + + + hideUnHideNav : function(opt) { + var w = opt.c.width(), + a = opt.navigation.arrows, + b = opt.navigation.bullets, + c = opt.navigation.thumbnails, + d = opt.navigation.tabs; + + if (ckNO(a)) biggerNav(opt.c.find('.tparrows'),a.hide_under,w,a.hide_over); + if (ckNO(b)) biggerNav(opt.c.find('.tp-bullets'),b.hide_under,w,b.hide_over); + if (ckNO(c)) biggerNav(opt.c.parent().find('.tp-thumbs'),c.hide_under,w,c.hide_over); + if (ckNO(d)) biggerNav(opt.c.parent().find('.tp-tabs'),d.hide_under,w,d.hide_over); + + setONHeights(opt); + + }, + + resizeThumbsTabs : function(opt,force) { + + + if ((opt.navigation && opt.navigation.tabs.enable) || (opt.navigation && opt.navigation.thumbnails.enable)) { + var f = (jQuery(window).width()-480) / 500, + tws = new punchgs.TimelineLite(), + otab = opt.navigation.tabs, + othu = opt.navigation.thumbnails, + otbu = opt.navigation.bullets; + + tws.pause(); + f = f>1 ? 1 : f<0 ? 0 : f; + + if (ckNO(otab) && (force || otab.width>otab.min_width)) rtt(f,tws,opt.c,otab,opt.slideamount,'tab'); + if (ckNO(othu) && (force || othu.width>othu.min_width)) rtt(f,tws,opt.c,othu,opt.slideamount,'thumb'); + if (ckNO(otbu) && force) { + // SET BULLET SPACES AND POSITION + var bw = opt.c.find('.tp-bullets'); + + bw.find('.tp-bullet').each(function(i){ + var b = jQuery(this), + am = i+1, + w = b.outerWidth()+parseInt((otbu.space===undefined? 0:otbu.space),0), + h = b.outerHeight()+parseInt((otbu.space===undefined? 0:otbu.space),0); + + if (otbu.direction==="vertical") { + b.css({top:((am-1)*h)+"px", left:"0px"}); + bw.css({height:(((am-1)*h) + b.outerHeight()),width:b.outerWidth()}); + } + else { + b.css({left:((am-1)*w)+"px", top:"0px"}); + bw.css({width:(((am-1)*w) + b.outerWidth()),height:b.outerHeight()}); + } + }); + + } + + tws.play(); + + setONHeights(opt); + } + return true; + }, + + updateNavIndexes : function(opt) { + var _ = opt.c; + + function setNavIndex(a) { + if (_.find(a).lenght>0) { + _.find(a).each(function(i) { + jQuery(this).data('liindex',i); + }) + } + } + + setNavIndex('.tp-tab'); + setNavIndex('.tp-bullet'); + setNavIndex('.tp-thumb'); + _R.resizeThumbsTabs(opt,true); + _R.manageNavigation(opt); + }, + + + // PUT NAVIGATION IN POSITION AND MAKE SURE THUMBS AND TABS SHOWING TO THE RIGHT POSITION + manageNavigation : function(opt) { + + + var lof = _R.getHorizontalOffset(opt.c.parent(),"left"), + rof = _R.getHorizontalOffset(opt.c.parent(),"right"); + + if (ckNO(opt.navigation.bullets)) { + if (opt.sliderLayout!="fullscreen" && opt.sliderLayout!="fullwidth") { + // OFFSET ADJUSTEMENT FOR LEFT ARROWS BASED ON THUMBNAILS AND TABS OUTTER + opt.navigation.bullets.h_offset_old = opt.navigation.bullets.h_offset_old === undefined ? opt.navigation.bullets.h_offset : opt.navigation.bullets.h_offset_old; + opt.navigation.bullets.h_offset = opt.navigation.bullets.h_align==="center" ? opt.navigation.bullets.h_offset_old+lof/2 -rof/2: opt.navigation.bullets.h_offset_old+lof-rof; + } + setNavElPositions(opt.c.find('.tp-bullets'),opt.navigation.bullets); + } + + if (ckNO(opt.navigation.thumbnails)) + setNavElPositions(opt.c.parent().find('.tp-thumbs'),opt.navigation.thumbnails); + + if (ckNO(opt.navigation.tabs)) + setNavElPositions(opt.c.parent().find('.tp-tabs'),opt.navigation.tabs); + + if (ckNO(opt.navigation.arrows)) { + + if (opt.sliderLayout!="fullscreen" && opt.sliderLayout!="fullwidth") { + // OFFSET ADJUSTEMENT FOR LEFT ARROWS BASED ON THUMBNAILS AND TABS OUTTER + opt.navigation.arrows.left.h_offset_old = opt.navigation.arrows.left.h_offset_old === undefined ? opt.navigation.arrows.left.h_offset : opt.navigation.arrows.left.h_offset_old; + opt.navigation.arrows.left.h_offset = opt.navigation.arrows.left.h_align==="right" ? opt.navigation.arrows.left.h_offset_old+rof : opt.navigation.arrows.left.h_offset_old+lof; + + opt.navigation.arrows.right.h_offset_old = opt.navigation.arrows.right.h_offset_old === undefined ? opt.navigation.arrows.right.h_offset : opt.navigation.arrows.right.h_offset_old; + opt.navigation.arrows.right.h_offset = opt.navigation.arrows.right.h_align==="right" ? opt.navigation.arrows.right.h_offset_old+rof : opt.navigation.arrows.right.h_offset_old+lof; + } + setNavElPositions(opt.c.find('.tp-leftarrow.tparrows'),opt.navigation.arrows.left); + setNavElPositions(opt.c.find('.tp-rightarrow.tparrows'),opt.navigation.arrows.right); + } + + + if (ckNO(opt.navigation.thumbnails)) + moveThumbsInPosition(opt.c.parent().find('.tp-thumbs'),opt.navigation.thumbnails); + + if (ckNO(opt.navigation.tabs)) + moveThumbsInPosition(opt.c.parent().find('.tp-tabs'),opt.navigation.tabs); + }, + + + // MANAGE THE NAVIGATION + createNavigation : function(container,opt) { + + var cp = container.parent(), + _a = opt.navigation.arrows, _b = opt.navigation.bullets, _c = opt.navigation.thumbnails, _d = opt.navigation.tabs, + a = ckNO(_a), b = ckNO(_b), c = ckNO(_c), d = ckNO(_d); + + + // Initialise Keyboard Navigation if Option set so + initKeyboard(container,opt); + + // Initialise Mouse Scroll Navigation if Option set so + initMouseScroll(container,opt); + + //Draw the Arrows + if (a) initArrows(container,_a,opt); + + // BUILD BULLETS, THUMBS and TABS + opt.li.each(function(index) { + + var li_rtl = jQuery(opt.li[opt.li.length-1-index]); + var li = jQuery(this); + + if (b) + if (opt.navigation.bullets.rtl) + addBullet(container,_b,li_rtl,opt); + else + addBullet(container,_b,li,opt); + + if (c) + if (opt.navigation.thumbnails.rtl) + addThumb(container,_c,li_rtl,'tp-thumb',opt); + else + addThumb(container,_c,li,'tp-thumb',opt); + if (d) + if (opt.navigation.tabs.rtl) + addThumb(container,_d,li_rtl,'tp-tab',opt); + else + addThumb(container,_d,li,'tp-tab',opt); + }); + + // LISTEN TO SLIDE CHANGE - SET ACTIVE SLIDE BULLET + container.bind('revolution.slide.onafterswap revolution.nextslide.waiting',function() { + + //cp.find('.tp-bullet, .tp-thumb, .tp-tab').removeClass("selected"); + + var si = container.find(".next-revslide").length==0 ? container.find(".active-revslide").data("index") : container.find(".next-revslide").data("index"); + + container.find('.tp-bullet').each(function() { + var _t = jQuery(this); + if (_t.data('liref')===si) + _t.addClass("selected"); + else + _t.removeClass("selected"); + }); + + cp.find('.tp-thumb, .tp-tab').each(function() { + var _t = jQuery(this); + if (_t.data('liref')===si) { + _t.addClass("selected"); + if (_t.hasClass("tp-tab")) + moveThumbsInPosition(cp.find('.tp-tabs'),_d); + else + moveThumbsInPosition(cp.find('.tp-thumbs'),_c); + } else + _t.removeClass("selected"); + + }); + + var ai = 0, + f = false; + if (opt.thumbs) + jQuery.each(opt.thumbs,function(i,obj) { + ai = f === false ? i : ai; + f = obj.id === si || i === si ? true : f; + }); + + + var pi = ai>0 ? ai-1 : opt.slideamount-1, + ni = (ai+1)==opt.slideamount ? 0 : ai+1; + + + if (_a.enable === true) { + var inst = _a.tmp; + + jQuery.each(opt.thumbs[pi].params,function(i,obj) { + inst = inst.replace(obj.from,obj.to); + }); + _a.left.j.html(inst); + inst = _a.tmp; + if (ni>opt.slideamount) return; + jQuery.each(opt.thumbs[ni].params,function(i,obj) { + inst = inst.replace(obj.from,obj.to); + }); + _a.right.j.html(inst); + punchgs.TweenLite.set(_a.left.j.find('.tp-arr-imgholder'),{backgroundImage:"url("+opt.thumbs[pi].src+")"}); + punchgs.TweenLite.set(_a.right.j.find('.tp-arr-imgholder'),{backgroundImage:"url("+opt.thumbs[ni].src+")"}); + } + + + }); + + hdResets(_a); + hdResets(_b); + hdResets(_c); + hdResets(_d); + + + // HOVER OVER ELEMENTS SHOULD SHOW/HIDE NAVIGATION ELEMENTS + cp.on("mouseenter mousemove",function() { + + if (!cp.hasClass("tp-mouseover")) { + cp.addClass("tp-mouseover"); + + punchgs.TweenLite.killDelayedCallsTo(showHideNavElements); + + if (a && _a.hide_onleave) showHideNavElements(cp.find('.tparrows'),_a,"show"); + if (b && _b.hide_onleave) showHideNavElements(cp.find('.tp-bullets'),_b,"show"); + if (c && _c.hide_onleave) showHideNavElements(cp.find('.tp-thumbs'),_c,"show"); + if (d && _d.hide_onleave) showHideNavElements(cp.find('.tp-tabs'),_d,"show"); + + // ON MOBILE WE NEED TO HIDE ELEMENTS EVEN AFTER TOUCH + if (_ISM) { + cp.removeClass("tp-mouseover"); + callAllDelayedCalls(container,opt); + } + } + }); + + cp.on("mouseleave",function() { + cp.removeClass("tp-mouseover"); + callAllDelayedCalls(container,opt); + }); + + // FIRST RUN HIDE ALL ELEMENTS + if (a && _a.hide_onleave) showHideNavElements(cp.find('.tparrows'),_a,"hide",0); + if (b && _b.hide_onleave) showHideNavElements(cp.find('.tp-bullets'),_b,"hide",0); + if (c && _c.hide_onleave) showHideNavElements(cp.find('.tp-thumbs'),_c,"hide",0); + if (d && _d.hide_onleave) showHideNavElements(cp.find('.tp-tabs'),_d,"hide",0); + + // Initialise Swipe Navigation + if (c) swipeAction(cp.find('.tp-thumbs'),opt); + if (d) swipeAction(cp.find('.tp-tabs'),opt); + if (opt.sliderType==="carousel") swipeAction(container,opt,true); + if (opt.navigation.touch.touchenabled=="on") swipeAction(container,opt,"swipebased"); + } + +}); + + + + +///////////////////////////////// +// - INTERNAL FUNCTIONS - /// +///////////////////////////////// + + +var moveThumbsInPosition = function(container,opt) { + + var thumbs = container.hasClass("tp-thumbs") ? ".tp-thumbs" : ".tp-tabs", + thumbmask = container.hasClass("tp-thumbs") ? ".tp-thumb-mask" : ".tp-tab-mask", + thumbsiw = container.hasClass("tp-thumbs") ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper", + thumb = container.hasClass("tp-thumbs") ? ".tp-thumb" : ".tp-tab", + t=container.find(thumbmask), + el = t.find(thumbsiw), + thumbdir = opt.direction, + tw = thumbdir==="vertical" ? t.find(thumb).first().outerHeight(true)+opt.space : t.find(thumb).first().outerWidth(true)+opt.space, + tmw = thumbdir==="vertical" ? t.height() : t.width(), + ti = parseInt(t.find(thumb+'.selected').data('liindex'),0), + me = tmw/tw, + ts = thumbdir==="vertical" ? t.height() : t.width(), + tp = 0-(ti * tw), + els = thumbdir==="vertical" ? el.height() : el.width(), + curpos = tp < 0-(els-ts) ? 0-(els-ts) : curpos > 0 ? 0 : tp, + elp = el.data('offset'); + + + if (me>2) { + curpos = tp - (elp+tw) <= 0 ? tp - (elp+tw) < 0-tw ? elp : curpos + tw : curpos; + curpos = ( (tp-tw + elp + tmw)< tw && tp + (Math.round(me)-2)*tw < elp) ? tp + (Math.round(me)-2)*tw : curpos; + } + + curpos = curpos < 0-(els-ts) ? 0-(els-ts) : curpos > 0 ? 0 : curpos; + + if (thumbdir!=="vertical" && t.width()>=el.width()) curpos = 0; + if (thumbdir==="vertical" && t.height()>=el.height()) curpos = 0; + + + if (!container.hasClass("dragged")) { + if (thumbdir==="vertical") + el.data('tmmove',punchgs.TweenLite.to(el,0.5,{top:curpos+"px",ease:punchgs.Power3.easeInOut})); + else + el.data('tmmove',punchgs.TweenLite.to(el,0.5,{left:curpos+"px",ease:punchgs.Power3.easeInOut})); + el.data('offset',curpos); + } + }; + + +// RESIZE THE THUMBS BASED ON ORIGINAL SIZE AND CURRENT SIZE OF WINDOW +var rtt = function(f,tws,c,o,lis,wh) { + var h = c.parent().find('.tp-'+wh+'s'), + ins = h.find('.tp-'+wh+'s-inner-wrapper'), + mask = h.find('.tp-'+wh+'-mask'), + cw = o.width*f < o.min_width ? o.min_width : Math.round(o.width*f), + ch = Math.round((cw/o.width) * o.height), + iw = o.direction === "vertical" ? cw : (cw*lis) + ((o.space)*(lis-1)), + ih = o.direction === "vertical" ? (ch*lis) + ((o.space)*(lis-1)) : ch, + anm = o.direction === "vertical" ? {width:cw+"px"} : {height:ch+"px"}; + + + tws.add(punchgs.TweenLite.set(h,anm)); + tws.add(punchgs.TweenLite.set(ins,{width:iw+"px",height:ih+"px"})); + tws.add(punchgs.TweenLite.set(mask,{width:iw+"px",height:ih+"px"})); + var fin = ins.find('.tp-'+wh+''); + if (fin) + jQuery.each(fin,function(i,el) { + if (o.direction === "vertical") + tws.add(punchgs.TweenLite.set(el,{top:(i*(ch+parseInt((o.space===undefined? 0:o.space),0))),width:cw+"px",height:ch+"px"})); + else + if (o.direction === "horizontal") + tws.add(punchgs.TweenLite.set(el,{left:(i*(cw+parseInt((o.space===undefined? 0:o.space),0))),width:cw+"px",height:ch+"px"})); + }); + return tws; +}; + +// INTERNAL FUNCTIONS +var normalizeWheel = function( event) /*object*/ { + + var sX = 0, sY = 0, // spinX, spinY + pX = 0, pY = 0, // pixelX, pixelY + PIXEL_STEP = 1, + LINE_HEIGHT = 1, + PAGE_HEIGHT = 1; + + // Legacy + if ('detail' in event) { sY = event.detail; } + if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; } + if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; } + if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; } + + + //sY = navigator.userAgent.match(/mozilla/i) ? sY*10 : sY; + + + // side scrolling on FF with DOMMouseScroll + if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) { + sX = sY; + sY = 0; + } + + pX = sX * PIXEL_STEP; + pY = sY * PIXEL_STEP; + + if ('deltaY' in event) { pY = event.deltaY; } + if ('deltaX' in event) { pX = event.deltaX; } + + + + if ((pX || pY) && event.deltaMode) { + if (event.deltaMode == 1) { // delta in LINE units + pX *= LINE_HEIGHT; + pY *= LINE_HEIGHT; + } else { // delta in PAGE units + pX *= PAGE_HEIGHT; + pY *= PAGE_HEIGHT; + } + } + + // Fall-back if spin cannot be determined + if (pX && !sX) { sX = (pX < 1) ? -1 : 1; } + if (pY && !sY) { sY = (pY < 1) ? -1 : 1; } + + pY = navigator.userAgent.match(/mozilla/i) ? pY*10 : pY; + + if (pY>300 || pY<-300) pY = pY/10; + + return { spinX : sX, + spinY : sY, + pixelX : pX, + pixelY : pY }; + }; + +var initKeyboard = function(container,opt) { + if (opt.navigation.keyboardNavigation!=="on") return; + jQuery(document).keydown(function(e){ + if ((opt.navigation.keyboard_direction=="horizontal" && e.keyCode == 39) || (opt.navigation.keyboard_direction=="vertical" && e.keyCode==40)) { + opt.sc_indicator="arrow"; + opt.sc_indicator_dir = 0; + _R.callingNewSlide(opt,container,1); + } + if ((opt.navigation.keyboard_direction=="horizontal" && e.keyCode == 37) || (opt.navigation.keyboard_direction=="vertical" && e.keyCode==38)) { + opt.sc_indicator="arrow"; + opt.sc_indicator_dir = 1; + _R.callingNewSlide(opt,container,-1); + } + }); +}; + + + +var initMouseScroll = function(container,opt) { + + if (opt.navigation.mouseScrollNavigation!=="on" && opt.navigation.mouseScrollNavigation!=="carousel") return; + opt.isIEEleven = !!navigator.userAgent.match(/Trident.*rv\:11\./); + opt.isSafari = !!navigator.userAgent.match(/safari/i); + opt.ischrome = !!navigator.userAgent.match(/chrome/i); + + + var bl = opt.ischrome ? -49 : opt.isIEEleven || opt.isSafari ? -9 : navigator.userAgent.match(/mozilla/i) ? -29 : -49, + tl = opt.ischrome ? 49 : opt.isIEEleven || opt.isSafari ? 9 : navigator.userAgent.match(/mozilla/i) ? 29 : 49; + + + container.on('mousewheel DOMMouseScroll', function(e) { + + var res = normalizeWheel(e.originalEvent), + asi = container.find('.tp-revslider-slidesli.active-revslide').index(), + psi = container.find('.tp-revslider-slidesli.processing-revslide').index(), + fs = asi!=-1 && asi==0 || psi!=-1 && psi==0 ? true : false, + ls = asi!=-1 && asi==opt.slideamount-1 || psi!=1 && psi==opt.slideamount-1 ? true:false, + ret = true; + if (opt.navigation.mouseScrollNavigation=="carousel") + fs = ls = false; + if (psi==-1) { + + if(res.pixelYtl) { + if (!ls) { + opt.sc_indicator="arrow"; + if (opt.navigation.mouseScrollReverse!=="reverse") { + opt.sc_indicator_dir = 1; + _R.callingNewSlide(opt,container,1); + } + ret = false; + } + if (!fs) { + opt.sc_indicator="arrow"; + if (opt.navigation.mouseScrollReverse==="reverse") { + opt.sc_indicator_dir = 0; + _R.callingNewSlide(opt,container,-1); + } + ret = false; + } + } + + + } else { + ret = false; + } + + var tc = opt.c.offset().top-jQuery('body').scrollTop(), + bc = tc+opt.c.height(); + if (opt.navigation.mouseScrollNavigation!="carousel") { + if (opt.navigation.mouseScrollReverse!=="reverse") + if ((tc>0 && res.pixelY>0) || (bcjQuery(window).height() && res.pixelY>0)) + ret = true; + } else { + ret=false; + } + + + if (ret==false) { + e.preventDefault(e); + return false; + } else { + return; + } + }); +}; + +var isme = function (a,c,e) { + a = _ISM ? jQuery(e.target).closest('.'+a).length || jQuery(e.srcElement).closest('.'+a).length : jQuery(e.toElement).closest('.'+a).length || jQuery(e.originalTarget).closest('.'+a).length; + return a === true || a=== 1 ? 1 : 0; +}; + +// - SET THE SWIPE FUNCTION // +var swipeAction = function(container,opt,vertical) { + + container.data('opt',opt); + + // TOUCH ENABLED SCROLL + var _ = opt.carousel; + jQuery(".bullet, .bullets, .tp-bullets, .tparrows").addClass("noSwipe"); + + _.Limit = "endless"; + var notonbody = _ISM || _R.get_browser()==="Firefox", + SwipeOn = container, //notonbody ? container : jQuery('body'), + pagescroll = opt.navigation.thumbnails.direction==="vertical" || opt.navigation.tabs.direction==="vertical"? "none" : "vertical", + swipe_wait_dir = opt.navigation.touch.swipe_direction || "horizontal"; + + pagescroll = vertical == "swipebased" && swipe_wait_dir=="vertical" ? "none" : vertical ? "vertical" : pagescroll; + + if (!jQuery.fn.swipetp) jQuery.fn.swipetp = jQuery.fn.swipe; + if (!jQuery.fn.swipetp.defaults || !jQuery.fn.swipetp.defaults.excludedElements) + if (!jQuery.fn.swipetp.defaults) + jQuery.fn.swipetp.defaults = new Object(); + + jQuery.fn.swipetp.defaults.excludedElements = "label, button, input, select, textarea, .noSwipe" + + + SwipeOn.swipetp({ + allowPageScroll:pagescroll, + triggerOnTouchLeave:true, + treshold:opt.navigation.touch.swipe_treshold, + fingers:opt.navigation.touch.swipe_min_touches, + + excludeElements:jQuery.fn.swipetp.defaults.excludedElements, + + swipeStatus:function(event,phase,direction,distance,duration,fingerCount,fingerData) { + + + var withinslider = isme('rev_slider_wrapper',container,event), + withinthumbs = isme('tp-thumbs',container,event), + withintabs = isme('tp-tabs',container,event), + starget = jQuery(this).attr('class'), + istt = starget.match(/tp-tabs|tp-thumb/gi) ? true : false; + + + + // SWIPE OVER SLIDER, TO SWIPE SLIDES IN CAROUSEL MODE + if (opt.sliderType==="carousel" && + (((phase==="move" || phase==="end" || phase=="cancel") && (opt.dragStartedOverSlider && !opt.dragStartedOverThumbs && !opt.dragStartedOverTabs)) + || (phase==="start" && withinslider>0 && withinthumbs===0 && withintabs===0))) { + + opt.dragStartedOverSlider = true; + distance = (direction && direction.match(/left|up/g)) ? Math.round(distance * -1) : distance = Math.round(distance * 1); + + switch (phase) { + case "start": + if (_.positionanim!==undefined) { + _.positionanim.kill(); + _.slide_globaloffset = _.infinity==="off" ? _.slide_offset : _R.simp(_.slide_offset, _.maxwidth); + } + _.overpull = "none"; + _.wrap.addClass("dragged"); + break; + case "move": + + + _.slide_offset = _.infinity==="off" ? _.slide_globaloffset + distance : _R.simp(_.slide_globaloffset + distance, _.maxwidth); + + if (_.infinity==="off") { + var bb = _.horizontal_align==="center" ? ((_.wrapwidth/2-_.slide_width/2) - _.slide_offset) / _.slide_width : (0 - _.slide_offset) / _.slide_width; + + if ((_.overpull ==="none" || _.overpull===0) && (bb<0 || bb>opt.slideamount-1)) + _.overpull = distance; + else + if (bb>=0 && bb<=opt.slideamount-1 && ((bb>=0 && distance>_.overpull) || (bb<=opt.slideamount-1 && distance<_.overpull))) + _.overpull = 0; + + _.slide_offset = bb<0 ? _.slide_offset+ (_.overpull-distance)/1.1 + Math.sqrt(Math.abs((_.overpull-distance)/1.1)) : + bb>opt.slideamount-1 ? _.slide_offset+ (_.overpull-distance)/1.1 - Math.sqrt(Math.abs((_.overpull-distance)/1.1)) : _.slide_offset ; + } + _R.organiseCarousel(opt,direction,true,true); + break; + + case "end": + case "cancel": + //duration !! + _.slide_globaloffset = _.slide_offset; + _.wrap.removeClass("dragged"); + _R.carouselToEvalPosition(opt,direction); + opt.dragStartedOverSlider = false; + opt.dragStartedOverThumbs = false; + opt.dragStartedOverTabs = false; + break; + } + } else + + // SWIPE OVER THUMBS OR TABS + if (( + ((phase==="move" || phase==="end" || phase=="cancel") && (!opt.dragStartedOverSlider && (opt.dragStartedOverThumbs || opt.dragStartedOverTabs))) + || + (phase==="start" && (withinslider>0 && (withinthumbs>0 || withintabs>0))))) { + + + if (withinthumbs>0) opt.dragStartedOverThumbs = true; + if (withintabs>0) opt.dragStartedOverTabs = true; + + var thumbs = opt.dragStartedOverThumbs ? ".tp-thumbs" : ".tp-tabs", + thumbmask = opt.dragStartedOverThumbs ? ".tp-thumb-mask" : ".tp-tab-mask", + thumbsiw = opt.dragStartedOverThumbs ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper", + thumb = opt.dragStartedOverThumbs ? ".tp-thumb" : ".tp-tab", + _o = opt.dragStartedOverThumbs ? opt.navigation.thumbnails : opt.navigation.tabs; + + + distance = (direction && direction.match(/left|up/g)) ? Math.round(distance * -1) : distance = Math.round(distance * 1); + var t= container.parent().find(thumbmask), + el = t.find(thumbsiw), + tdir = _o.direction, + els = tdir==="vertical" ? el.height() : el.width(), + ts = tdir==="vertical" ? t.height() : t.width(), + tw = tdir==="vertical" ? t.find(thumb).first().outerHeight(true)+_o.space : t.find(thumb).first().outerWidth(true)+_o.space, + newpos = (el.data('offset') === undefined ? 0 : parseInt(el.data('offset'),0)), + curpos = 0; + + switch (phase) { + case "start": + container.parent().find(thumbs).addClass("dragged"); + newpos = tdir === "vertical" ? el.position().top : el.position().left; + el.data('offset',newpos); + if (el.data('tmmove')) el.data('tmmove').pause(); + + break; + case "move": + if (els<=ts) return false; + + curpos = newpos + distance; + curpos = curpos>0 ? tdir==="horizontal" ? curpos - (el.width() * (curpos/el.width() * curpos/el.width())) : curpos - (el.height() * (curpos/el.height() * curpos/el.height())) : curpos; + var dif = tdir==="vertical" ? 0-(el.height()-t.height()) : 0-(el.width()-t.width()); + curpos = curpos < dif ? tdir==="horizontal" ? curpos + (el.width() * (curpos-dif)/el.width() * (curpos-dif)/el.width()) : curpos + (el.height() * (curpos-dif)/el.height() * (curpos-dif)/el.height()) : curpos; + if (tdir==="vertical") + punchgs.TweenLite.set(el,{top:curpos+"px"}); + else + punchgs.TweenLite.set(el,{left:curpos+"px"}); + + + break; + + case "end": + case "cancel": + + if (istt) { + curpos = newpos + distance; + + curpos = tdir==="vertical" ? curpos < 0-(el.height()-t.height()) ? 0-(el.height()-t.height()) : curpos : curpos < 0-(el.width()-t.width()) ? 0-(el.width()-t.width()) : curpos; + curpos = curpos > 0 ? 0 : curpos; + + curpos = Math.abs(distance)>tw/10 ? distance<=0 ? Math.floor(curpos/tw)*tw : Math.ceil(curpos/tw)*tw : distance<0 ? Math.ceil(curpos/tw)*tw : Math.floor(curpos/tw)*tw; + + curpos = tdir==="vertical" ? curpos < 0-(el.height()-t.height()) ? 0-(el.height()-t.height()) : curpos : curpos < 0-(el.width()-t.width()) ? 0-(el.width()-t.width()) : curpos; + curpos = curpos > 0 ? 0 : curpos; + + if (tdir==="vertical") + punchgs.TweenLite.to(el,0.5,{top:curpos+"px",ease:punchgs.Power3.easeOut}); + else + punchgs.TweenLite.to(el,0.5,{left:curpos+"px",ease:punchgs.Power3.easeOut}); + + curpos = !curpos ? tdir==="vertical" ? el.position().top : el.position().left : curpos; + + el.data('offset',curpos); + el.data('distance',distance); + + setTimeout(function() { + opt.dragStartedOverSlider = false; + opt.dragStartedOverThumbs = false; + opt.dragStartedOverTabs = false; + },100); + container.parent().find(thumbs).removeClass("dragged"); + + return false; + } + break; + } + } + else { + if (phase=="end" && !istt) { + + opt.sc_indicator="arrow"; + + if ((swipe_wait_dir=="horizontal" && direction == "left") || (swipe_wait_dir=="vertical" && direction == "up")) { + opt.sc_indicator_dir = 0; + _R.callingNewSlide(opt,opt.c,1); + return false; + } + if ((swipe_wait_dir=="horizontal" && direction == "right") || (swipe_wait_dir=="vertical" && direction == "down")) { + opt.sc_indicator_dir = 1; + _R.callingNewSlide(opt,opt.c,-1); + return false; + } + + } + opt.dragStartedOverSlider = false; + opt.dragStartedOverThumbs = false; + opt.dragStartedOverTabs = false; + return true; + } + } + }); +}; + + +// NAVIGATION HELPER FUNCTIONS +var hdResets = function(o) { + o.hide_delay = !jQuery.isNumeric(parseInt(o.hide_delay,0)) ? 0.2 : o.hide_delay/1000; + o.hide_delay_mobile = !jQuery.isNumeric(parseInt(o.hide_delay_mobile,0)) ? 0.2 : o.hide_delay_mobile/1000; +}; + +var ckNO = function(opt) { + return opt && opt.enable; +}; + +var ckNOLO = function(opt) { + return opt && opt.enable && opt.hide_onleave===true && (opt.position===undefined ? true : !opt.position.match(/outer/g)); +}; + +var callAllDelayedCalls = function(container,opt) { + var cp = container.parent(); + + if (ckNOLO(opt.navigation.arrows)) + punchgs.TweenLite.delayedCall(_ISM ? opt.navigation.arrows.hide_delay_mobile : opt.navigation.arrows.hide_delay,showHideNavElements,[cp.find('.tparrows'),opt.navigation.arrows,"hide"]); + + if (ckNOLO(opt.navigation.bullets)) + punchgs.TweenLite.delayedCall(_ISM ? opt.navigation.bullets.hide_delay_mobile : opt.navigation.bullets.hide_delay,showHideNavElements,[cp.find('.tp-bullets'),opt.navigation.bullets,"hide"]); + + if (ckNOLO(opt.navigation.thumbnails)) + punchgs.TweenLite.delayedCall(_ISM ? opt.navigation.thumbnails.hide_delay_mobile : opt.navigation.thumbnails.hide_delay,showHideNavElements,[cp.find('.tp-thumbs'),opt.navigation.thumbnails,"hide"]); + + if (ckNOLO(opt.navigation.tabs)) + punchgs.TweenLite.delayedCall(_ISM ? opt.navigation.tabs.hide_delay_mobile : opt.navigation.tabs.hide_delay,showHideNavElements,[cp.find('.tp-tabs'),opt.navigation.tabs,"hide"]); +}; + +var showHideNavElements = function(container,opt,dir,speed) { + speed = speed===undefined ? 0.5 : speed; + switch (dir) { + case "show": + punchgs.TweenLite.to(container,speed, {autoAlpha:1,ease:punchgs.Power3.easeInOut,overwrite:"auto"}); + break; + case "hide": + punchgs.TweenLite.to(container,speed, {autoAlpha:0,ease:punchgs.Power3.easeInOu,overwrite:"auto"}); + break; + } + +}; + + +// ADD ARROWS +var initArrows = function(container,o,opt) { + // SET oIONAL CLASSES + o.style = o.style === undefined ? "" : o.style; + o.left.style = o.left.style === undefined ? "" : o.left.style; + o.right.style = o.right.style === undefined ? "" : o.right.style; + + + // ADD LEFT AND RIGHT ARROWS + if (container.find('.tp-leftarrow.tparrows').length===0) + container.append('
'+o.tmp+'
'); + if (container.find('.tp-rightarrow.tparrows').length===0) + container.append('
'+o.tmp+'
'); + var la = container.find('.tp-leftarrow.tparrows'), + ra = container.find('.tp-rightarrow.tparrows'); + if (o.rtl) { + // CLICK HANDLINGS ON LEFT AND RIGHT ARROWS + la.click(function() { opt.sc_indicator="arrow"; opt.sc_indicator_dir = 0;container.revnext();}); + ra.click(function() { opt.sc_indicator="arrow"; opt.sc_indicator_dir = 1;container.revprev();}); + } else { + // CLICK HANDLINGS ON LEFT AND RIGHT ARROWS + ra.click(function() { opt.sc_indicator="arrow"; opt.sc_indicator_dir = 0;container.revnext();}); + la.click(function() { opt.sc_indicator="arrow"; opt.sc_indicator_dir = 1;container.revprev();}); + } + // SHORTCUTS + o.right.j = container.find('.tp-rightarrow.tparrows'); + o.left.j = container.find('.tp-leftarrow.tparrows') + + // OUTTUER PADDING DEFAULTS + o.padding_top = parseInt((opt.carousel.padding_top||0),0), + o.padding_bottom = parseInt((opt.carousel.padding_bottom||0),0); + + // POSITION OF ARROWS + setNavElPositions(la,o.left); + setNavElPositions(ra,o.right); + + o.left.opt = opt; + o.right.opt = opt; + + + if (o.position=="outer-left" || o.position=="outer-right") opt.outernav = true; +}; + + +// PUT ELEMENTS VERTICAL / HORIZONTAL IN THE RIGHT POSITION +var putVinPosition = function(el,o) { + var elh = el.outerHeight(true), + elw = el.outerWidth(true), + oh = o.opt== undefined ? 0 : o.opt.conh == 0 ? o.opt.height : o.opt.conh, + by = o.container=="layergrid" ? o.opt.sliderLayout=="fullscreen" ? o.opt.height/2 - (o.opt.gridheight[o.opt.curWinRange]*o.opt.bh)/2 : (o.opt.autoHeight=="on" || (o.opt.minHeight!=undefined && o.opt.minHeight>0)) ? oh/2 - (o.opt.gridheight[o.opt.curWinRange]*o.opt.bh)/2 : 0 : 0, + a = o.v_align === "top" ? {top:"0px",y:Math.round(o.v_offset+by)+"px"} : o.v_align === "center" ? {top:"50%",y:Math.round(((0-elh/2)+o.v_offset))+"px"} : {top:"100%",y:Math.round((0-(elh+o.v_offset+by)))+"px"}; + if (!el.hasClass("outer-bottom")) punchgs.TweenLite.set(el,a); + +}; + +var putHinPosition = function(el,o) { + + var elh = el.outerHeight(true), + elw = el.outerWidth(true), + bx = o.container=="layergrid" ? o.opt.sliderType==="carousel" ? 0 : o.opt.width/2 - (o.opt.gridwidth[o.opt.curWinRange]*o.opt.bw)/2 : 0, + a = o.h_align === "left" ? {left:"0px",x:Math.round(o.h_offset+bx)+"px"} : o.h_align === "center" ? {left:"50%",x:Math.round(((0-elw/2)+o.h_offset))+"px"} : {left:"100%",x:Math.round((0-(elw+o.h_offset+bx)))+"px"}; + punchgs.TweenLite.set(el,a); +}; + +// SET POSITION OF ELEMENTS +var setNavElPositions = function(el,o) { + + var wrapper = + el.closest('.tp-simpleresponsive').length>0 ? + el.closest('.tp-simpleresponsive') : + el.closest('.tp-revslider-mainul').length>0 ? + el.closest('.tp-revslider-mainul') : + el.closest('.rev_slider_wrapper').length>0 ? + el.closest('.rev_slider_wrapper'): + el.parent().find('.tp-revslider-mainul'), + ww = wrapper.width(), + wh = wrapper.height(); + + putVinPosition(el,o); + putHinPosition(el,o); + + if (o.position==="outer-left" && (o.sliderLayout=="fullwidth" || o.sliderLayout=="fullscreen")) + punchgs.TweenLite.set(el,{left:(0-el.outerWidth())+"px",x:o.h_offset+"px"}); + else + if (o.position==="outer-right" && (o.sliderLayout=="fullwidth" || o.sliderLayout=="fullscreen")) + punchgs.TweenLite.set(el,{right:(0-el.outerWidth())+"px",x:o.h_offset+"px"}); + + + // MAX WIDTH AND HEIGHT BASED ON THE SOURROUNDING CONTAINER + if (el.hasClass("tp-thumbs") || el.hasClass("tp-tabs")) { + + var wpad = el.data('wr_padding'), + maxw = el.data('maxw'), + maxh = el.data('maxh'), + mask = el.hasClass("tp-thumbs") ? el.find('.tp-thumb-mask') : el.find('.tp-tab-mask'), + cpt = parseInt((o.padding_top||0),0), + cpb = parseInt((o.padding_bottom||0),0); + + + // ARE THE CONTAINERS BIGGER THAN THE SLIDER WIDTH OR HEIGHT ? + if (maxw>ww && o.position!=="outer-left" && o.position!=="outer-right") { + punchgs.TweenLite.set(el,{left:"0px",x:0,maxWidth:(ww-2*wpad)+"px"}); + punchgs.TweenLite.set(mask,{maxWidth:(ww-2*wpad)+"px"}); + } else { + punchgs.TweenLite.set(el,{maxWidth:(maxw)+"px"}); + punchgs.TweenLite.set(mask,{maxWidth:(maxw)+"px"}); + } + + if (maxh+2*wpad>wh && o.position!=="outer-bottom" && o.position!=="outer-top") { + punchgs.TweenLite.set(el,{top:"0px",y:0,maxHeight:(cpt+cpb+(wh-2*wpad))+"px"}); + punchgs.TweenLite.set(mask,{maxHeight:(cpt+cpb+(wh-2*wpad))+"px"}); + } else { + punchgs.TweenLite.set(el,{maxHeight:(maxh)+"px"}); + punchgs.TweenLite.set(mask,{maxHeight:maxh+"px"}); + } + + if (o.position!=="outer-left" && o.position!=="outer-right") { + cpt = 0; + cpb = 0; + } + + // SPAN IS ENABLED + if (o.span===true && o.direction==="vertical") { + punchgs.TweenLite.set(el,{maxHeight:(cpt+cpb+(wh-2*wpad))+"px",height:(cpt+cpb+(wh-2*wpad))+"px",top:(0-cpt),y:0}); + putVinPosition(mask,o); + } else + + if (o.span===true && o.direction==="horizontal") { + punchgs.TweenLite.set(el,{maxWidth:"100%",width:(ww-2*wpad)+"px",left:0,x:0}); + putHinPosition(mask,o); + } + } +}; + + +// ADD A BULLET +var addBullet = function(container,o,li,opt) { + + // Check if Bullet exists already ? + if (container.find('.tp-bullets').length===0) { + o.style = o.style === undefined ? "" : o.style; + container.append('
'); + } + + // Add Bullet Structure to the Bullet Container + var bw = container.find('.tp-bullets'), + linkto = li.data('index'), + inst = o.tmp; + + jQuery.each(opt.thumbs[li.index()].params,function(i,obj) { inst = inst.replace(obj.from,obj.to);}) + + + bw.append('
'+inst+'
'); + + // SET BULLET SPACES AND POSITION + var b = container.find('.justaddedbullet'), + am = container.find('.tp-bullet').length, + w = b.outerWidth()+parseInt((o.space===undefined? 0:o.space),0), + h = b.outerHeight()+parseInt((o.space===undefined? 0:o.space),0); + + //bgimage = li.data('thumb') !==undefined ? li.data('thumb') : li.find('.defaultimg').data('lazyload') !==undefined && li.find('.defaultimg').data('lazyload') !== 'undefined' ? li.find('.defaultimg').data('lazyload') : li.find('.defaultimg').data('src'); + + if (o.direction==="vertical") { + + b.css({top:((am-1)*h)+"px", left:"0px"}); + bw.css({height:(((am-1)*h) + b.outerHeight()),width:b.outerWidth()}); + } + else { + + b.css({left:((am-1)*w)+"px", top:"0px"}); + bw.css({width:(((am-1)*w) + b.outerWidth()),height:b.outerHeight()}); + } + + b.find('.tp-bullet-image').css({backgroundImage:'url('+opt.thumbs[li.index()].src+')'}); + // SET LINK TO AND LISTEN TO CLICK + b.data('liref',linkto); + b.click(function() { + opt.sc_indicator="bullet"; + container.revcallslidewithid(linkto); + container.find('.tp-bullet').removeClass("selected"); + jQuery(this).addClass("selected"); + + }); + // REMOVE HELP CLASS + b.removeClass("justaddedbullet"); + + // OUTTUER PADDING DEFAULTS + o.padding_top = parseInt((opt.carousel.padding_top||0),0), + o.padding_bottom = parseInt((opt.carousel.padding_bottom||0),0); + o.opt = opt; + if (o.position=="outer-left" || o.position=="outer-right") opt.outernav = true; + + bw.addClass("nav-pos-hor-"+o.h_align); + bw.addClass("nav-pos-ver-"+o.v_align); + bw.addClass("nav-dir-"+o.direction); + + // PUT ALL CONTAINER IN POSITION + setNavElPositions(bw,o); +}; + + +var cHex = function(hex,o){ + o = parseFloat(o); + hex = hex.replace('#',''); + var r = parseInt(hex.substring(0,2), 16), + g = parseInt(hex.substring(2,4), 16), + b = parseInt(hex.substring(4,6), 16), + result = 'rgba('+r+','+g+','+b+','+o+')'; + return result; +}; + +// ADD THUMBNAILS +var addThumb = function(container,o,li,what,opt) { + var thumbs = what==="tp-thumb" ? ".tp-thumbs" : ".tp-tabs", + thumbmask = what==="tp-thumb" ? ".tp-thumb-mask" : ".tp-tab-mask", + thumbsiw = what==="tp-thumb" ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper", + thumb = what==="tp-thumb" ? ".tp-thumb" : ".tp-tab", + timg = what ==="tp-thumb" ? ".tp-thumb-image" : ".tp-tab-image"; + + o.visibleAmount = o.visibleAmount>opt.slideamount ? opt.slideamount : o.visibleAmount; + o.sliderLayout = opt.sliderLayout; + + // Check if THUNBS/TABS exists already ? + if (container.parent().find(thumbs).length===0) { + o.style = o.style === undefined ? "" : o.style; + + var spanw = o.span===true ? "tp-span-wrapper" : "", + addcontent = '
'; + + if (o.position==="outer-top") + container.parent().prepend(addcontent) + else + if (o.position==="outer-bottom") + container.after(addcontent); + else + container.append(addcontent); + + // OUTTUER PADDING DEFAULTS + o.padding_top = parseInt((opt.carousel.padding_top||0),0), + o.padding_bottom = parseInt((opt.carousel.padding_bottom||0),0); + + if (o.position=="outer-left" || o.position=="outer-right") opt.outernav = true; + } + + + + // Add Thumb/TAB Structure to the THUMB/TAB Container + var linkto = li.data('index'), + t = container.parent().find(thumbs), + tm = t.find(thumbmask), + tw = tm.find(thumbsiw), + maxw = o.direction==="horizontal" ? (o.width * o.visibleAmount) + (o.space*(o.visibleAmount-1)) : o.width, + maxh = o.direction==="horizontal" ? o.height : (o.height * o.visibleAmount) + (o.space*(o.visibleAmount-1)), + inst = o.tmp; + jQuery.each(opt.thumbs[li.index()].params,function(i,obj) { + inst = inst.replace(obj.from,obj.to); + }) + + + tw.append('
'+inst+'
'); + + + // SET BULLET SPACES AND POSITION + var b = t.find('.justaddedthumb'), + am = t.find(thumb).length, + w = b.outerWidth()+parseInt((o.space===undefined? 0:o.space),0), + h = b.outerHeight()+parseInt((o.space===undefined? 0:o.space),0); + + // FILL CONTENT INTO THE TAB / THUMBNAIL + b.find(timg).css({backgroundImage:"url("+opt.thumbs[li.index()].src+")"}); + + + if (o.direction==="vertical") { + b.css({top:((am-1)*h)+"px", left:"0px"}); + tw.css({height:(((am-1)*h) + b.outerHeight()),width:b.outerWidth()}); + } + else { + b.css({left:((am-1)*w)+"px", top:"0px"}); + tw.css({width:(((am-1)*w) + b.outerWidth()),height:b.outerHeight()}); + } + + t.data('maxw',maxw); + t.data('maxh',maxh); + t.data('wr_padding',o.wrapper_padding); + var position = o.position === "outer-top" || o.position==="outer-bottom" ? "relative" : "absolute", + _margin = (o.position === "outer-top" || o.position==="outer-bottom") && (o.h_align==="center") ? "auto" : "0"; + + + tm.css({maxWidth:maxw+"px",maxHeight:maxh+"px",overflow:"hidden",position:"relative"}); + t.css({maxWidth:(maxw)+"px",/*margin:_margin, */maxHeight:maxh+"px",overflow:"visible",position:position,background:cHex(o.wrapper_color,o.wrapper_opacity),padding:o.wrapper_padding+"px",boxSizing:"contet-box"}); + + + + // SET LINK TO AND LISTEN TO CLICK + b.click(function() { + + opt.sc_indicator="bullet"; + var dis = container.parent().find(thumbsiw).data('distance'); + dis = dis === undefined ? 0 : dis; + if (Math.abs(dis)<10) { + container.revcallslidewithid(linkto); + container.parent().find(thumbs).removeClass("selected"); + jQuery(this).addClass("selected"); + } + }); + // REMOVE HELP CLASS + b.removeClass("justaddedthumb"); + + o.opt = opt; + + t.addClass("nav-pos-hor-"+o.h_align); + t.addClass("nav-pos-ver-"+o.v_align); + t.addClass("nav-dir-"+o.direction); + + // PUT ALL CONTAINER IN POSITION + setNavElPositions(t,o); +}; + +var setONHeights = function(o) { + var ot = o.c.parent().find('.outer-top'), + ob = o.c.parent().find('.outer-bottom'); + o.top_outer = !ot.hasClass("tp-forcenotvisible") ? ot.outerHeight() || 0 : 0; + o.bottom_outer = !ob.hasClass("tp-forcenotvisible") ? ob.outerHeight() || 0 : 0; +}; + + +// HIDE NAVIGATION ON PURPOSE +var biggerNav = function(el,a,b,c) { + if (a>b || b>c) + el.addClass("tp-forcenotvisible") + else + el.removeClass("tp-forcenotvisible"); +}; + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.parallax.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.parallax.js new file mode 100644 index 0000000..417a246 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.parallax.js @@ -0,0 +1,396 @@ +/******************************************** + * REVOLUTION 5.1.6 EXTENSION - PARALLAX + * @version: 1.3 (14.01.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +(function($) { + +var _R = jQuery.fn.revolution, + _ISM = _R.is_mobile(); + +jQuery.extend(true,_R, { + /*callStaticDDDParallax: function(container,opt,li) { + // STATIC 3D PARALLAX MOVEMENTS + if (opt.parallax && (opt.parallax.ddd_path=="static" || opt.parallax.ddd_path=="both")) { + var coo = {}, + path = li.data('3dpath'); + coo.li = li; + if (path.split(',').length>1) { + coo.h = parseInt(path.split(',')[0],0); + coo.v = parseInt(path.split(',')[1],0); + container.trigger('trigger3dpath',coo); + } + } + },*/ + + checkForParallax : function(container,opt) { + + var _ = opt.parallax; + + if (_ISM && _.disable_onmobile=="on") return false; + + if (_.type=="3D" || _.type=="3d") { + punchgs.TweenLite.set(opt.c,{overflow:_.ddd_overflow}); + punchgs.TweenLite.set(opt.ul,{overflow:_.ddd_overflow}); + if (opt.sliderType!="carousel" && _.ddd_shadow=="on") { + opt.c.prepend('
') + punchgs.TweenLite.set(opt.c.find('.dddwrappershadow'),{force3D:"auto",transformPerspective:1600,transformOrigin:"50% 50%", width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:0}); + } + } + + + opt.li.each(function() { + var li = jQuery(this); + + if (_.type=="3D" || _.type=="3d") { + li.find('.slotholder').wrapAll('
'); + li.find('.tp-parallax-wrap').wrapAll('
'); + + // MOVE THE REMOVED 3D LAYERS OUT OF THE PARALLAX GROUP + li.find('.rs-parallaxlevel-tobggroup').closest('.tp-parallax-wrap').wrapAll('
'); + + var dddw = li.find('.dddwrapper'), + dddwl = li.find('.dddwrapper-layer'), + dddwlbg = li.find('.dddwrapper-layertobggroup'); + + + + dddwlbg.appendTo(dddw); + + if (opt.sliderType=="carousel") { + if (_.ddd_shadow=="on") dddw.addClass("dddwrappershadow"); + punchgs.TweenLite.set(dddw,{borderRadius:opt.carousel.border_radius}); + } + punchgs.TweenLite.set(li,{overflow:"visible",transformStyle:"preserve-3d",perspective:1600}); + punchgs.TweenLite.set(dddw,{force3D:"auto",transformOrigin:"50% 50%"}); + punchgs.TweenLite.set(dddwl,{force3D:"auto",transformOrigin:"50% 50%",zIndex:5}); + punchgs.TweenLite.set(opt.ul,{transformStyle:"preserve-3d",transformPerspective:1600}); + } + + }); + + for (var i = 1; i<=_.levels.length;i++) + opt.c.find('.rs-parallaxlevel-'+i).each(function() { + var pw = jQuery(this), + tpw = pw.closest('.tp-parallax-wrap'); + tpw.data('parallaxlevel',_.levels[i-1]) + tpw.addClass("tp-parallax-container"); + }); + + + if (_.type=="mouse" || _.type=="scroll+mouse" || _.type=="mouse+scroll" || _.type=="3D" || _.type=="3d") { + + container.mouseenter(function(event) { + var currslide = container.find('.active-revslide'), + t = container.offset().top, + l = container.offset().left, + ex = (event.pageX-l), + ey = (event.pageY-t); + currslide.data("enterx",ex); + currslide.data("entery",ey); + }); + + container.on('mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath',function(event,data) { + var currslide = data && data.li ? data.li : container.find('.active-revslide'); + + + // CALCULATE DISTANCES + if (_.origo=="enterpoint") { + var t = container.offset().top, + l = container.offset().left; + + if (currslide.data("enterx")==undefined) currslide.data("enterx",(event.pageX-l)); + if (currslide.data("entery")==undefined) currslide.data("entery",(event.pageY-t)); + + var mh = currslide.data("enterx") || (event.pageX-l), + mv = currslide.data("entery") || (event.pageY-t), + diffh = (mh - (event.pageX - l)), + diffv = (mv - (event.pageY - t)), + s = _.speed/1000 || 0.4; + } else { + var t = container.offset().top, + l = container.offset().left, + diffh = (opt.conw/2 - (event.pageX-l)), + diffv = (opt.conh/2 - (event.pageY-t)), + s = _.speed/1000 || 3; + } + + /*if (event.type=="trigger3dpath") { + diffh = data.h; + diffv = data.v; + _.ddd_lasth = diffh; + _.ddd_lastv = diffv; + }*/ + + if (event.type=="mouseleave") { + diffh = _.ddd_lasth || 0; + diffv = _.ddd_lastv || 0; + s = 1.5; + } + + /*if (_.ddd_path=="static") { + diffh = _.ddd_lasth || 0; + diffv = _.ddd_lastv || 0; + }*/ + var pcnts = []; + currslide.find(".tp-parallax-container").each(function(i){ + pcnts.push(jQuery(this)); + }); + container.find('.tp-static-layers .tp-parallax-container').each(function(){ + pcnts.push(jQuery(this)); + }); + + jQuery.each(pcnts, function() { + var pc = jQuery(this), + bl = parseInt(pc.data('parallaxlevel'),0), + pl = _.type=="3D" || _.type=="3d" ? bl/200 : bl/100, + offsh = diffh * pl, + offsv = diffv * pl; + if (_.type=="scroll+mouse" || _.type=="mouse+scroll" ) + punchgs.TweenLite.to(pc,s,{force3D:"auto",x:offsh,ease:punchgs.Power3.easeOut,overwrite:"all"}); + else + punchgs.TweenLite.to(pc,s,{force3D:"auto",x:offsh,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"}); + }); + + if (_.type=="3D" || _.type=="3d") { + var sctor = '.tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer'; + if (opt.sliderType==="carousel") sctor = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer"; + opt.c.find(sctor).each(function() { + var t = jQuery(this), + pl = _.levels[_.levels.length-1]/200, + offsh = diffh * pl, + offsv = diffv * pl, + offrv = opt.conw == 0 ? 0 : Math.round((diffh / opt.conw * pl)*100) || 0, + offrh = opt.conh == 0 ? 0 : Math.round((diffv / opt.conh * pl)*100) || 0, + li = t.closest('li'), + zz = 0, + itslayer = false; + + if (t.hasClass("dddwrapper-layer")) { + zz = _.ddd_z_correction || 65; + itslayer = true; + } + + if (t.hasClass("dddwrapper-layer")) { + offsh=0; + offsv=0; + } + + if (li.hasClass("active-revslide") || opt.sliderType!="carousel") + if (_.ddd_bgfreeze!="on" || (itslayer)) + punchgs.TweenLite.to(t,s,{rotationX:offrh, rotationY:-offrv, x:offsh, z:zz,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"}); + else + punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}); + else + punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0,z:0,x:0,y:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}); + + if (event.type=="mouseleave") + punchgs.TweenLite.to(jQuery(this),3.8,{z:0, ease:punchgs.Power3.easeOut}); + }); + } + }); + + if (_ISM) + window.ondeviceorientation = function(event) { + var y = Math.round(event.beta || 0)-70, + x = Math.round(event.gamma || 0); + + var currslide = container.find('.active-revslide'); + + if (jQuery(window).width() > jQuery(window).height()){ + var xx = x; + x = y; + y = xx; + } + + var cw = container.width(), + ch = container.height(), + diffh = (360/cw * x), + diffv = (180/ch * y), + s = _.speed/1000 || 3, + pcnts = []; + + currslide.find(".tp-parallax-container").each(function(i){ + pcnts.push(jQuery(this)); + }); + container.find('.tp-static-layers .tp-parallax-container').each(function(){ + pcnts.push(jQuery(this)); + }); + + jQuery.each(pcnts, function() { + var pc = jQuery(this), + bl = parseInt(pc.data('parallaxlevel'),0), + pl = bl/100, + offsh = diffh * pl*2, + offsv = diffv * pl*4; + punchgs.TweenLite.to(pc,s,{force3D:"auto",x:offsh,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"}); + }); + + if (_.type=="3D" || _.type=="3d") { + var sctor = '.tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer'; + if (opt.sliderType==="carousel") sctor = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer"; + opt.c.find(sctor).each(function() { + var t = jQuery(this), + pl = _.levels[_.levels.length-1]/200 + offsh = diffh * pl, + offsv = diffv * pl*3, + offrv = opt.conw == 0 ? 0 : Math.round((diffh / opt.conw * pl)*500) || 0, + offrh = opt.conh == 0 ? 0 : Math.round((diffv / opt.conh * pl)*700) || 0, + li = t.closest('li'), + zz = 0, + itslayer = false; + + if (t.hasClass("dddwrapper-layer")) { + zz = _.ddd_z_correction || 65; + itslayer = true; + } + + if (t.hasClass("dddwrapper-layer")) { + offsh=0; + offsv=0; + } + + if (li.hasClass("active-revslide") || opt.sliderType!="carousel") + if (_.ddd_bgfreeze!="on" || (itslayer)) + punchgs.TweenLite.to(t,s,{rotationX:offrh, rotationY:-offrv, x:offsh, z:zz,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"}); + else + punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}); + else + punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0,z:0,x:0,y:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"}); + + if (event.type=="mouseleave") + punchgs.TweenLite.to(jQuery(this),3.8,{z:0, ease:punchgs.Power3.easeOut}); + }); + } + } + } + + _R.scrollTicker(opt,container); + + + }, + + scrollTicker : function(opt,container) { + var faut; + + if (opt.scrollTicker!=true) { + opt.scrollTicker = true; + if (_ISM) { + punchgs.TweenLite.ticker.fps(150); + punchgs.TweenLite.ticker.addEventListener("tick",function() {_R.scrollHandling(opt);},container,false,1); + } else { + jQuery(window).on('scroll mousewheel DOMMouseScroll', function() { + _R.scrollHandling(opt,true); + }); + } + + } + _R.scrollHandling(opt, true); + }, + + + + // - SET POST OF SCROLL PARALLAX - + scrollHandling : function(opt,fromMouse) { + + opt.lastwindowheight = opt.lastwindowheight || jQuery(window).height(); + + var t = opt.c.offset().top, + st = jQuery(window).scrollTop(), + b = new Object(), + _v = opt.viewPort, + _ = opt.parallax; + + + if (opt.lastscrolltop==st && !opt.duringslidechange && !fromMouse) return false; + //if (opt.lastscrolltop==st) return false; + + + + function saveLastScroll(opt,st) { + opt.lastscrolltop = st; + } + punchgs.TweenLite.delayedCall(0.2,saveLastScroll,[opt,st]); + + b.top = (t-st); + b.h = opt.conh==0 ? opt.c.height() : opt.conh; + b.bottom = (t-st) + b.h; + + var proc = b.top<0 || b.h>opt.lastwindowheight ? b.top / b.h : b.bottom>opt.lastwindowheight ? (b.bottom-opt.lastwindowheight) / b.h : 0; + opt.scrollproc = proc; + + if (_R.callBackHandling) + _R.callBackHandling(opt,"parallax","start"); + + + + if (_v.enable) { + var area = 1-Math.abs(proc); + area = area<0 ? 0 : area; + // To Make sure it is not any more in % + if (!jQuery.isNumeric(_v.visible_area)) + if (_v.visible_area.indexOf('%')!==-1) + _v.visible_area = parseInt(_v.visible_area)/100; + + + if (1-_v.visible_area<=area) { + if (!opt.inviewport) { + opt.inviewport = true; + _R.enterInViewPort(opt); + } + } else { + if (opt.inviewport) { + opt.inviewport = false; + _R.leaveViewPort(opt); + } + } + } + + + // SCROLL BASED PARALLAX EFFECT + if (_ISM && opt.parallax.disable_onmobile=="on") return false; + + var pt = new punchgs.TimelineLite(); + pt.pause(); + + if (_.type!="3d" && _.type!="3D") { + if (_.type=="scroll" || _.type=="scroll+mouse" || _.type=="mouse+scroll") + opt.c.find(".tp-parallax-container").each(function(i) { + var pc = jQuery(this), + pl = parseInt(pc.data('parallaxlevel'),0)/100, + offsv = proc * -(pl*opt.conh) || 0; + + pc.data('parallaxoffset',offsv); + pt.add(punchgs.TweenLite.set(pc,{force3D:"auto",y:offsv}),0); + }); + + opt.c.find('.tp-revslider-slidesli .slotholder, .tp-revslider-slidesli .rs-background-video-layer').each(function() { + console.log("hey") + var t = jQuery(this), + l = t.data('bgparallax') || opt.parallax.bgparallax; + l = l == "on" ? 1 : l; + if (l!== undefined || l !== "off") { + + var pl = opt.parallax.levels[parseInt(l,0)-1]/100, + offsv = proc * -(pl*opt.conh) || 0; + + + if (jQuery.isNumeric(offsv)) + pt.add(punchgs.TweenLite.set(t,{position:"absolute",top:"0px",left:"0px",backfaceVisibility:"hidden",force3D:"true",y:offsv+"px"}),0); + } + }); + } + + if (_R.callBackHandling) + _R.callBackHandling(opt,"parallax","end"); + + pt.play(0); + } + +}); + + + +//// END OF PARALLAX EFFECT +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.slideanims.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.slideanims.js new file mode 100644 index 0000000..35cce36 --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.slideanims.js @@ -0,0 +1,1397 @@ +/************************************************ + * REVOLUTION 5.2 EXTENSION - SLIDE ANIMATIONS + * @version: 1.1.2 (23.02.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +************************************************/ + +(function($) { + +var _R = jQuery.fn.revolution; + + /////////////////////////////////////////// + // EXTENDED FUNCTIONS AVAILABLE GLOBAL // + /////////////////////////////////////////// + jQuery.extend(true,_R, { + + animateSlide : function(nexttrans, comingtransition, container, opt, nextli, actli, nextsh, actsh, mtl) { + return animateSlideIntern(nexttrans, comingtransition, container, opt, nextli, actli, nextsh, actsh, mtl) + } + + }); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// SLIDE TRANSITION MODULES //////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////// +// +// * Revolution Slider - TRANSITION PREDEFINITION MODULES +// * @version: 5.0.0 (13.02.2015) +// * @author ThemePunch +// +////////////////////////////////////////////////////// + + + /////////////////////// + // PREPARE THE SLIDE // + ////////////////////// + var prepareOneSlide = function(slotholder,opt,visible,vorh) { + + var sh=slotholder, + img = sh.find('.defaultimg'), + scalestart = sh.data('zoomstart'), + rotatestart = sh.data('rotationstart'); + + if (img.data('currotate')!=undefined) + rotatestart = img.data('currotate'); + if (img.data('curscale')!=undefined && vorh=="box") + scalestart = img.data('curscale')*100; + else + if (img.data('curscale')!=undefined) + scalestart = img.data('curscale'); + + _R.slotSize(img,opt); + + + var src = img.attr('src'), + bgcolor=img.css('backgroundColor'), + w = opt.width, + h = opt.height, + fulloff = img.data("fxof"), + fullyoff=0; + + if (opt.autoHeight=="on") h = opt.c.height(); + if (fulloff==undefined) fulloff=0; + + var off=0, + bgfit = img.data('bgfit'), + bgrepeat = img.data('bgrepeat'), + bgposition = img.data('bgposition'); + + if (bgfit==undefined) bgfit="cover"; + if (bgrepeat==undefined) bgrepeat="no-repeat"; + if (bgposition==undefined) bgposition="center center"; + + + switch (vorh) { + // BOX ANIMATION PREPARING + case "box": + // SET THE MINIMAL SIZE OF A BOX + //var basicsize = 0, + var x = 0, + y = 0; + + /*if (opt.sloth>opt.slotw) + basicsize=opt.sloth + else + basicsize=opt.slotw; + + opt.slotw = basicsize; + opt.sloth = basicsize;*/ + + + for (var j=0;j'+ + + '
'+ + + '
'+ + '
'); + y=y+opt.sloth; + if (scalestart!=undefined && rotatestart!=undefined) + punchgs.TweenLite.set(sh.find('.slot').last(),{rotationZ:rotatestart}); + } + x=x+opt.slotw; + } + break; + + // SLOT ANIMATION PREPARING + case "vertical": + case "horizontal": + + if (vorh == "horizontal") { + if (!visible) var off=0-opt.slotw; + for (var i=0;i'+ + '
'+ + '
'+ + '
'); + if (scalestart!=undefined && rotatestart!=undefined) + punchgs.TweenLite.set(sh.find('.slot').last(),{rotationZ:rotatestart}); + + } + } else { + if (!visible) var off=0-opt.sloth; + for (var i=0;i'+ + + '
'+ + '
'+ + + '
'); + if (scalestart!=undefined && rotatestart!=undefined) + punchgs.TweenLite.set(sh.find('.slot').last(),{rotationZ:rotatestart}); + + } + } + break; + } + } + + + +var getSliderTransitionParameters = function(container,opt,comingtransition,nextsh,slidedirection) { + + + /* Transition Name , + Transition Code, + Transition Sub Code, + Max Slots, + MasterSpeed Delays, + Preparing Slots (box,slideh, slidev), + Call on nextsh (null = no, true/false for visibility first preparing), + Call on actsh (null = no, true/false for visibility first preparing), + Index of Animation + easeIn, + easeOut, + speed, + slots, + */ + + + var p1i = punchgs.Power1.easeIn, + p1o = punchgs.Power1.easeOut, + p1io = punchgs.Power1.easeInOut, + p2i = punchgs.Power2.easeIn, + p2o = punchgs.Power2.easeOut, + p2io = punchgs.Power2.easeInOut, + p3i = punchgs.Power3.easeIn, + p3o = punchgs.Power3.easeOut, + p3io = punchgs.Power3.easeInOut, + flatTransitions = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45], + premiumTransitions = [16,17,18,19,20,21,22,23,24,25,27], + nexttrans =0, + specials = 1, + STAindex = 0, + indexcounter =0, + STA = new Array, + transitionsArray = [ ['boxslide' , 0, 1, 10, 0,'box',false,null,0,p1o,p1o,500,6], + ['boxfade', 1, 0, 10, 0,'box',false,null,1,p1io,p1io,700,5], + ['slotslide-horizontal', 2, 0, 0, 200,'horizontal',true,false,2,p2io,p2io,700,3], + ['slotslide-vertical', 3, 0,0,200,'vertical',true,false,3,p2io,p2io,700,3], + ['curtain-1', 4, 3,0,0,'horizontal',true,true,4,p1o,p1o,300,5], + ['curtain-2', 5, 3,0,0,'horizontal',true,true,5,p1o,p1o,300,5], + ['curtain-3', 6, 3,25,0,'horizontal',true,true,6,p1o,p1o,300,5], + ['slotzoom-horizontal', 7, 0,0,400,'horizontal',true,true,7,p1o,p1o,300,7], + ['slotzoom-vertical', 8, 0,0,0,'vertical',true,true,8,p2o,p2o,500,8], + ['slotfade-horizontal', 9, 0,0,500,'horizontal',true,null,9,p2o,p2o,500,25], + ['slotfade-vertical', 10, 0,0 ,500,'vertical',true,null,10,p2o,p2o,500,25], + ['fade', 11, 0, 1 ,300,'horizontal',true,null,11,p2io,p2io,1000,1], + ['crossfade', 11, 1, 1 ,300,'horizontal',true,null,11,p2io,p2io,1000,1], + ['fadethroughdark', 11, 2, 1 ,300,'horizontal',true,null,11,p2io,p2io,1000,1], + ['fadethroughlight', 11, 3, 1 ,300,'horizontal',true,null,11,p2io,p2io,1000,1], + ['fadethroughtransparent', 11, 4, 1 ,300,'horizontal',true,null,11,p2io,p2io,1000,1], + ['slideleft', 12, 0,1,0,'horizontal',true,true,12,p3io,p3io,1000,1], + ['slideup', 13, 0,1,0,'horizontal',true,true,13,p3io,p3io,1000,1], + ['slidedown', 14, 0,1,0,'horizontal',true,true,14,p3io,p3io,1000,1], + ['slideright', 15, 0,1,0,'horizontal',true,true,15,p3io,p3io,1000,1], + ['slideoverleft', 12, 7,1,0,'horizontal',true,true,12,p3io,p3io,1000,1], + ['slideoverup', 13, 7,1,0,'horizontal',true,true,13,p3io,p3io,1000,1], + ['slideoverdown', 14, 7,1,0,'horizontal',true,true,14,p3io,p3io,1000,1], + ['slideoverright', 15, 7,1,0,'horizontal',true,true,15,p3io,p3io,1000,1], + ['slideremoveleft', 12, 8,1,0,'horizontal',true,true,12,p3io,p3io,1000,1], + ['slideremoveup', 13, 8,1,0,'horizontal',true,true,13,p3io,p3io,1000,1], + ['slideremovedown', 14, 8,1,0,'horizontal',true,true,14,p3io,p3io,1000,1], + ['slideremoveright', 15, 8,1,0,'horizontal',true,true,15,p3io,p3io,1000,1], + ['papercut', 16, 0,0,600,'',null,null,16,p3io,p3io,1000,2], + ['3dcurtain-horizontal', 17, 0,20,100,'vertical',false,true,17,p1io,p1io,500,7], + ['3dcurtain-vertical', 18, 0,10,100,'horizontal',false,true,18,p1io,p1io,500,5], + ['cubic', 19, 0,20,600,'horizontal',false,true,19,p3io,p3io,500,1], + ['cube',19,0,20,600,'horizontal',false,true,20,p3io,p3io,500,1], + ['flyin', 20, 0,4,600,'vertical',false,true,21,p3o,p3io,500,1], + ['turnoff', 21, 0,1,500,'horizontal',false,true,22,p3io,p3io,500,1], + ['incube', 22, 0,20,200,'horizontal',false,true,23,p2io,p2io,500,1], + ['cubic-horizontal', 23, 0,20,500,'vertical',false,true,24,p2o,p2o,500,1], + ['cube-horizontal', 23, 0,20,500,'vertical',false,true,25,p2o,p2o,500,1], + ['incube-horizontal', 24, 0,20,500,'vertical',false,true,26,p2io,p2io,500,1], + ['turnoff-vertical', 25, 0,1,200,'horizontal',false,true,27,p2io,p2io,500,1], + ['fadefromright', 12, 1,1,0,'horizontal',true,true,28,p2io,p2io,1000,1], + ['fadefromleft', 15, 1,1,0,'horizontal',true,true,29,p2io,p2io,1000,1], + ['fadefromtop', 14, 1,1,0,'horizontal',true,true,30,p2io,p2io,1000,1], + ['fadefrombottom', 13, 1,1,0,'horizontal',true,true,31,p2io,p2io,1000,1], + ['fadetoleftfadefromright', 12, 2,1,0,'horizontal',true,true,32,p2io,p2io,1000,1], + ['fadetorightfadefromleft', 15, 2,1,0,'horizontal',true,true,33,p2io,p2io,1000,1], + ['fadetobottomfadefromtop', 14, 2,1,0,'horizontal',true,true,34,p2io,p2io,1000,1], + ['fadetotopfadefrombottom', 13, 2,1,0,'horizontal',true,true,35,p2io,p2io,1000,1], + ['parallaxtoright', 12, 3,1,0,'horizontal',true,true,36,p2io,p2i,1500,1], + ['parallaxtoleft', 15, 3,1,0,'horizontal',true,true,37,p2io,p2i,1500,1], + ['parallaxtotop', 14, 3,1,0,'horizontal',true,true,38,p2io,p1i,1500,1], + ['parallaxtobottom', 13, 3,1,0,'horizontal',true,true,39,p2io,p1i,1500,1], + ['scaledownfromright', 12, 4,1,0,'horizontal',true,true,40,p2io,p2i,1000,1], + ['scaledownfromleft', 15, 4,1,0,'horizontal',true,true,41,p2io,p2i,1000,1], + ['scaledownfromtop', 14, 4,1,0,'horizontal',true,true,42,p2io,p2i,1000,1], + ['scaledownfrombottom', 13, 4,1,0,'horizontal',true,true,43,p2io,p2i,1000,1], + ['zoomout', 13, 5,1,0,'horizontal',true,true,44,p2io,p2i,1000,1], + ['zoomin', 13, 6,1,0,'horizontal',true,true,45,p2io,p2i,1000,1], + ['slidingoverlayup', 27, 0,1,0,'horizontal',true,true,47,p1io,p1o,2000,1], + ['slidingoverlaydown', 28, 0,1,0,'horizontal',true,true,48,p1io,p1o,2000,1], + ['slidingoverlayright', 30, 0,1,0,'horizontal',true,true,49,p1io,p1o,2000,1], + ['slidingoverlayleft', 29, 0,1,0,'horizontal',true,true,50,p1io,p1o,2000,1], + ['parallaxcirclesup', 31, 0,1,0,'horizontal',true,true,51,p2io,p1i,1500,1], + ['parallaxcirclesdown', 32, 0,1,0,'horizontal',true,true,52,p2io,p1i,1500,1], + ['parallaxcirclesright', 33, 0,1,0,'horizontal',true,true,53,p2io,p1i,1500,1], + ['parallaxcirclesleft', 34, 0,1,0,'horizontal',true,true,54,p2io,p1i,1500,1], + ['notransition',26,0,1,0,'horizontal',true,null,46,p2io,p2i,1000,1], + ['parallaxright', 12, 3,1,0,'horizontal',true,true,55,p2io,p2i,1500,1], + ['parallaxleft', 15, 3,1,0,'horizontal',true,true,56,p2io,p2i,1500,1], + ['parallaxup', 14, 3,1,0,'horizontal',true,true,57,p2io,p1i,1500,1], + ['parallaxdown', 13, 3,1,0,'horizontal',true,true,58,p2io,p1i,1500,1], + ]; + + opt.duringslidechange = true; + + // INTERNAL TEST FOR TRANSITIONS + opt.testanims = false; + if (opt.testanims==true) { + opt.nexttesttransform = opt.nexttesttransform === undefined ? 34 : opt.nexttesttransform + 1; + opt.nexttesttransform = opt.nexttesttransform>70 ? 0 : opt.nexttesttransform; + comingtransition = transitionsArray[opt.nexttesttransform][0]; + console.log(comingtransition+" "+opt.nexttesttransform+" "+transitionsArray[opt.nexttesttransform][1]+" "+transitionsArray[opt.nexttesttransform][2]); + } + + + // CHECK AUTO DIRECTION FOR TRANSITION ARTS + jQuery.each(["parallaxcircles","slidingoverlay","slide","slideover","slideremove","parallax"],function(i,b) { + if (comingtransition==b+"horizontal") comingtransition = slidedirection!=1 ? b+"left" : b+"right"; + if (comingtransition==b+"vertical") comingtransition = slidedirection!=1 ? b+"up" : b+"down"; + }); + + + + // RANDOM TRANSITIONS + if (comingtransition == "random") { + comingtransition = Math.round(Math.random()*transitionsArray.length-1); + if (comingtransition>transitionsArray.length-1) comingtransition=transitionsArray.length-1; + } + + // RANDOM FLAT TRANSITIONS + if (comingtransition == "random-static") { + comingtransition = Math.round(Math.random()*flatTransitions.length-1); + if (comingtransition>flatTransitions.length-1) comingtransition=flatTransitions.length-1; + comingtransition = flatTransitions[comingtransition]; + } + + // RANDOM PREMIUM TRANSITIONS + if (comingtransition == "random-premium") { + comingtransition = Math.round(Math.random()*premiumTransitions.length-1); + if (comingtransition>premiumTransitions.length-1) comingtransition=premiumTransitions.length-1; + comingtransition = premiumTransitions[comingtransition]; + } + + //joomla only change: avoid problematic transitions that don't compatible with mootools + var problematicTransitions = [12,13,14,15,16,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45]; + if(opt.isJoomla == true && window.MooTools != undefined && problematicTransitions.indexOf(comingtransition) != -1){ + + var newTransIndex = Math.round(Math.random() * (premiumTransitions.length-2) ) + 1; + + //some limits fix + if (newTransIndex > premiumTransitions.length-1) + newTransIndex = premiumTransitions.length-1; + + if(newTransIndex == 0) + newTransIndex = 1; + + comingtransition = premiumTransitions[newTransIndex]; + } + + + + function findTransition() { + // FIND THE RIGHT TRANSITION PARAMETERS HERE + jQuery.each(transitionsArray,function(inde,trans) { + if (trans[0] == comingtransition || trans[8] == comingtransition) { + nexttrans = trans[1]; + specials = trans[2]; + STAindex = indexcounter; + } + indexcounter = indexcounter+1; + }) + } + + findTransition(); + + + + if (nexttrans>30) nexttrans = 30; + if (nexttrans<0) nexttrans = 0; + + + + var obj = new Object(); + obj.nexttrans = nexttrans; + obj.STA = transitionsArray[STAindex]; // PREPARED DEFAULT SETTINGS PER TRANSITION + obj.specials = specials; + return obj; + + +} + + +/************************************* + - ANIMATE THE SLIDE - +*************************************/ + +var gSlideTransA = function(a,i) { + if (i==undefined || jQuery.isNumeric(a)) return a; + if (a==undefined) return a; + return a.split(",")[i]; +} + +var animateSlideIntern = function(nexttrans, comingtransition, container, opt, nextli, actli, nextsh, actsh, mtl) { + + // GET THE TRANSITION + + var ai = actli.index(), + ni = nextli.index(), + slidedirection = ni opt.delay ? opt.delay : masterspeed; + + // ADJUST MASTERSPEED + masterspeed = masterspeed + STA[4]; + + + /////////////////////// + // ADJUST SLOTS // + /////////////////////// + opt.slots = gSlideTransA(nextli.data('slotamount'),ctid); + opt.slots = opt.slots==undefined || opt.slots=="default" ? STA[12] : opt.slots=="random" ? Math.round(Math.random()*12+4) : opt.slots; + opt.slots = opt.slots < 1 ? comingtransition=="boxslide" ? Math.round(Math.random()*6+3) : comingtransition=="flyin" ? Math.round(Math.random()*4+1) : opt.slots : opt.slots; + opt.slots = (nexttrans==4 || nexttrans==5 || nexttrans==6) && opt.slots<3 ? 3 : opt.slots; + opt.slots = STA[3] != 0 ? Math.min(opt.slots,STA[3]) : opt.slots; + opt.slots = nexttrans==9 ? opt.width/20 : nexttrans==10 ? opt.height/20 : opt.slots; + + + ///////////////////////////////////////////// + // SET THE ACTUAL AMOUNT OF SLIDES !! // + // SET A RANDOM AMOUNT OF SLOTS // + /////////////////////////////////////////// + opt.rotate = gSlideTransA(nextli.data('rotate'),ctid); + opt.rotate = opt.rotate==undefined || opt.rotate=="default" ? 0 : opt.rotate==999 || opt.rotate=="random" ? Math.round(Math.random()*360) : opt.rotate; + opt.rotate = (!jQuery.support.transition || opt.ie || opt.ie9) ? 0 : opt.rotate; + + + + + + // prepareOneSlide + if (nexttrans!=11) { + if (STA[7] !=null) prepareOneSlide(actsh,opt,STA[7],STA[5]); + if (STA[6] !=null) prepareOneSlide(nextsh,opt,STA[6],STA[5]); + } + + // DEFAULT SETTINGS FOR NEXT AND ACT SH + mtl.add(punchgs.TweenLite.set(nextsh.find('.defaultvid'),{y:0,x:0,top:0,left:0,scale:1}),0); + mtl.add(punchgs.TweenLite.set(actsh.find('.defaultvid'),{y:0,x:0,top:0,left:0,scale:1}),0); + mtl.add(punchgs.TweenLite.set(nextsh.find('.defaultvid'),{y:"+0%",x:"+0%"}),0); + mtl.add(punchgs.TweenLite.set(actsh.find('.defaultvid'),{y:"+0%",x:"+0%"}),0); + mtl.add(punchgs.TweenLite.set(nextsh,{autoAlpha:1,y:"+0%",x:"+0%"}),0); + mtl.add(punchgs.TweenLite.set(actsh,{autoAlpha:1,y:"+0%",x:"+0%"}),0); + mtl.add(punchgs.TweenLite.set(nextsh.parent(),{backgroundColor:"transparent"}),0); + mtl.add(punchgs.TweenLite.set(actsh.parent(),{backgroundColor:"transparent"}),0); + + + + var ei= gSlideTransA(nextli.data('easein'),ctid), + eo =gSlideTransA(nextli.data('easeout'),ctid); + + ei = ei==="default" ? STA[9] || punchgs.Power2.easeInOut : ei || STA[9] || punchgs.Power2.easeInOut; + eo = eo==="default" ? STA[10] || punchgs.Power2.easeInOut : eo || STA[10] || punchgs.Power2.easeInOut; + + + ///////////////////////////////////// + // THE SLOTSLIDE - TRANSITION I. // + //////////////////////////////////// + if (nexttrans==0) { // BOXSLIDE + + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + var maxz = Math.ceil(opt.height/opt.sloth); + var curz = 0; + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + curz=curz+1; + if (curz==maxz) curz=0; + + mtl.add(punchgs.TweenLite.from(ss,(masterspeed)/600, + {opacity:0,top:(0-opt.sloth),left:(0-opt.slotw),rotation:opt.rotate,force3D:"auto",ease:ei}),((j*15) + ((curz)*30))/1500); + }); + } + ///////////////////////////////////// + // THE SLOTSLIDE - TRANSITION I. // + //////////////////////////////////// + if (nexttrans==1) { + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + var maxtime, + maxj = 0; + + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this), + rand=Math.random()*masterspeed+300, + rand2=Math.random()*500+200; + if (rand+rand2>maxtime) { + maxtime = rand2+rand2; + maxj = j; + } + mtl.add(punchgs.TweenLite.from(ss,rand/1000, + {autoAlpha:0, force3D:"auto",rotation:opt.rotate,ease:ei}),rand2/1000); + }); + } + + + ///////////////////////////////////// + // THE SLOTSLIDE - TRANSITION I. // + //////////////////////////////////// + if (nexttrans==2) { + + var subtl = new punchgs.TimelineLite(); + // ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT + actsh.find('.slotslide').each(function() { + var ss=jQuery(this); + subtl.add(punchgs.TweenLite.to(ss,masterspeed/1000,{left:opt.slotw,ease:ei, force3D:"auto",rotation:(0-opt.rotate)}),0); + mtl.add(subtl,0); + }); + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + nextsh.find('.slotslide').each(function() { + var ss=jQuery(this); + subtl.add(punchgs.TweenLite.from(ss,masterspeed/1000,{left:0-opt.slotw,ease:ei, force3D:"auto",rotation:opt.rotate}),0); + mtl.add(subtl,0); + }); + } + + + + ///////////////////////////////////// + // THE SLOTSLIDE - TRANSITION I. // + //////////////////////////////////// + if (nexttrans==3) { + var subtl = new punchgs.TimelineLite(); + + // ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT + actsh.find('.slotslide').each(function() { + var ss=jQuery(this); + subtl.add(punchgs.TweenLite.to(ss,masterspeed/1000,{top:opt.sloth,ease:ei,rotation:opt.rotate,force3D:"auto",transformPerspective:600}),0); + mtl.add(subtl,0); + + }); + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + nextsh.find('.slotslide').each(function() { + var ss=jQuery(this); + subtl.add(punchgs.TweenLite.from(ss,masterspeed/1000,{top:0-opt.sloth,rotation:opt.rotate,ease:eo,force3D:"auto",transformPerspective:600}),0); + mtl.add(subtl,0); + }); + } + + + + ///////////////////////////////////// + // THE SLOTSLIDE - TRANSITION I. // + //////////////////////////////////// + if (nexttrans==4 || nexttrans==5) { + + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + var cspeed = (masterspeed)/1000, + ticker = cspeed, + subtl = new punchgs.TimelineLite(); + + actsh.find('.slotslide').each(function(i) { + var ss=jQuery(this); + var del = (i*cspeed)/opt.slots; + if (nexttrans==5) del = ((opt.slots-i-1)*cspeed)/(opt.slots)/1.5; + subtl.add(punchgs.TweenLite.to(ss,cspeed*3,{transformPerspective:600,force3D:"auto",top:0+opt.height,opacity:0.5,rotation:opt.rotate,ease:ei,delay:del}),0); + mtl.add(subtl,0); + }); + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + nextsh.find('.slotslide').each(function(i) { + var ss=jQuery(this); + var del = (i*cspeed)/opt.slots; + if (nexttrans==5) del = ((opt.slots-i-1)*cspeed)/(opt.slots)/1.5; + subtl.add(punchgs.TweenLite.from(ss,cspeed*3, + {top:(0-opt.height),opacity:0.5,rotation:opt.rotate,force3D:"auto",ease:punchgs.eo,delay:del}),0); + mtl.add(subtl,0); + + }); + + + } + + ///////////////////////////////////// + // THE SLOTSLIDE - TRANSITION I. // + //////////////////////////////////// + if (nexttrans==6) { + + + if (opt.slots<2) opt.slots=2; + if (opt.slots % 2) opt.slots = opt.slots+1; + + var subtl = new punchgs.TimelineLite(); + + //SET DEFAULT IMG UNVISIBLE + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + + actsh.find('.slotslide').each(function(i) { + var ss=jQuery(this); + if (i+1opt.delay) masterspeed=opt.delay; + var subtl = new punchgs.TimelineLite(); + + //SET DEFAULT IMG UNVISIBLE + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + + // ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT + actsh.find('.slotslide').each(function() { + var ss=jQuery(this).find('div'); + subtl.add(punchgs.TweenLite.to(ss,masterspeed/1000,{ + left:(0-opt.slotw/2)+'px', + top:(0-opt.height/2)+'px', + width:(opt.slotw*2)+"px", + height:(opt.height*2)+"px", + opacity:0, + rotation:opt.rotate, + force3D:"auto", + ease:ei}),0); + mtl.add(subtl,0); + + }); + + ////////////////////////////////////////////////////////////// + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT // + /////////////////////////////////////////////////////////////// + nextsh.find('.slotslide').each(function(i) { + var ss=jQuery(this).find('div'); + + subtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {left:0,top:0,opacity:0,transformPerspective:600}, + {left:(0-i*opt.slotw)+'px', + ease:eo, + force3D:"auto", + top:(0)+'px', + width:opt.width, + height:opt.height, + opacity:1,rotation:0, + delay:0.1}),0); + mtl.add(subtl,0); + }); + } + + + + + //////////////////////////////////// + // THE SLOTSZOOM - TRANSITION II. // + //////////////////////////////////// + if (nexttrans==8) { + + masterspeed = masterspeed * 3; + if (masterspeed>opt.delay) masterspeed=opt.delay; + var subtl = new punchgs.TimelineLite(); + + + + // ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT + actsh.find('.slotslide').each(function() { + var ss=jQuery(this).find('div'); + subtl.add(punchgs.TweenLite.to(ss,masterspeed/1000, + {left:(0-opt.width/2)+'px', + top:(0-opt.sloth/2)+'px', + width:(opt.width*2)+"px", + height:(opt.sloth*2)+"px", + force3D:"auto", + ease:ei, + opacity:0,rotation:opt.rotate}),0); + mtl.add(subtl,0); + + }); + + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT // + /////////////////////////////////////////////////////////////// + nextsh.find('.slotslide').each(function(i) { + var ss=jQuery(this).find('div'); + + subtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {left:0, top:0,opacity:0,force3D:"auto"}, + {'left':(0)+'px', + 'top':(0-i*opt.sloth)+'px', + 'width':(nextsh.find('.defaultimg').data('neww'))+"px", + 'height':(nextsh.find('.defaultimg').data('newh'))+"px", + opacity:1, + ease:eo,rotation:0, + }),0); + mtl.add(subtl,0); + }); + } + + + //////////////////////////////////////// + // THE SLOTSFADE - TRANSITION III. // + ////////////////////////////////////// + if (nexttrans==9 || nexttrans==10) { + var ssamount=0; + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + nextsh.find('.slotslide').each(function(i) { + var ss=jQuery(this); + ssamount++; + mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000,{autoAlpha:0,force3D:"auto",transformPerspective:600}, + {autoAlpha:1,ease:ei,delay:(i*5)/1000}),0); + + }); + } + + + ////////////////////// + // SLIDING OVERLAYS // + ////////////////////// + + if (nexttrans==27||nexttrans==28||nexttrans==29||nexttrans==30) { + + var slot = nextsh.find('.slot'), + nd = nexttrans==27 || nexttrans==28 ? 1 : 2, + mhp = nexttrans==27 || nexttrans==29 ? "-100%" : "+100%", + php = nexttrans==27 || nexttrans==29 ? "+100%" : "-100%", + mep = nexttrans==27 || nexttrans==29 ? "-80%" : "80%", + pep = nexttrans==27 || nexttrans==29 ? "80%" : "-80%", + ptp = nexttrans==27 || nexttrans==29 ? "10%" : "-10%", + fa = {overwrite:"all"}, + ta = {autoAlpha:0,zIndex:1,force3D:"auto",ease:ei}, + fb = {position:"inherit",autoAlpha:0,overwrite:"all",zIndex:1}, + tb = {autoAlpha:1,force3D:"auto",ease:eo}, + fc = {overwrite:"all",zIndex:2}, + tc = {autoAlpha:1,force3D:"auto",overwrite:"all",ease:ei}, + fd = {overwrite:"all",zIndex:2}, + td = {autoAlpha:1,force3D:"auto",ease:ei}, + at = nd==1 ? "y" : "x"; + + fa[at] = "0px"; + ta[at] = mhp; + fb[at] = ptp; + tb[at] = "0%"; + fc[at] = php; + tc[at] = mhp; + fd[at] = mep; + td[at] = pep; + + slot.append(''); + + mtl.add(punchgs.TweenLite.fromTo(actsh,masterspeed/1000,fa,ta),0); + mtl.add(punchgs.TweenLite.fromTo(nextsh.find('.defaultimg'),masterspeed/2000,fb,tb),masterspeed/2000); + mtl.add(punchgs.TweenLite.fromTo(slot,masterspeed/1000,fc,tc),0); + mtl.add(punchgs.TweenLite.fromTo(slot.find('.slotslide div'),masterspeed/1000,fd,td),0); + } + + + //////////////////////////////// + // PARALLAX CIRCLE TRANSITION // + //////////////////////////////// + + //nexttrans = 34; + if (nexttrans==31||nexttrans==32||nexttrans==33||nexttrans==34) { // up , down, right ,left + + masterspeed = 6000; + ei = punchgs.Power3.easeInOut; + + var ms = masterspeed / 1000; + mas = ms - ms/5, + _nt = nexttrans, + fy = _nt == 31 ? "+100%" : _nt == 32 ? "-100%" : "0%", + fx = _nt == 33 ? "+100%" : _nt == 34 ? "-100%" : "0%", + ty = _nt == 31 ? "-100%" : _nt == 32 ? "+100%" : "0%", + tx = _nt == 33 ? "-100%" : _nt == 34 ? "+100%" : "0%", + + + mtl.add(punchgs.TweenLite.fromTo(actsh,ms-(ms*0.2),{y:0,x:0},{y:ty,x:tx,ease:eo}),ms*0.2); + mtl.add(punchgs.TweenLite.fromTo(nextsh,ms,{y:fy, x:fx},{y:"0%",x:"0%",ease:ei}),0); + //mtl.add(punchgs.TweenLite.set(nextsh.find('.defaultimg'),{autoAlpha:0}),0);border:1px solid #fff + + function moveCircles(cont,ms,_nt,dir,ei) { + var slot = cont.find('.slot'), + pieces = 6, + sizearray = [2,1.2,0.9,0.7,0.55,0.42], + sw = cont.width(), + sh = cont.height(), + di = sh>sw ? (sw*2) / pieces : (sh*2) / pieces; + slot.wrap('
'); + + for (var i=0; ish ? sizearray[i]*sw : sizearray[i]*sh, + nw = nh, + + nl = 0 + (nw/2 - sw/2), + nt = 0 + (nh/2 - sh/2), + br = i!=0 ? "50%" : "0", + + ftop = _nt == 31 ? sh/2 - nh/2 : _nt == 32 ? sh/2 - nh/2 : sh/2 - nh/2, + fleft = _nt == 33 ? sw/2 - nw/2 : _nt == 34 ? sw - nw : sw/2 - nw/2, + fa = {scale:1,transformOrigo:"50% 50%",width:nw+"px",height:nh+"px",top:ftop+"px",left:fleft+"px",borderRadius:br}, + ta = {scale:1,top:sh/2 - nh/2,left:sw/2 - nw/2,ease:ei}, + + fftop = _nt == 31 ? nt : _nt == 32 ? nt : nt, + ffleft = _nt == 33 ? nl : _nt == 34 ? nl+(sw/2) : nl, + fb = {width:sw,height:sh,autoAlpha:1,top:fftop+"px",position:"absolute",left:ffleft+"px"}, + tb = {top:nt+"px",left:nl+"px",ease:ei}, + + speed = ms, + delay = 0; + + + + + mtl.add(punchgs.TweenLite.fromTo(t,speed,fa,ta),delay); + mtl.add(punchgs.TweenLite.fromTo(s,speed,fb,tb),delay); + mtl.add(punchgs.TweenLite.fromTo(t,0.001,{autoAlpha:0},{autoAlpha:1}),0); + } + }) + } + + nextsh.find('.slot').remove(); + nextsh.find('.defaultimg').clone().appendTo(nextsh).addClass("slot"); + moveCircles(nextsh, ms,_nt,"in",ei); + // moveCircles(actsh, mas,_nt,"out",eo); + + + + + + + + } + + ///////////////////////////// + // SIMPLE FADE ANIMATIONS // + //////////////////////////// + if (nexttrans==11) { + + if (specials>4) specials = 0; + + var ssamount=0, + bgcol = specials == 2 ? "#000000" : specials == 3 ? "#ffffff" : "transparent"; + + switch (specials) { + case 0: //FADE + mtl.add(punchgs.TweenLite.fromTo(nextsh,masterspeed/1000,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:ei}),0); + break; + + case 1: // CROSSFADE + mtl.add(punchgs.TweenLite.fromTo(nextsh,masterspeed/1000,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:ei}),0); + mtl.add(punchgs.TweenLite.fromTo(actsh,masterspeed/1000,{autoAlpha:1},{autoAlpha:0,force3D:"auto",ease:ei}),0); + break; + + case 2: + case 3: + case 4: + mtl.add(punchgs.TweenLite.set(actsh.parent(),{backgroundColor:bgcol,force3D:"auto"}),0); + mtl.add(punchgs.TweenLite.set(nextsh.parent(),{backgroundColor:"transparent",force3D:"auto"}),0); + mtl.add(punchgs.TweenLite.to(actsh,masterspeed/2000,{autoAlpha:0,force3D:"auto",ease:ei}),0); + mtl.add(punchgs.TweenLite.fromTo(nextsh,masterspeed/2000,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:ei}),masterspeed/2000); + break; + + } + + mtl.add(punchgs.TweenLite.set(nextsh.find('.defaultimg'),{autoAlpha:1}),0); + mtl.add(punchgs.TweenLite.set(actsh.find('defaultimg'),{autoAlpha:1}),0); + + + } + + if (nexttrans==26) { + var ssamount=0; + masterspeed=0; + mtl.add(punchgs.TweenLite.fromTo(nextsh,masterspeed/1000,{autoAlpha:0},{autoAlpha:1,force3D:"auto",ease:ei}),0); + mtl.add(punchgs.TweenLite.to(actsh,masterspeed/1000,{autoAlpha:0,force3D:"auto",ease:ei}),0); + mtl.add(punchgs.TweenLite.set(nextsh.find('.defaultimg'),{autoAlpha:1}),0); + mtl.add(punchgs.TweenLite.set(actsh.find('defaultimg'),{autoAlpha:1}),0); + } + + + + if (nexttrans==12 || nexttrans==13 || nexttrans==14 || nexttrans==15) { + masterspeed = masterspeed; + if (masterspeed>opt.delay) masterspeed=opt.delay; + //masterspeed = 1000; + + setTimeout(function() { + punchgs.TweenLite.set(actsh.find('.defaultimg'),{autoAlpha:0}); + + },100); + + var oow = opt.width, + ooh = opt.height, + ssn=nextsh.find('.slotslide, .defaultvid'), + twx = 0, + twy = 0, + op = 1, + scal = 1, + fromscale = 1, + speedy = masterspeed/1000, + speedy2 = speedy; + + + if (opt.sliderLayout=="fullwidth" || opt.sliderLayout=="fullscreen") { + oow=ssn.width(); + ooh=ssn.height(); + } + + + + if (nexttrans==12) + twx = oow; + else + if (nexttrans==15) + twx = 0-oow; + else + if (nexttrans==13) + twy = ooh; + else + if (nexttrans==14) + twy = 0-ooh; + + + // DEPENDING ON EXTENDED SPECIALS, DIFFERENT SCALE AND OPACITY FUNCTIONS NEED TO BE ADDED + if (specials == 1) op = 0; + if (specials == 2) op = 0; + if (specials == 3) speedy = masterspeed / 1300; + + if (specials==4 || specials==5) + scal=0.6; + if (specials==6 ) + scal=1.4; + + + if (specials==5 || specials==6) { + fromscale=1.4; + op=0; + oow=0; + ooh=0;twx=0;twy=0; + } + if (specials==6) fromscale=0.6; + var dd = 0; + + if (specials==7) { + oow = 0; + ooh = 0; + } + + var inc = nextsh.find('.slotslide'), + outc = actsh.find('.slotslide, .defaultvid'); + + mtl.add(punchgs.TweenLite.set(actli,{zIndex:15}),0); + mtl.add(punchgs.TweenLite.set(nextli,{zIndex:20}),0); + + if (specials==8) { + + mtl.add(punchgs.TweenLite.set(actli,{zIndex:20}),0); + mtl.add(punchgs.TweenLite.set(nextli,{zIndex:15}),0); + mtl.add(punchgs.TweenLite.set(inc,{left:0, top:0, scale:1, opacity:1,rotation:0,ease:ei,force3D:"auto"}),0); + } else { + + mtl.add(punchgs.TweenLite.from(inc,speedy,{left:twx, top:twy, scale:fromscale, opacity:op,rotation:opt.rotate,ease:ei,force3D:"auto"}),0); + } + + if (specials==4 || specials==5) { + oow = 0; ooh=0; + } + + if (specials!=1) + switch (nexttrans) { + case 12: + mtl.add(punchgs.TweenLite.to(outc,speedy2,{'left':(0-oow)+'px',force3D:"auto",scale:scal,opacity:op,rotation:opt.rotate,ease:eo}),0); + break; + case 15: + mtl.add(punchgs.TweenLite.to(outc,speedy2,{'left':(oow)+'px',force3D:"auto",scale:scal,opacity:op,rotation:opt.rotate,ease:eo}),0); + break; + case 13: + mtl.add(punchgs.TweenLite.to(outc,speedy2,{'top':(0-ooh)+'px',force3D:"auto",scale:scal,opacity:op,rotation:opt.rotate,ease:eo}),0); + break; + case 14: + mtl.add(punchgs.TweenLite.to(outc,speedy2,{'top':(ooh)+'px',force3D:"auto",scale:scal,opacity:op,rotation:opt.rotate,ease:eo}),0); + break; + } + } + + ////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XVI. // + ////////////////////////////////////// + if (nexttrans==16) { // PAPERCUT + + + var subtl = new punchgs.TimelineLite(); + mtl.add(punchgs.TweenLite.set(actli,{'position':'absolute','z-index':20}),0); + mtl.add(punchgs.TweenLite.set(nextli,{'position':'absolute','z-index':15}),0); + + + // PREPARE THE CUTS + actli.wrapInner('
'); + + actli.find('.tp-half-one').clone(true).appendTo(actli).addClass("tp-half-two"); + actli.find('.tp-half-two').removeClass('tp-half-one'); + + var oow = opt.width, + ooh = opt.height; + if (opt.autoHeight=="on") + ooh = container.height(); + + + actli.find('.tp-half-one .defaultimg').wrap('
') + actli.find('.tp-half-two .defaultimg').wrap('
') + actli.find('.tp-half-two .defaultimg').css({position:'absolute',top:'-50%'}); + actli.find('.tp-half-two .tp-caption').wrapAll('
'); + + mtl.add(punchgs.TweenLite.set(actli.find('.tp-half-two'), + {width:oow,height:ooh,overflow:'hidden',zIndex:15,position:'absolute',top:ooh/2,left:'0px',transformPerspective:600,transformOrigin:"center bottom"}),0); + + mtl.add(punchgs.TweenLite.set(actli.find('.tp-half-one'), + {width:oow,height:ooh/2,overflow:'visible',zIndex:10,position:'absolute',top:'0px',left:'0px',transformPerspective:600,transformOrigin:"center top"}),0); + + // ANIMATE THE CUTS + var img=actli.find('.defaultimg'), + ro1=Math.round(Math.random()*20-10), + ro2=Math.round(Math.random()*20-10), + ro3=Math.round(Math.random()*20-10), + xof = Math.random()*0.4-0.2, + yof = Math.random()*0.4-0.2, + sc1=Math.random()*1+1, + sc2=Math.random()*1+1, + sc3=Math.random()*0.3+0.3; + + mtl.add(punchgs.TweenLite.set(actli.find('.tp-half-one'),{overflow:'hidden'}),0); + mtl.add(punchgs.TweenLite.fromTo(actli.find('.tp-half-one'),masterspeed/800, + {width:oow,height:ooh/2,position:'absolute',top:'0px',left:'0px',force3D:"auto",transformOrigin:"center top"}, + {scale:sc1,rotation:ro1,y:(0-ooh-ooh/4),autoAlpha:0,ease:ei}),0); + mtl.add(punchgs.TweenLite.fromTo(actli.find('.tp-half-two'),masterspeed/800, + {width:oow,height:ooh,overflow:'hidden',position:'absolute',top:ooh/2,left:'0px',force3D:"auto",transformOrigin:"center bottom"}, + {scale:sc2,rotation:ro2,y:ooh+ooh/4,ease:ei,autoAlpha:0,onComplete:function() { + // CLEAN UP + punchgs.TweenLite.set(actli,{'position':'absolute','z-index':15}); + punchgs.TweenLite.set(nextli,{'position':'absolute','z-index':20}); + if (actli.find('.tp-half-one').length>0) { + actli.find('.tp-half-one .defaultimg').unwrap(); + actli.find('.tp-half-one .slotholder').unwrap(); + } + actli.find('.tp-half-two').remove(); + }}),0); + + subtl.add(punchgs.TweenLite.set(nextsh.find('.defaultimg'),{autoAlpha:1}),0); + + if (actli.html()!=null) + mtl.add(punchgs.TweenLite.fromTo(nextli,(masterspeed-200)/1000, + {scale:sc3,x:(opt.width/4)*xof, y:(ooh/4)*yof,rotation:ro3,force3D:"auto",transformOrigin:"center center",ease:eo}, + {autoAlpha:1,scale:1,x:0,y:0,rotation:0}),0); + + mtl.add(subtl,0); + + + } + + //////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XVII. // + /////////////////////////////////////// + if (nexttrans==17) { // 3D CURTAIN HORIZONTAL + + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + + mtl.add(punchgs.TweenLite.fromTo(ss,(masterspeed)/800, + {opacity:0,rotationY:0,scale:0.9,rotationX:-110,force3D:"auto",transformPerspective:600,transformOrigin:"center center"}, + {opacity:1,top:0,left:0,scale:1,rotation:0,rotationX:0,force3D:"auto",rotationY:0,ease:ei,delay:j*0.06}),0); + + }); + } + + + + //////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XVIII. // + /////////////////////////////////////// + if (nexttrans==18) { // 3D CURTAIN VERTICAL + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + + mtl.add(punchgs.TweenLite.fromTo(ss,(masterspeed)/500, + {autoAlpha:0,rotationY:110,scale:0.9,rotationX:10,force3D:"auto",transformPerspective:600,transformOrigin:"center center"}, + {autoAlpha:1,top:0,left:0,scale:1,rotation:0,rotationX:0,force3D:"auto",rotationY:0,ease:ei,delay:j*0.06}),0); + }); + + + + } + + + //////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XIX. // + /////////////////////////////////////// + if (nexttrans==19 || nexttrans==22) { // IN CUBE + + var subtl = new punchgs.TimelineLite(); + //SET DEFAULT IMG UNVISIBLE + + mtl.add(punchgs.TweenLite.set(actli,{zIndex:20}),0); + mtl.add(punchgs.TweenLite.set(nextli,{zIndex:20}),0); + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + var rot = 90, + op = 1, + torig ="center center "; + + if (slidedirection==1) rot = -90; + + if (nexttrans==19) { + torig = torig+"-"+opt.height/2; + op=0; + + } else { + torig = torig+opt.height/2; + } + + // ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT + punchgs.TweenLite.set(container,{transformStyle:"flat",backfaceVisibility:"hidden",transformPerspective:600}); + + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + + subtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {transformStyle:"flat",backfaceVisibility:"hidden",left:0,rotationY:opt.rotate,z:10,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:torig,rotationX:rot}, + {left:0,rotationY:0,top:0,z:0, scale:1,force3D:"auto",rotationX:0, delay:(j*50)/1000,ease:ei}),0); + subtl.add(punchgs.TweenLite.to(ss,0.1,{autoAlpha:1,delay:(j*50)/1000}),0); + mtl.add(subtl); + }); + + actsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + var rot = -90; + if (slidedirection==1) rot = 90; + + subtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {transformStyle:"flat",backfaceVisibility:"hidden",autoAlpha:1,rotationY:0,top:0,z:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:torig, rotationX:0}, + {autoAlpha:1,rotationY:opt.rotate,top:0,z:10, scale:1,rotationX:rot, delay:(j*50)/1000,force3D:"auto",ease:eo}),0); + + mtl.add(subtl); + }); + mtl.add(punchgs.TweenLite.set(actli,{zIndex:18}),0); + } + + + + + //////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XX. // + /////////////////////////////////////// + if (nexttrans==20 ) { // FLYIN + + + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + + if (slidedirection==1) { + var ofx = -opt.width + var rot =80; + var torig = "20% 70% -"+opt.height/2; + } else { + var ofx = opt.width; + var rot = -80; + var torig = "80% 70% -"+opt.height/2; + } + + + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this), + d = (j*50)/1000; + + + + mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {left:ofx,rotationX:40,z:-600, opacity:op,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:torig,transformStyle:"flat",rotationY:rot}, + {left:0,rotationX:0,opacity:1,top:0,z:0, scale:1,rotationY:0, delay:d,ease:ei}),0); + + + }); + actsh.find('.slotslide').each(function(j) { + var ss=jQuery(this), + d = (j*50)/1000; + d = j>0 ? d + masterspeed/9000 : 0; + + if (slidedirection!=1) { + var ofx = -opt.width/2 + var rot =30; + var torig = "20% 70% -"+opt.height/2; + } else { + var ofx = opt.width/2; + var rot = -30; + var torig = "80% 70% -"+opt.height/2; + } + eo=punchgs.Power2.easeInOut; + + mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {opacity:1,rotationX:0,top:0,z:0,scale:1,left:0, force3D:"auto",transformPerspective:600,transformOrigin:torig, transformStyle:"flat",rotationY:0}, + {opacity:1,rotationX:20,top:0, z:-600, left:ofx, force3D:"auto",rotationY:rot, delay:d,ease:eo}),0); + + + }); + } + + //////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XX. // + /////////////////////////////////////// + if (nexttrans==21 || nexttrans==25) { // TURNOFF + + + //SET DEFAULT IMG UNVISIBLE + + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + var rot = 90, + ofx = -opt.width, + rot2 = -rot; + + if (slidedirection==1) { + if (nexttrans==25) { + var torig = "center top 0"; + rot = opt.rotate; + } else { + var torig = "left center 0"; + rot2 = opt.rotate; + } + + } else { + ofx = opt.width; + rot = -90; + if (nexttrans==25) { + var torig = "center bottom 0" + rot2 = -rot; + rot = opt.rotate; + } else { + var torig = "right center 0"; + rot2 = opt.rotate; + } + } + + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this), + ms2 = ((masterspeed/1.5)/3); + + + mtl.add(punchgs.TweenLite.fromTo(ss,(ms2*2)/1000, + {left:0,transformStyle:"flat",rotationX:rot2,z:0, autoAlpha:0,top:0,scale:1,force3D:"auto",transformPerspective:1200,transformOrigin:torig,rotationY:rot}, + {left:0,rotationX:0,top:0,z:0, autoAlpha:1,scale:1,rotationY:0,force3D:"auto",delay:ms2/1000, ease:ei}),0); + }); + + + if (slidedirection!=1) { + ofx = -opt.width + rot = 90; + + if (nexttrans==25) { + torig = "center top 0" + rot2 = -rot; + rot = opt.rotate; + } else { + torig = "left center 0"; + rot2 = opt.rotate; + } + + } else { + ofx = opt.width; + rot = -90; + if (nexttrans==25) { + torig = "center bottom 0" + rot2 = -rot; + rot = opt.rotate; + } else { + torig = "right center 0"; + rot2 = opt.rotate; + } + } + + actsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {left:0,transformStyle:"flat",rotationX:0,z:0, autoAlpha:1,top:0,scale:1,force3D:"auto",transformPerspective:1200,transformOrigin:torig,rotationY:0}, + {left:0,rotationX:rot2,top:0,z:0,autoAlpha:1,force3D:"auto", scale:1,rotationY:rot,ease:eo}),0); + }); + } + + + + //////////////////////////////////////// + // THE SLOTSLIDE - TRANSITION XX. // + /////////////////////////////////////// + if (nexttrans==23 || nexttrans == 24) { // cube-horizontal - inboxhorizontal + + //SET DEFAULT IMG UNVISIBLE + setTimeout(function() { + actsh.find('.defaultimg').css({opacity:0}); + },100); + var rot = -90, + op = 1, + opx=0; + + if (slidedirection==1) rot = 90; + if (nexttrans==23) { + var torig = "center center -"+opt.width/2; + op=0; + } else + var torig = "center center "+opt.width/2; + + punchgs.TweenLite.set(container,{transformStyle:"preserve-3d",backfaceVisibility:"hidden",perspective:2500}); + nextsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {left:opx,rotationX:opt.rotate,force3D:"auto",opacity:op,top:0,scale:1,transformPerspective:1200,transformOrigin:torig,rotationY:rot}, + {left:0,rotationX:0,autoAlpha:1,top:0,z:0, scale:1,rotationY:0, delay:(j*50)/500,ease:ei}),0); + }); + + rot = 90; + if (slidedirection==1) rot = -90; + + actsh.find('.slotslide').each(function(j) { + var ss=jQuery(this); + mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/1000, + {left:0,rotationX:0,top:0,z:0,scale:1,force3D:"auto",transformStyle:"flat",transformPerspective:1200,transformOrigin:torig, rotationY:0}, + {left:opx,rotationX:opt.rotate,top:0, scale:1,rotationY:rot, delay:(j*50)/500,ease:eo}),0); + if (nexttrans==23) mtl.add(punchgs.TweenLite.fromTo(ss,masterspeed/2000,{autoAlpha:1},{autoAlpha:0,delay:(j*50)/500 + masterspeed/3000,ease:eo}),0); + + }); + } + + + return mtl; +} + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/extensions/source/revolution.extension.video.js b/server/www/static/www/revolution/js/extensions/source/revolution.extension.video.js new file mode 100644 index 0000000..ce2a7ff --- /dev/null +++ b/server/www/static/www/revolution/js/extensions/source/revolution.extension.video.js @@ -0,0 +1,1194 @@ +/******************************************** + * REVOLUTION 5.2 EXTENSION - VIDEO FUNCTIONS + * @version: 1.5 (03.03.2016) + * @requires jquery.themepunch.revolution.js + * @author ThemePunch +*********************************************/ +(function($) { +var _R = jQuery.fn.revolution, + _ISM = _R.is_mobile(); + + + +/////////////////////////////////////////// +// EXTENDED FUNCTIONS AVAILABLE GLOBAL // +/////////////////////////////////////////// +jQuery.extend(true,_R, { + + + preLoadAudio : function(li,opt) { + li.find('.tp-audiolayer').each(function() { + + var element = jQuery(this), + obj = {}; + if (element.find('audio').length===0) { + obj.src = element.data('videomp4') !=undefined ? element.data('videomp4') : '', + obj.pre = element.data('videopreload') || ''; + if (element.attr('id')===undefined) element.attr('audio-layer-'+Math.round(Math.random()*199999)); + obj.id = element.attr('id'); + obj.status = "prepared"; + obj.start = jQuery.now(); + obj.waittime = element.data('videopreloadwait')*1000 || 5000; + + + if (obj.pre=="auto" || obj.pre=="canplaythrough" || obj.pre=="canplay" || obj.pre=="progress") { + if (opt.audioqueue===undefined) opt.audioqueue = []; + opt.audioqueue.push(obj); + _R.manageVideoLayer(element,opt); + } + } + }); + }, + + preLoadAudioDone : function(nc,opt,event) { + + if (opt.audioqueue && opt.audioqueue.length>0) + jQuery.each(opt.audioqueue,function(i,obj) { + if (nc.data('videomp4') === obj.src && (obj.pre === event || obj.pre==="auto")) { + obj.status = "loaded"; + } + }); + }, + + resetVideo : function(_nc,opt) { + switch (_nc.data('videotype')) { + case "youtube": + var player=_nc.data('player'); + try{ + if (_nc.data('forcerewind')=="on" && !_ISM) { + var s = getStartSec(_nc.data('videostartat')); + s= s==-1 ? 0 : s; + if (_nc.data('player')!=undefined) { + _nc.data('player').seekTo(s); + _nc.data('player').pauseVideo(); + } + } + } catch(e) {} + if (_nc.find('.tp-videoposter').length==0) + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + break; + + case "vimeo": + var f = $f(_nc.find('iframe').attr("id")); + try{ + if (_nc.data('forcerewind')=="on" && !_ISM) { + var s = getStartSec(_nc.data('videostartat')), + ct = 0; + s= s==-1 ? 0 : s; + f.api("seekTo",s); + f.api("pause"); + + } + + } catch(e) {} + if (_nc.find('.tp-videoposter').length==0) + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + break; + + case "html5": + if (_ISM && _nc.data('disablevideoonmobile')==1) return false; + + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0]; + + + punchgs.TweenLite.to(jvideo,0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + + if (_nc.data('forcerewind')=="on" && !_nc.hasClass("videoisplaying")) { + try{ + var s = getStartSec(_nc.data('videostartat')); + video.currentTime = s == -1 ? 0 : s; + } catch(e) {} + } + + if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true) + video.muted = true; + break; + } + }, + + + isVideoMuted : function(_nc,opt) { + var muted = false; + switch (_nc.data('videotype')) { + case "youtube": + try{ + var player=_nc.data('player'); + muted = player.isMuted(); + } catch(e) {} + break; + case "vimeo": + try{ + var f = $f(_nc.find('iframe').attr("id")); + if (_nc.data('volume')=="mute") + muted = true; + + } catch(e) {} + break; + case "html5": + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0]; + + if (video.muted) + muted = true; + break; + } + return muted; + }, + + muteVideo : function(_nc,opt) { + switch (_nc.data('videotype')) { + case "youtube": + try{ + var player=_nc.data('player'); + + player.mute(); + } catch(e) {} + break; + case "vimeo": + try{ + var f = $f(_nc.find('iframe').attr("id")); + _nc.data('volume',"mute"); + f.api('setVolume',0); + } catch(e) {} + break; + case "html5": + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0]; + video.muted = true; + break; + } + }, + + unMuteVideo : function(_nc,opt) { + if (opt.globalmute===true) return; + switch (_nc.data('videotype')) { + case "youtube": + try{ + var player=_nc.data('player'); + player.unMute(); + } catch(e) {} + break; + case "vimeo": + try{ + var f = $f(_nc.find('iframe').attr("id")); + _nc.data('volume',"1"); + f.api('setVolume',1); + } catch(e) {} + break; + case "html5": + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0]; + video.muted = false; + break; + } + }, + + + + + + stopVideo : function(_nc,opt) { + + switch (_nc.data('videotype')) { + case "youtube": + try{ + var player=_nc.data('player'); + player.pauseVideo(); + } catch(e) {} + break; + case "vimeo": + try{ + var f = $f(_nc.find('iframe').attr("id")); + f.api("pause"); + + } catch(e) {} + break; + case "html5": + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0]; + if (jvideo!=undefined && video!=undefined) video.pause(); + break; + } + }, + + playVideo : function(_nc,opt) { + + clearTimeout(_nc.data('videoplaywait')); + switch (_nc.data('videotype')) { + case "youtube": + + if (_nc.find('iframe').length==0) { + _nc.append(_nc.data('videomarkup')); + addVideoListener(_nc,opt,true); + } else { + if (_nc.data('player').playVideo !=undefined) { + + var s = getStartSec(_nc.data('videostartat')), + ct = _nc.data('player').getCurrentTime(); + if (_nc.data('nextslideatend-triggered')==1) { + ct=-1; + _nc.data('nextslideatend-triggered',0); + } + if (s!=-1 && s>ct) _nc.data('player').seekTo(s); + _nc.data('player').playVideo(); + } else { + _nc.data('videoplaywait',setTimeout(function() { + _R.playVideo(_nc,opt); + },50)); + } + } + break; + case "vimeo": + + if (_nc.find('iframe').length==0) { + _nc.append(_nc.data('videomarkup')); + addVideoListener(_nc,opt,true); + + } else { + if (_nc.hasClass("rs-apiready")) { + var id = _nc.find('iframe').attr("id"), + f = $f(id); + if (f.api("play")==undefined) { + _nc.data('videoplaywait',setTimeout(function() { + + _R.playVideo(_nc,opt); + },50)); + } else { + setTimeout(function() { + + f.api("play"); + var s = getStartSec(_nc.data('videostartat')), + ct = _nc.data('currenttime'); + if (_nc.data('nextslideatend-triggered')==1) { + ct=-1; + _nc.data('nextslideatend-triggered',0); + } + if (s!=-1 && s>ct) f.api("seekTo",s); + },510); + } + } else { + _nc.data('videoplaywait',setTimeout(function() { + + _R.playVideo(_nc,opt); + },50)); + } + } + break; + case "html5": + if (_ISM && _nc.data('disablevideoonmobile')==1) return false; + + + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0], + html5vid = jvideo.parent(); + + if (html5vid.data('metaloaded') != 1) { + addEvent(video,'loadedmetadata',function(_nc) { + _R.resetVideo(_nc,opt); + video.play(); + var s = getStartSec(_nc.data('videostartat')), + ct = video.currentTime; + if (_nc.data('nextslideatend-triggered')==1) { + ct=-1; + _nc.data('nextslideatend-triggered',0); + } + if (s!=-1 && s>ct) video.currentTime = s; + }(_nc)); + } else { + video.play(); + var s = getStartSec(_nc.data('videostartat')), + ct = video.currentTime; + if (_nc.data('nextslideatend-triggered')==1) { + ct=-1; + _nc.data('nextslideatend-triggered',0); + } + if (s!=-1 && s>ct) video.currentTime = s; + } + break; + } + }, + + isVideoPlaying : function(_nc,opt) { + + var ret = false; + if (opt.playingvideos != undefined) { + jQuery.each(opt.playingvideos,function(i,nc) { + if (_nc.attr('id') == nc.attr('id')) + ret = true; + }); + } + return ret; + }, + + removeMediaFromList : function(_nc,opt) { + remVidfromList(_nc,opt); + }, + + prepareCoveredVideo : function(asprat,opt,nextcaption) { + var ifr = nextcaption.find('iframe, video'), + wa = asprat.split(':')[0], + ha = asprat.split(':')[1], + li = nextcaption.closest('.tp-revslider-slidesli'), + od = li.width()/li.height(), + vd = wa/ha, + nvh = (od/vd)*100, + nvw = (vd/od)*100; + + if (od>vd) + punchgs.TweenLite.to(ifr,0.001,{height:nvh+"%", width:"100%", top:-(nvh-100)/2+"%",left:"0px",position:"absolute"}); + else + punchgs.TweenLite.to(ifr,0.001,{width:nvw+"%", height:"100%", left:-(nvw-100)/2+"%",top:"0px",position:"absolute"}); + + if (!ifr.hasClass("resizelistener")) { + ifr.addClass("resizelistener"); + jQuery(window).resize(function() { + clearTimeout(ifr.data('resizelistener')); + ifr.data('resizelistener',setTimeout(function() { + _R.prepareCoveredVideo(asprat,opt,nextcaption); + },30)); + }) + } + }, + + checkVideoApis : function(_nc,opt,addedApis) { + var httpprefix = location.protocol === 'https:' ? "https" : "http"; + + if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0)) opt.youtubeapineeded = true; + if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0) && addedApis.addedyt==0) { + opt.youtubestarttime = jQuery.now(); + addedApis.addedyt=1; + var s = document.createElement("script"); + s.src = "https://www.youtube.com/iframe_api"; /* Load Player API*/ + var before = document.getElementsByTagName("script")[0], + loadit = true; + jQuery('head').find('*').each(function(){ + if (jQuery(this).attr('src') == "https://www.youtube.com/iframe_api") + loadit = false; + }); + if (loadit) before.parentNode.insertBefore(s, before); + + } + + + + if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0)) opt.vimeoapineeded = true; + if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0) && addedApis.addedvim==0) { + opt.vimeostarttime = jQuery.now(); + addedApis.addedvim=1; + var f = document.createElement("script"), + before = document.getElementsByTagName("script")[0], + loadit = true; + f.src = httpprefix+"://f.vimeocdn.com/js/froogaloop2.min.js"; /* Load Player API*/ + + jQuery('head').find('*').each(function(){ + if (jQuery(this).attr('src') == httpprefix+"://f.vimeocdn.com/js/froogaloop2.min.js") + loadit = false; + }); + if (loadit) + before.parentNode.insertBefore(f, before); + } + return addedApis; + }, + + manageVideoLayer : function(_nc,opt,recalled,internrecalled) { + // YOUTUBE AND VIMEO LISTENRES INITIALISATION + var vida = _nc.data("videoattributes"), + vidytid = _nc.data('ytid'), + vimeoid = _nc.data('vimeoid'), + videopreload = _nc.data('videopreload') === "auto" || _nc.data('videopreload') === "canplay" || _nc.data('videopreload') === "canplaythrough" || _nc.data('videopreload') === "progress" ? "auto" : _nc.data('videopreload'), + videomp = _nc.data('videomp4'), + videowebm = _nc.data('videowebm'), + videoogv = _nc.data('videoogv'), + videoafs = _nc.data('allowfullscreenvideo'), + videocontrols = _nc.data('videocontrols'), + httpprefix = "http", + videoloop = _nc.data('videoloop')=="loop" ? "loop" : _nc.data('videoloop')=="loopandnoslidestop" ? "loop" : "", + videotype = (videomp!=undefined || videowebm!=undefined) ? "html5" : + (vidytid!=undefined && String(vidytid).length>1) ? "youtube" : + (vimeoid!=undefined && String(vimeoid).length>1) ? "vimeo" : "none", + tag = _nc.data('audio')=="html5" ? "audio" : "video", + newvideotype = (videotype=="html5" && _nc.find(tag).length==0) ? "html5" : + (videotype=="youtube" && _nc.find('iframe').length==0) ? "youtube" : + (videotype=="vimeo" && _nc.find('iframe').length==0) ? "vimeo" : "none"; + + _nc.data('videotype',videotype); + // ADD HTML5 VIDEO IF NEEDED + switch (newvideotype) { + case "html5": + + if (videocontrols!="controls") videocontrols=""; + var tag = "video" + + //_nc.data('audio',"html5"); + if (_nc.data('audio')=="html5") { + tag = "audio"; + _nc.addClass("tp-audio-html5"); + } + + var apptxt = '<'+tag+' style="object-fit:cover;background-size:cover;visible:hidden;width:100%; height:100%" class="" '+videoloop+' preload="'+videopreload+'">'; + + if (videopreload=="auto") opt.mediapreload = true; + //if (_nc.data('videoposter')!=undefined) apptxt = apptxt + 'poster="'+_nc.data('videoposter')+'">'; + if (videowebm!=undefined && _R.get_browser().toLowerCase()=="firefox") apptxt = apptxt + ''; + if (videomp!=undefined) apptxt = apptxt + ''; + if (videoogv!=undefined) apptxt = apptxt + ''; + apptxt = apptxt + ''; + var hfm =""; + if (videoafs==="true" || videoafs===true) + hfm = '
'; + + if (videocontrols=="controls") + apptxt = apptxt + ('
'+ + '
'+ + '
'+ + '
'+ + '
'+ + hfm+ + '
'); + + _nc.data('videomarkup',apptxt) + _nc.append(apptxt); + + // START OF HTML5 VIDEOS + if ((_ISM && _nc.data('disablevideoonmobile')==1) ||_R.isIE(8)) _nc.find(tag).remove(); + + // ADD HTML5 VIDEO CONTAINER + _nc.find(tag).each(function(i) { + var video = this, + jvideo = jQuery(this); + + if (!jvideo.parent().hasClass("html5vid")) + jvideo.wrap('
'); + + var html5vid = jvideo.parent(); + if (html5vid.data('metaloaded') != 1) { + addEvent(video,'loadedmetadata',function(_nc) { + htmlvideoevents(_nc,opt); + _R.resetVideo(_nc,opt); + }(_nc)); + } + }); + break; + case "youtube": + httpprefix = "http"; + if (location.protocol === 'https:') + httpprefix = "https"; + if (videocontrols=="none") { + vida = vida.replace("controls=1","controls=0"); + if (vida.toLowerCase().indexOf('controls')==-1) + vida = vida+"&controls=0"; + } + + var s = getStartSec(_nc.data('videostartat')), + e = getStartSec(_nc.data('videoendat')); + + if (s!=-1) vida=vida+"&start="+s; + if (e!=-1) vida=vida+"&end="+e; + + // CHECK VIDEO ORIGIN, AND EXTEND WITH WWW IN CASE IT IS MISSING ! + var orig = vida.split('origin='+httpprefix+'://'), + vida_new = ""; + + if (orig.length>1) { + vida_new = orig[0]+'origin='+httpprefix+'://'; + if (self.location.href.match(/www/gi) && !orig[1].match(/www/gi)) + vida_new=vida_new+"www." + vida_new=vida_new+orig[1]; + } else { + vida_new = vida; + } + + var yafv = videoafs==="true" || videoafs===true ? "allowfullscreen" : ""; + _nc.data('videomarkup',''); + break; + + case "vimeo": + if (location.protocol === 'https:') + httpprefix = "https"; + _nc.data('videomarkup',''); + + break; + } + + //if (videotype=="vimeo" || videotype=="youtube") { + + // IF VIDEOPOSTER EXISTING + var noposteronmobile = _ISM && _nc.data('noposteronmobile')=="on"; + + if (_nc.data('videoposter')!=undefined && _nc.data('videoposter').length>2 && !noposteronmobile) { + if (_nc.find('.tp-videoposter').length==0) + _nc.append('
'); + if (_nc.find('iframe').length==0) + _nc.find('.tp-videoposter').click(function() { + _R.playVideo(_nc,opt); + if (_ISM) { + if (_nc.data('disablevideoonmobile')==1) return false; + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + } + }) + } else { + if (_ISM && _nc.data('disablevideoonmobile')==1) return false; + if (_nc.find('iframe').length==0 && (videotype=="youtube" || videotype=="vimeo")) { + _nc.append(_nc.data('videomarkup')); + addVideoListener(_nc,opt,false); + } + } + + // ADD DOTTED OVERLAY IF NEEDED + if (_nc.data('dottedoverlay')!="none" && _nc.data('dottedoverlay')!=undefined && _nc.find('.tp-dottedoverlay').length!=1) + _nc.append('
'); + + _nc.addClass("HasListener"); + + if (_nc.data('bgvideo')==1) { + punchgs.TweenLite.set(_nc.find('video, iframe'),{autoAlpha:0}); + } + } + +}); + + + + + +////////////////////////////////////////////////////// +// * Revolution Slider - VIDEO / API FUNCTIONS // +// * @version: 1.0 (30.10.2014) // +// * @author ThemePunch // +////////////////////////////////////////////////////// + +function getStartSec(st) { + return st == undefined ? -1 :jQuery.isNumeric(st) ? st : st.split(":").length>1 ? parseInt(st.split(":")[0],0)*60 + parseInt(st.split(":")[1],0) : st; +}; + +// - VIMEO ADD EVENT ///// +var addEvent = function(element, eventName, callback) { + if (element.addEventListener) + element.addEventListener(eventName, callback, false); + else + element.attachEvent(eventName, callback, false); +}; + +var getVideoDatas = function(p,t,d) { + var a = {}; + a.video = p; + a.videotype = t; + a.settings = d; + return a; +} + + +var addVideoListener = function(_nc,opt,startnow) { + + var ifr = _nc.find('iframe'), + frameID = "iframe"+Math.round(Math.random()*100000+1), + loop = _nc.data('videoloop'), + pforv = loop != "loopandnoslidestop"; + + loop = loop =="loop" || loop =="loopandnoslidestop"; + + // CARE ABOUT ASPECT RATIO + + if (_nc.data('forcecover')==1) { + _nc.removeClass("fullscreenvideo").addClass("coverscreenvideo"); + var asprat = _nc.data('aspectratio'); + if (asprat!=undefined && asprat.split(":").length>1) + _R.prepareCoveredVideo(asprat,opt,_nc); + } + + if (_nc.data('bgvideo')==1) { + var asprat = _nc.data('aspectratio'); + if (asprat!=undefined && asprat.split(":").length>1) + _R.prepareCoveredVideo(asprat,opt,_nc); + } + + + + // IF LISTENER DOES NOT EXIST YET + ifr.attr('id',frameID); + + if (startnow) _nc.data('startvideonow',true); + + if (_nc.data('videolistenerexist')!==1) { + switch (_nc.data('videotype')) { + // YOUTUBE LISTENER + case "youtube": + + var player = new YT.Player(frameID, { + events: { + "onStateChange": function(event) { + + var container = _nc.closest('.tp-simpleresponsive'), + videorate = _nc.data('videorate'), + videostart = _nc.data('videostart'), + fsmode = checkfullscreenEnabled(); + + if (event.data == YT.PlayerState.PLAYING) { + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true) { + player.mute(); + } else { + player.unMute(); + player.setVolume(parseInt(_nc.data('volume'),0) || 75); + } + + opt.videoplaying=true; + addVidtoList(_nc,opt); + if (pforv) + opt.c.trigger('stoptimer'); + else + opt.videoplaying=false; + + opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(player,"youtube",_nc.data())); + _R.toggleState(_nc.data('videotoggledby')); + } else { + if (event.data==0 && loop) { + //player.playVideo(); + var s = getStartSec(_nc.data('videostartat')); + if (s!=-1) player.seekTo(s); + player.playVideo(); + _R.toggleState(_nc.data('videotoggledby')); + } + + if (!fsmode && (event.data==0 || event.data==2) && _nc.data('showcoveronpause')=="on" && _nc.find('.tp-videoposter').length>0) { + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut}); + } + if ((event.data!=-1 && event.data!=3)) { + + opt.videoplaying=false; + opt.tonpause = false; + + remVidfromList(_nc,opt); + container.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(player,"youtube",_nc.data())); + + if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id")) + _R.unToggleState(_nc.data('videotoggledby')); + + } + + if (event.data==0 && _nc.data('nextslideatend')==true) { + exitFullscreen(); + _nc.data('nextslideatend-triggered',1); + opt.c.revnext(); + remVidfromList(_nc,opt); + } else { + remVidfromList(_nc,opt); + opt.videoplaying=false; + container.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(player,"youtube",_nc.data())); + if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id")) + _R.unToggleState(_nc.data('videotoggledby')); + } + } + }, + 'onReady': function(event) { + + + var videorate = _nc.data('videorate'), + videostart = _nc.data('videostart'); + + _nc.addClass("rs-apiready"); + if (videorate!=undefined) + event.target.setPlaybackRate(parseFloat(videorate)); + + // PLAY VIDEO IF THUMBNAIL HAS BEEN CLICKED + _nc.find('.tp-videoposter').unbind("click"); + _nc.find('.tp-videoposter').click(function() { + if (!_ISM) { + player.playVideo(); + } + }) + + if (_nc.data('startvideonow')) { + + _nc.data('player').playVideo(); + var s = getStartSec(_nc.data('videostartat')); + if (s!=-1) _nc.data('player').seekTo(s); + //_nc.find('.tp-videoposter').click(); + } + _nc.data('videolistenerexist',1); + } + } + }); + _nc.data('player',player); + break; + + // VIMEO LISTENER + case "vimeo": + var isrc = ifr.attr('src'), + queryParameters = {}, queryString = isrc, + re = /([^&=]+)=([^&]*)/g, m; + // Creates a map with the query string parameters + while (m = re.exec(queryString)) { + queryParameters[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); + } + if (queryParameters['player_id']!=undefined) + isrc = isrc.replace(queryParameters['player_id'],frameID); + else + isrc=isrc+"&player_id="+frameID; + try{ isrc = isrc.replace('api=0','api=1'); } catch(e) {} + isrc=isrc+"&api=1"; + ifr.attr('src',isrc); + + + var player = _nc.find('iframe')[0], + vimcont = jQuery('#'+frameID), + f = $f(frameID); + + f.addEvent('ready', function(){ + + _nc.addClass("rs-apiready"); + f.addEvent('play', function(data) { + _nc.data('nextslidecalled',0); + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(f,"vimeo",_nc.data())); + opt.videoplaying=true; + + addVidtoList(_nc,opt); + if (pforv) + opt.c.trigger('stoptimer'); + else + opt.videoplaying=false; + if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true) + f.api('setVolume',"0") + else + f.api('setVolume',(parseInt(_nc.data('volume'),0)/100 || 0.75)); + _R.toggleState(_nc.data('videotoggledby')); + }); + + f.addEvent('playProgress',function(data) { + var et = getStartSec(_nc.data('videoendat')) + + _nc.data('currenttime',data.seconds); + if (et!=0 && (Math.abs(et-data.seconds) <0.3 && et>data.seconds) && _nc.data('nextslidecalled') != 1) { + if (loop) { + + f.api("play"); + var s = getStartSec(_nc.data('videostartat')); + if (s!=-1) f.api("seekTo",s); + } else { + if (_nc.data('nextslideatend')==true) { + _nc.data('nextslideatend-triggered',1); + _nc.data('nextslidecalled',1); + opt.c.revnext(); + } + f.api("pause"); + } + } + }); + + f.addEvent('finish', function(data) { + remVidfromList(_nc,opt); + opt.videoplaying=false; + opt.c.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(f,"vimeo",_nc.data())); + if (_nc.data('nextslideatend')==true) { + _nc.data('nextslideatend-triggered',1); + opt.c.revnext(); + } + if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id")) + _R.unToggleState(_nc.data('videotoggledby')); + + }); + + f.addEvent('pause', function(data) { + + if (_nc.find('.tp-videoposter').length>0 && _nc.data('showcoveronpause')=="on") { + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut}); + } + opt.videoplaying=false; + opt.tonpause = false; + + remVidfromList(_nc,opt); + opt.c.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(f,"vimeo",_nc.data())); + if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id")) + _R.unToggleState(_nc.data('videotoggledby')); + }); + + + + _nc.find('.tp-videoposter').unbind("click"); + _nc.find('.tp-videoposter').click(function() { + if (!_ISM) { + + f.api("play"); + return false; + } + }) + if (_nc.data('startvideonow')) { + + f.api("play"); + var s = getStartSec(_nc.data('videostartat')); + if (s!=-1) f.api("seekTo",s); + } + _nc.data('videolistenerexist',1); + }); + break; + } + } else { + var s = getStartSec(_nc.data('videostartat')); + switch (_nc.data('videotype')) { + // YOUTUBE LISTENER + case "youtube": + if (startnow) { + _nc.data('player').playVideo(); + if (s!=-1) _nc.data('player').seekTo() + } + break; + case "vimeo": + if (startnow) { + + var f = $f(_nc.find('iframe').attr("id")); + f.api("play"); + if (s!=-1) f.api("seekTo",s); + } + break; + } + } +} + + +var exitFullscreen = function() { + if(document.exitFullscreen) { + document.exitFullscreen(); + } else if(document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if(document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } +} + + +var checkfullscreenEnabled = function() { + // FF provides nice flag, maybe others will add support for this later on? + if(window['fullScreen'] !== undefined) { + return window.fullScreen; + } + // 5px height margin, just in case (needed by e.g. IE) + var heightMargin = 5; + if($.browser.webkit && /Apple Computer/.test(navigator.vendor)) { + // Safari in full screen mode shows the navigation bar, + // which is 40px + heightMargin = 42; + } + return screen.width == window.innerWidth && + Math.abs(screen.height - window.innerHeight) < heightMargin; + } +///////////////////////////////////////// HTML5 VIDEOS /////////////////////////////////////////// + +var htmlvideoevents = function(_nc,opt,startnow) { + + + + if (_ISM && _nc.data('disablevideoonmobile')==1) return false; + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + jvideo = _nc.find(tag), + video = jvideo[0], + html5vid = jvideo.parent(), + loop = _nc.data('videoloop'), + pforv = loop != "loopandnoslidestop"; + + loop = loop =="loop" || loop =="loopandnoslidestop"; + + html5vid.data('metaloaded',1); + // FIRST TIME LOADED THE HTML5 VIDEO + + + + + //PLAY, STOP VIDEO ON CLICK OF PLAY, POSTER ELEMENTS + if (jvideo.attr('control') == undefined ) { + if (_nc.find('.tp-video-play-button').length==0 && !_ISM) + _nc.append('
 
'); + _nc.find('video, .tp-poster, .tp-video-play-button').click(function() { + if (_nc.hasClass("videoisplaying")) + video.pause(); + else + video.play(); + }) + } + + // PRESET FULLCOVER VIDEOS ON DEMAND + if (_nc.data('forcecover')==1 || _nc.hasClass('fullscreenvideo') || _nc.data('bgvideo')==1) { + if (_nc.data('forcecover')==1 || _nc.data('bgvideo')==1) { + html5vid.addClass("fullcoveredvideo"); + var asprat = _nc.data('aspectratio') || "4:3"; + _R.prepareCoveredVideo(asprat,opt,_nc); + } + else + html5vid.addClass("fullscreenvideo"); + } + + + // FIND CONTROL BUTTONS IN VIDEO, AND ADD EVENT LISTENERS ON THEM + var playButton = _nc.find('.tp-vid-play-pause')[0], + muteButton = _nc.find('.tp-vid-mute')[0], + fullScreenButton = _nc.find('.tp-vid-full-screen')[0], + seekBar = _nc.find('.tp-seek-bar')[0], + volumeBar = _nc.find('.tp-volume-bar')[0]; + + if (playButton!=undefined) { + // Event listener for the play/pause button + addEvent(playButton,"click", function() { + if (video.paused == true) + video.play(); + else + video.pause(); + }); + } + + if (muteButton!=undefined) { + + // Event listener for the mute button + addEvent(muteButton,"click", function() { + if (video.muted == false) { + video.muted = true; + muteButton.innerHTML = "Unmute"; + } else { + video.muted = false; + muteButton.innerHTML = "Mute"; + } + }); + } + + if (fullScreenButton!=undefined) { + + // Event listener for the full-screen button + if (fullScreenButton) + addEvent(fullScreenButton,"click", function() { + if (video.requestFullscreen) { + video.requestFullscreen(); + } else if (video.mozRequestFullScreen) { + video.mozRequestFullScreen(); // Firefox + } else if (video.webkitRequestFullscreen) { + video.webkitRequestFullscreen(); // Chrome and Safari + } + }); + + } + + if (seekBar !=undefined) { + + // Event listener for the seek bar + addEvent(seekBar,"change", function() { + var time = video.duration * (seekBar.value / 100); + video.currentTime = time; + + }); + + // Pause the video when the seek handle is being dragged + addEvent(seekBar,"mousedown", function() { + _nc.addClass("seekbardragged"); + video.pause(); + + }); + + // Play the video when the seek handle is dropped + addEvent(seekBar,"mouseup", function() { + _nc.removeClass("seekbardragged"); + video.play(); + + }); + } + + addEvent(video,"canplaythrough", function() { + _R.preLoadAudioDone(_nc,opt,"canplaythrough"); + }); + + addEvent(video,"canplay", function() { + _R.preLoadAudioDone(_nc,opt,"canplay"); + }); + + addEvent(video,"progress", function() { + _R.preLoadAudioDone(_nc,opt,"progress"); + }); + + // Update the seek bar as the video plays + addEvent(video,"timeupdate", function() { + + var value = (100 / video.duration) * video.currentTime, + et = getStartSec(_nc.data('videoendat')), + cs =video.currentTime; + if (seekBar != undefined) + seekBar.value = value; + + if (et!=0 && et!=-1 && (Math.abs(et-cs) <=0.3 && et>cs) && _nc.data('nextslidecalled') != 1) { + if (loop) { + video.play(); + var s = getStartSec(_nc.data('videostartat')); + if (s!=-1) video.currentTime = s; + } else { + if (_nc.data('nextslideatend')==true) { + _nc.data('nextslideatend-triggered',1); + _nc.data('nextslidecalled',1); + opt.just_called_nextslide_at_htmltimer = true; + opt.c.revnext(); + setTimeout(function() { + opt.just_called_nextslide_at_htmltimer = false; + },1000); + } + video.pause(); + } + } + }); + + + if (volumeBar != undefined) { + + // Event listener for the volume bar + addEvent(volumeBar,"change", function() { + // Update the video volume + video.volume = volumeBar.value; + }); + } + + + // VIDEO EVENT LISTENER FOR "PLAY" + addEvent(video,"play",function() { + + + _nc.data('nextslidecalled',0); + + var vol = _nc.data('volume'); + vol = vol!=undefined && vol!="mute" ?parseFloat(vol)/100 : vol; + + if (opt.globalmute===true) + video.muted = true; + else + video.muted = false; + + if (vol>1) vol = vol/100; + if (vol=="mute") + video.muted=true; + else + if (vol!=undefined) + video.volume = vol; + + + + _nc.addClass("videoisplaying"); + + var tag = _nc.data('audio')=="html5" ? "audio" : "video"; + + addVidtoList(_nc,opt); + + if (!pforv || tag=="audio") { + opt.videoplaying=false; + if (tag!="audio") opt.c.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data())); + } else { + opt.videoplaying=true; + opt.c.trigger('stoptimer'); + opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(video,"html5",_nc.data())); + } + + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find(tag),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}); + + var playButton = _nc.find('.tp-vid-play-pause')[0], + muteButton = _nc.find('.tp-vid-mute')[0]; + if (playButton!=undefined) + playButton.innerHTML = "Pause"; + if (muteButton!=undefined && video.muted) + muteButton.innerHTML = "Unmute"; + + _R.toggleState(_nc.data('videotoggledby')); + }); + + // VIDEO EVENT LISTENER FOR "PAUSE" + addEvent(video,"pause",function() { + + var tag = _nc.data('audio')=="html5" ? "audio" : "video", + fsmode = checkfullscreenEnabled(); + + + if (!fsmode && _nc.find('.tp-videoposter').length>0 && _nc.data('showcoveronpause')=="on" && !_nc.hasClass("seekbardragged")) { + punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}); + punchgs.TweenLite.to(_nc.find(tag),0.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut}); + } + + _nc.removeClass("videoisplaying"); + opt.videoplaying=false; + remVidfromList(_nc,opt); + if (tag!="audio") opt.c.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data())); + var playButton = _nc.find('.tp-vid-play-pause')[0]; + if (playButton!=undefined) + playButton.innerHTML = "Play"; + + if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id")) + _R.unToggleState(_nc.data('videotoggledby')); + }); + + // VIDEO EVENT LISTENER FOR "END" + + addEvent(video,"ended",function() { + exitFullscreen(); + remVidfromList(_nc,opt); + opt.videoplaying=false; + remVidfromList(_nc,opt); + if (tag!="audio") opt.c.trigger('starttimer'); + opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data())); + if (_nc.data('nextslideatend')==true) { + if (!opt.just_called_nextslide_at_htmltimer==true) { + _nc.data('nextslideatend-triggered',1); + opt.c.revnext(); + opt.just_called_nextslide_at_htmltimer = true; + } + setTimeout(function() { + opt.just_called_nextslide_at_htmltimer = false; + },1500) + } + _nc.removeClass("videoisplaying"); + + + }); +} + + + +var addVidtoList = function(_nc,opt) { + + if (opt.playingvideos == undefined) opt.playingvideos = new Array(); + + // STOP OTHER VIDEOS + if (_nc.data('stopallvideos')) { + if (opt.playingvideos != undefined && opt.playingvideos.length>0) { + opt.lastplayedvideos = jQuery.extend(true,[],opt.playingvideos); + jQuery.each(opt.playingvideos,function(i,_nc) { + _R.stopVideo(_nc,opt); + }); + } + } + opt.playingvideos.push(_nc); + opt.currentLayerVideoIsPlaying = _nc; + +} + + +var remVidfromList = function(_nc,opt) { + if (opt.playingvideos != undefined && jQuery.inArray(_nc,opt.playingvideos)>=0) + opt.playingvideos.splice(jQuery.inArray(_nc,opt.playingvideos),1); +} + + + + + + + +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/index.php b/server/www/static/www/revolution/js/index.php new file mode 100644 index 0000000..e69de29 diff --git a/server/www/static/www/revolution/js/jquery.themepunch.enablelog.js b/server/www/static/www/revolution/js/jquery.themepunch.enablelog.js new file mode 100644 index 0000000..3b73f58 --- /dev/null +++ b/server/www/static/www/revolution/js/jquery.themepunch.enablelog.js @@ -0,0 +1 @@ +window.tplogs = true; \ No newline at end of file diff --git a/server/www/static/www/revolution/js/jquery.themepunch.revolution.min.js b/server/www/static/www/revolution/js/jquery.themepunch.revolution.min.js new file mode 100644 index 0000000..2fbac32 --- /dev/null +++ b/server/www/static/www/revolution/js/jquery.themepunch.revolution.min.js @@ -0,0 +1,8 @@ +/************************************************************************** + * jquery.themepunch.revolution.js - jQuery Plugin for Revolution Slider + * @version: 5.2 (02.03.2016) + * @requires jQuery v1.7 or later (tested on 1.9) + * @author ThemePunch +**************************************************************************/ +!function(jQuery,undefined){"use strict";jQuery.fn.extend({revolution:function(e){var t={delay:9e3,responsiveLevels:4064,visibilityLevels:[2048,1024,778,480],gridwidth:960,gridheight:500,minHeight:0,autoHeight:"off",sliderType:"standard",sliderLayout:"auto",fullScreenAutoWidth:"off",fullScreenAlignForce:"off",fullScreenOffsetContainer:"",fullScreenOffset:"0",hideCaptionAtLimit:0,hideAllCaptionAtLimit:0,hideSliderAtLimit:0,disableProgressBar:"off",stopAtSlide:-1,stopAfterLoops:-1,shadow:0,dottedOverlay:"none",startDelay:0,lazyType:"smart",spinner:"spinner0",shuffle:"off",viewPort:{enable:!1,outof:"wait",visible_area:"60%"},fallbacks:{isJoomla:!1,panZoomDisableOnMobile:"off",simplifyAll:"on",nextSlideOnWindowFocus:"off",disableFocusListener:!0},parallax:{type:"off",levels:[10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85],origo:"enterpoint",speed:400,bgparallax:"off",opacity:"on",disable_onmobile:"off",ddd_shadow:"on",ddd_bgfreeze:"off",ddd_overflow:"visible",ddd_layer_overflow:"visible",ddd_z_correction:65,ddd_path:"mouse"},carousel:{horizontal_align:"center",vertical_align:"center",infinity:"on",space:0,maxVisibleItems:3,stretch:"off",fadeout:"on",maxRotation:0,minScale:0,vary_fade:"off",vary_rotation:"on",vary_scale:"off",border_radius:"0px",padding_top:0,padding_bottom:0},navigation:{keyboardNavigation:"on",keyboard_direction:"horizontal",mouseScrollNavigation:"off",onHoverStop:"on",touch:{touchenabled:"off",swipe_treshold:75,swipe_min_touches:1,drag_block_vertical:!1,swipe_direction:"horizontal"},arrows:{style:"",enable:!1,hide_onmobile:!1,hide_onleave:!0,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,tmp:"",rtl:!1,left:{h_align:"left",v_align:"center",h_offset:20,v_offset:0,container:"slider"},right:{h_align:"right",v_align:"center",h_offset:20,v_offset:0,container:"slider"}},bullets:{container:"slider",rtl:!1,style:"",enable:!1,hide_onmobile:!1,hide_onleave:!0,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,direction:"horizontal",h_align:"left",v_align:"center",space:0,h_offset:20,v_offset:0,tmp:''},thumbnails:{container:"slider",rtl:!1,style:"",enable:!1,width:100,height:50,min_width:100,wrapper_padding:2,wrapper_color:"#f5f5f5",wrapper_opacity:1,tmp:'',visibleAmount:5,hide_onmobile:!1,hide_onleave:!0,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,direction:"horizontal",span:!1,position:"inner",space:2,h_align:"left",v_align:"center",h_offset:20,v_offset:0},tabs:{container:"slider",rtl:!1,style:"",enable:!1,width:100,min_width:100,height:50,wrapper_padding:10,wrapper_color:"#f5f5f5",wrapper_opacity:1,tmp:'',visibleAmount:5,hide_onmobile:!1,hide_onleave:!0,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,direction:"horizontal",span:!1,space:0,position:"inner",h_align:"left",v_align:"center",h_offset:20,v_offset:0}},extensions:"extensions/",extensions_suffix:".min.js",debugMode:!1};return e=jQuery.extend(!0,{},t,e),this.each(function(){var t=jQuery(this);"hero"==e.sliderType&&t.find(">ul>li").each(function(e){e>0&&jQuery(this).remove()}),e.jsFileLocation=e.jsFileLocation||getScriptLocation("themepunch.revolution.min.js"),e.jsFileLocation=e.jsFileLocation+e.extensions,e.scriptsneeded=getNeededScripts(e,t),e.curWinRange=0,e.rtl=!0,e.navigation!=undefined&&e.navigation.touch!=undefined&&(e.navigation.touch.swipe_min_touches=e.navigation.touch.swipe_min_touches>5?1:e.navigation.touch.swipe_min_touches),jQuery(this).on("scriptsloaded",function(){return e.modulesfailing?(t.html('
!! Error at loading Slider Revolution 5.0 Extrensions.'+e.errorm+"
").show(),!1):(_R.migration!=undefined&&(e=_R.migration(t,e)),punchgs.force3D=!0,"on"!==e.simplifyAll&&punchgs.TweenLite.lagSmoothing(1e3,16),prepareOptions(t,e),void initSlider(t,e))}),t.data("opt",e),waitForScripts(t,e)})},revremoveslide:function(e){return this.each(function(){var t=jQuery(this);if(t!=undefined&&t.length>0&&jQuery("body").find("#"+t.attr("id")).length>0){var i=t.parent().find(".tp-bannertimer"),n=i.data("opt");if(n&&n.li.length>0&&(e>0||e<=n.li.length)){var a=jQuery(n.li[e]),r=a.data("index"),o=!1;n.slideamount=n.slideamount-1,removeNavWithLiref(".tp-bullet",r,n),removeNavWithLiref(".tp-tab",r,n),removeNavWithLiref(".tp-thumb",r,n),a.hasClass("active-revslide")&&(o=!0),a.remove(),n.li=removeArray(n.li,e),n.carousel&&n.carousel.slides&&(n.carousel.slides=removeArray(n.carousel.slides,e)),n.thumbs=removeArray(n.thumbs,e),_R.updateNavIndexes&&_R.updateNavIndexes(n),o&&t.revnext()}}})},revaddcallback:function(e){return this.each(function(){var t=jQuery(this);if(t!=undefined&&t.length>0&&jQuery("body").find("#"+t.attr("id")).length>0){var i=t.parent().find(".tp-bannertimer"),n=i.data("opt");n.callBackArray===undefined&&(n.callBackArray=new Array),n.callBackArray.push(e)}})},revgetparallaxproc:function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");return i.scrollproc}},revdebugmode:function(){return this.each(function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");i.debugMode=!0,containerResized(e,i)}})},revscroll:function(e){return this.each(function(){var t=jQuery(this);t!=undefined&&t.length>0&&jQuery("body").find("#"+t.attr("id")).length>0&&jQuery("body,html").animate({scrollTop:t.offset().top+t.height()-e+"px"},{duration:400})})},revredraw:function(e){return this.each(function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");containerResized(e,i)}})},revkill:function(e){var t=this,i=jQuery(this);if(punchgs.TweenLite.killDelayedCallsTo(_R.showHideNavElements),_R.endMoveCaption&&a.endtimeouts&&a.endtimeouts.length>0&&jQuery.each(a.endtimeouts,function(e,t){clearTimeout(t)}),i!=undefined&&i.length>0&&jQuery("body").find("#"+i.attr("id")).length>0){i.data("conthover",1),i.data("conthover-changed",1),i.trigger("revolution.slide.onpause");var n=i.parent().find(".tp-bannertimer"),a=n.data("opt");a.tonpause=!0,i.trigger("stoptimer"),punchgs.TweenLite.killTweensOf(i.find("*"),!1),punchgs.TweenLite.killTweensOf(i,!1),i.unbind("hover, mouseover, mouseenter,mouseleave, resize");var r="resize.revslider-"+i.attr("id");jQuery(window).off(r),i.find("*").each(function(){var e=jQuery(this);e.unbind("on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer"),e.off("on, hover, mouseenter,mouseleave,mouseover, resize"),e.data("mySplitText",null),e.data("ctl",null),e.data("tween")!=undefined&&e.data("tween").kill(),e.data("kenburn")!=undefined&&e.data("kenburn").kill(),e.data("timeline_out")!=undefined&&e.data("timeline_out").kill(),e.data("timeline")!=undefined&&e.data("timeline").kill(),e.remove(),e.empty(),e=null}),punchgs.TweenLite.killTweensOf(i.find("*"),!1),punchgs.TweenLite.killTweensOf(i,!1),n.remove();try{i.closest(".forcefullwidth_wrapper_tp_banner").remove()}catch(o){}try{i.closest(".rev_slider_wrapper").remove()}catch(o){}try{i.remove()}catch(o){}return i.empty(),i.html(),i=null,a=null,delete t.c,delete t.opt,!0}return!1},revpause:function(){return this.each(function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){e.data("conthover",1),e.data("conthover-changed",1),e.trigger("revolution.slide.onpause");var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");i.tonpause=!0,e.trigger("stoptimer")}})},revresume:function(){return this.each(function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){e.data("conthover",0),e.data("conthover-changed",1),e.trigger("revolution.slide.onresume");var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");i.tonpause=!1,e.trigger("starttimer")}})},revstart:function(){var e=jQuery(this);return e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0&&e.data("opt")?e.data("opt").sliderisrunning?(console.log("Slider Is Running Already"),!1):(runSlider(e,e.data("opt")),!0):void 0},revnext:function(){return this.each(function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");_R.callingNewSlide(i,e,1)}})},revprev:function(){return this.each(function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");_R.callingNewSlide(i,e,-1)}})},revmaxslide:function(){return jQuery(this).find(".tp-revslider-mainul >li").length},revcurrentslide:function(){var e=jQuery(this);if(e!=undefined&&e.length>0&&jQuery("body").find("#"+e.attr("id")).length>0){var t=e.parent().find(".tp-bannertimer"),i=t.data("opt");return parseInt(i.act,0)+1}},revlastslide:function(){return jQuery(this).find(".tp-revslider-mainul >li").length},revshowslide:function(e){return this.each(function(){var t=jQuery(this);if(t!=undefined&&t.length>0&&jQuery("body").find("#"+t.attr("id")).length>0){var i=t.parent().find(".tp-bannertimer"),n=i.data("opt");_R.callingNewSlide(n,t,"to"+(e-1))}})},revcallslidewithid:function(e){return this.each(function(){var t=jQuery(this);if(t!=undefined&&t.length>0&&jQuery("body").find("#"+t.attr("id")).length>0){var i=t.parent().find(".tp-bannertimer"),n=i.data("opt");_R.callingNewSlide(n,t,e)}})}});var _R=jQuery.fn.revolution;jQuery.extend(!0,_R,{simp:function(e,t,i){var n=Math.abs(e)-Math.floor(Math.abs(e/t))*t;return i?n:0>e?-1*n:n},iOSVersion:function(){var e=!1;return navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i)?navigator.userAgent.match(/OS 4_\d like Mac OS X/i)&&(e=!0):e=!1,e},isIE:function(e,t){var i=jQuery('
').appendTo(jQuery("body"));i.html("");var n=i.find("a").length;return i.remove(),n},is_mobile:function(){var e=["android","webos","iphone","ipad","blackberry","Android","webos",,"iPod","iPhone","iPad","Blackberry","BlackBerry"],t=!1;for(var i in e)navigator.userAgent.split(e[i]).length>1&&(t=!0);return t},callBackHandling:function(e,t,i){try{e.callBackArray&&jQuery.each(e.callBackArray,function(e,n){n&&n.inmodule&&n.inmodule===t&&n.atposition&&n.atposition===i&&n.callback&&n.callback.call()})}catch(n){console.log("Call Back Failed")}},get_browser:function(){var e,t=navigator.appName,i=navigator.userAgent,n=i.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);return n&&null!=(e=i.match(/version\/([\.\d]+)/i))&&(n[2]=e[1]),n=n?[n[1],n[2]]:[t,navigator.appVersion,"-?"],n[0]},get_browser_version:function(){var e,t=navigator.appName,i=navigator.userAgent,n=i.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);return n&&null!=(e=i.match(/version\/([\.\d]+)/i))&&(n[2]=e[1]),n=n?[n[1],n[2]]:[t,navigator.appVersion,"-?"],n[1]},getHorizontalOffset:function(e,t){var i=gWiderOut(e,".outer-left"),n=gWiderOut(e,".outer-right");switch(t){case"left":return i;case"right":return n;case"both":return i+n}},callingNewSlide:function(e,t,i){var n=t.find(".next-revslide").length>0?t.find(".next-revslide").index():t.find(".processing-revslide").length>0?t.find(".processing-revslide").index():t.find(".active-revslide").index(),a=0;t.find(".next-revslide").removeClass("next-revslide"),t.find(".active-revslide").hasClass("tp-invisible-slide")&&(n=e.last_shown_slide),i&&jQuery.isNumeric(i)||i.match(/to/g)?(1===i||-1===i?(a=n+i,a=0>a?e.slideamount-1:a>=e.slideamount?0:a):(i=jQuery.isNumeric(i)?i:parseInt(i.split("to")[1],0),a=0>i?0:i>e.slideamount-1?e.slideamount-1:i),t.find(".tp-revslider-slidesli:eq("+a+")").addClass("next-revslide")):i&&t.find(".tp-revslider-slidesli").each(function(){var e=jQuery(this);e.data("index")===i&&e.addClass("next-revslide")}),a=t.find(".next-revslide").index(),t.trigger("revolution.nextslide.waiting"),a!==n&&-1!=a?swapSlide(t,e):t.find(".next-revslide").removeClass("next-revslide")},slotSize:function(e,t){t.slotw=Math.ceil(t.width/t.slots),"fullscreen"==t.sliderLayout?t.sloth=Math.ceil(jQuery(window).height()/t.slots):t.sloth=Math.ceil(t.height/t.slots),"on"==t.autoHeight&&e!==undefined&&""!==e&&(t.sloth=Math.ceil(e.height()/t.slots))},setSize:function(e){var t=(e.top_outer||0)+(e.bottom_outer||0),i=parseInt(e.carousel.padding_top||0,0),n=parseInt(e.carousel.padding_bottom||0,0),a=e.gridheight[e.curWinRange];if(e.paddings=e.paddings===undefined?{top:parseInt(e.c.parent().css("paddingTop"),0)||0,bottom:parseInt(e.c.parent().css("paddingBottom"),0)||0}:e.paddings,a=ae.gridheight[e.curWinRange]&&"on"!=e.autoHeight&&(e.height=e.gridheight[e.curWinRange]),"fullscreen"==e.sliderLayout||e.infullscreenmode){e.height=e.bw*e.gridheight[e.curWinRange];var r=(e.c.parent().width(),jQuery(window).height());if(e.fullScreenOffsetContainer!=undefined){try{var o=e.fullScreenOffsetContainer.split(",");o&&jQuery.each(o,function(e,t){r=jQuery(t).length>0?r-jQuery(t).outerHeight(!0):r})}catch(s){}try{e.fullScreenOffset.split("%").length>1&&e.fullScreenOffset!=undefined&&e.fullScreenOffset.length>0?r-=jQuery(window).height()*parseInt(e.fullScreenOffset,0)/100:e.fullScreenOffset!=undefined&&e.fullScreenOffset.length>0&&(r-=parseInt(e.fullScreenOffset,0))}catch(s){}}r=r0&&jQuery.each(e.lastplayedvideos,function(t,i){_R.playVideo(i,e)})},leaveViewPort:function(e){e.sliderlaststatus=e.sliderstatus,e.c.trigger("stoptimer"),e.playingvideos!=undefined&&e.playingvideos.length>0&&(e.lastplayedvideos=jQuery.extend(!0,[],e.playingvideos),e.playingvideos&&jQuery.each(e.playingvideos,function(t,i){_R.stopVideo&&_R.stopVideo(i,e)}))},unToggleState:function(e){e!=undefined&&e.length>0&&jQuery.each(e,function(e,t){t.removeClass("rs-toggle-content-active")})},toggleState:function(e){e!=undefined&&e.length>0&&jQuery.each(e,function(e,t){t.addClass("rs-toggle-content-active")})},lastToggleState:function(e){var t=0;return e!=undefined&&e.length>0&&jQuery.each(e,function(e,i){t=i.hasClass("rs-toggle-content-active")}),t}});var _ISM=_R.is_mobile(),removeArray=function(e,t){var i=[];return jQuery.each(e,function(e,n){e!=t&&i.push(n)}),i},removeNavWithLiref=function(e,t,i){i.c.find(e).each(function(){var e=jQuery(this);e.data("liref")===t&&e.remove()})},lAjax=function(e,t){return jQuery("body").data(e)?!1:t.filesystem?(t.errorm===undefined&&(t.errorm="
Local Filesystem Detected !
Put this to your header:"),console.warn("Local Filesystem detected !"),t.errorm=t.errorm+'
<script type="text/javascript" src="'+t.jsFileLocation+e+t.extensions_suffix+'"></script>',console.warn(t.jsFileLocation+e+t.extensions_suffix+" could not be loaded !"),console.warn("Please use a local Server or work online or make sure that you load all needed Libraries manually in your Document."),console.log(" "),t.modulesfailing=!0,!1):(jQuery.ajax({url:t.jsFileLocation+e+t.extensions_suffix,dataType:"script",cache:!0,error:function(i){console.warn("Slider Revolution 5.0 Error !"),console.error("Failure at Loading:"+e+t.extensions_suffix+" on Path:"+t.jsFileLocation),console.info(i)}}),void jQuery("body").data(e,!0))},getNeededScripts=function(e,t){var i=new Object,n=e.navigation;return i.kenburns=!1,i.parallax=!1,i.carousel=!1,i.navigation=!1,i.videos=!1,i.actions=!1,i.layeranim=!1,i.migration=!1,t.data("version")&&t.data("version").toString().match(/5./gi)?(t.find("img").each(function(){"on"==jQuery(this).data("kenburns")&&(i.kenburns=!0)}),("carousel"==e.sliderType||"on"==n.keyboardNavigation||"on"==n.mouseScrollNavigation||"on"==n.touch.touchenabled||n.arrows.enable||n.bullets.enable||n.thumbnails.enable||n.tabs.enable)&&(i.navigation=!0),t.find(".tp-caption, .tp-static-layer, .rs-background-video-layer").each(function(){var e=jQuery(this);(e.data("ytid")!=undefined||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&(i.videos=!0),(e.data("vimeoid")!=undefined||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&(i.videos=!0),e.data("actions")!==undefined&&(i.actions=!0),i.layeranim=!0}),t.find("li").each(function(){jQuery(this).data("link")&&jQuery(this).data("link")!=undefined&&(i.layeranim=!0,i.actions=!0)}),!i.videos&&(t.find(".rs-background-video-layer").length>0||t.find(".tp-videolayer").length>0||t.find(".tp-audiolayer")||t.find("iframe").length>0||t.find("video").length>0)&&(i.videos=!0),"carousel"==e.sliderType&&(i.carousel=!0),("off"!==e.parallax.type||e.viewPort.enable||"true"==e.viewPort.enable)&&(i.parallax=!0)):(i.kenburns=!0,i.parallax=!0,i.carousel=!1,i.navigation=!0,i.videos=!0,i.actions=!0,i.layeranim=!0,i.migration=!0),"hero"==e.sliderType&&(i.carousel=!1,i.navigation=!1),window.location.href.match(/file:/gi)&&(i.filesystem=!0,e.filesystem=!0),i.videos&&"undefined"==typeof _R.isVideoPlaying&&lAjax("revolution.extension.video",e),i.carousel&&"undefined"==typeof _R.prepareCarousel&&lAjax("revolution.extension.carousel",e),i.carousel||"undefined"!=typeof _R.animateSlide||lAjax("revolution.extension.slideanims",e),i.actions&&"undefined"==typeof _R.checkActions&&lAjax("revolution.extension.actions",e),i.layeranim&&"undefined"==typeof _R.handleStaticLayers&&lAjax("revolution.extension.layeranimation",e),i.kenburns&&"undefined"==typeof _R.stopKenBurn&&lAjax("revolution.extension.kenburn",e),i.navigation&&"undefined"==typeof _R.createNavigation&&lAjax("revolution.extension.navigation",e),i.migration&&"undefined"==typeof _R.migration&&lAjax("revolution.extension.migration",e),i.parallax&&"undefined"==typeof _R.checkForParallax&&lAjax("revolution.extension.parallax",e),e.addons!=undefined&&e.addons.length>0&&jQuery.each(e.addons,function(t,i){"object"==typeof i&&i.fileprefix!=undefined&&lAjax(i.fileprefix,e)}),i},waitForScripts=function(e,t){var i=!0,n=t.scriptsneeded;t.addons!=undefined&&t.addons.length>0&&jQuery.each(t.addons,function(e,t){"object"==typeof t&&t.init!=undefined&&_R[t.init]===undefined&&(i=!1)}),n.filesystem||"undefined"!=typeof punchgs&&i&&(!n.kenburns||n.kenburns&&"undefined"!=typeof _R.stopKenBurn)&&(!n.navigation||n.navigation&&"undefined"!=typeof _R.createNavigation)&&(!n.carousel||n.carousel&&"undefined"!=typeof _R.prepareCarousel)&&(!n.videos||n.videos&&"undefined"!=typeof _R.resetVideo)&&(!n.actions||n.actions&&"undefined"!=typeof _R.checkActions)&&(!n.layeranim||n.layeranim&&"undefined"!=typeof _R.handleStaticLayers)&&(!n.migration||n.migration&&"undefined"!=typeof _R.migration)&&(!n.parallax||n.parallax&&"undefined"!=typeof _R.checkForParallax)&&(n.carousel||!n.carousel&&"undefined"!=typeof _R.animateSlide)?e.trigger("scriptsloaded"):setTimeout(function(){waitForScripts(e,t)},50)},getScriptLocation=function(e){var t=new RegExp("themepunch.revolution.min.js","gi"),i="";return jQuery("script").each(function(){var e=jQuery(this).attr("src");e&&e.match(t)&&(i=e)}),i=i.replace("jquery.themepunch.revolution.min.js",""),i=i.replace("jquery.themepunch.revolution.js",""),i=i.split("?")[0]},setCurWinRange=function(e,t){var i=9999,n=0,a=0,r=0,o=jQuery(window).width(),s=t&&9999==e.responsiveLevels?e.visibilityLevels:e.responsiveLevels;s&&s.length&&jQuery.each(s,function(e,t){t>o&&(0==n||n>t)&&(i=t,r=e,n=t),o>t&&t>n&&(n=t,a=e)}),i>n&&(r=a),t?e.forcedWinRange=r:e.curWinRange=r},prepareOptions=function(e,t){t.carousel.maxVisibleItems=t.carousel.maxVisibleItems<1?999:t.carousel.maxVisibleItems,t.carousel.vertical_align="top"===t.carousel.vertical_align?"0%":"bottom"===t.carousel.vertical_align?"100%":"50%"},gWiderOut=function(e,t){var i=0;return e.find(t).each(function(){var e=jQuery(this);!e.hasClass("tp-forcenotvisible")&&i'),container.find(">ul").addClass("tp-revslider-mainul"),opt.c=container,opt.ul=container.find(".tp-revslider-mainul"),opt.ul.find(">li").each(function(e){var t=jQuery(this);"on"==t.data("hideslideonmobile")&&_ISM&&t.remove(),(t.data("invisible")||t.data("invisible")===!0)&&(t.addClass("tp-invisible-slide"),t.appendTo(opt.ul))}),opt.addons!=undefined&&opt.addons.length>0&&jQuery.each(opt.addons,function(i,obj){"object"==typeof obj&&obj.init!=undefined&&_R[obj.init](eval(obj.params))}),opt.cid=container.attr("id"),opt.ul.css({visibility:"visible"}),opt.slideamount=opt.ul.find(">li").not(".tp-invisible-slide").length,opt.slayers=container.find(".tp-static-layers"),void(1!=opt.waitForInit&&(container.data("opt",opt),runSlider(container,opt))))},runSlider=function(e,t){if(t.sliderisrunning=!0,t.ul.find(">li").each(function(e){jQuery(this).data("originalindex",e)}),"on"==t.shuffle){var i=new Object,n=t.ul.find(">li:first-child");i.fstransition=n.data("fstransition"),i.fsmasterspeed=n.data("fsmasterspeed"),i.fsslotamount=n.data("fsslotamount");for(var a=0;ali:eq("+r+")").prependTo(t.ul)}var o=t.ul.find(">li:first-child");o.data("fstransition",i.fstransition),o.data("fsmasterspeed",i.fsmasterspeed),o.data("fsslotamount",i.fsslotamount),t.li=t.ul.find(">li").not(".tp-invisible-slide")}if(t.allli=t.ul.find(">li"),t.li=t.ul.find(">li").not(".tp-invisible-slide"),t.inli=t.ul.find(">li.tp-invisible-slide"),t.thumbs=new Array,t.slots=4,t.act=-1,t.firststart=1,t.loadqueue=new Array,t.syncload=0,t.conw=e.width(),t.conh=e.height(),t.responsiveLevels.length>1?t.responsiveLevels[0]=9999:t.responsiveLevels=9999,jQuery.each(t.allli,function(e,i){var i=jQuery(i),n=i.find(".rev-slidebg")||i.find("img").first(),a=0;i.addClass("tp-revslider-slidesli"),i.data("index")===undefined&&i.data("index","rs-"+Math.round(999999*Math.random()));var r=new Object;r.params=new Array,r.id=i.data("index"),r.src=i.data("thumb")!==undefined?i.data("thumb"):n.data("lazyload")!==undefined?n.data("lazyload"):n.attr("src"),i.data("title")!==undefined&&r.params.push({from:RegExp("\\{\\{title\\}\\}","g"),to:i.data("title")}),i.data("description")!==undefined&&r.params.push({from:RegExp("\\{\\{description\\}\\}","g"),to:i.data("description")});for(var a=1;10>=a;a++)i.data("param"+a)!==undefined&&r.params.push({from:RegExp("\\{\\{param"+a+"\\}\\}","g"),to:i.data("param"+a)});if(t.thumbs.push(r),i.data("origindex",i.index()),i.data("link")!=undefined){var o=i.data("link"),s=i.data("target")||"_self",d="back"===i.data("slideindex")?0:60,l=i.data("linktoslide"),u=l;l!=undefined&&"next"!=l&&"prev"!=l&&t.allli.each(function(){var e=jQuery(this);e.data("origindex")+1==u&&(l=e.data("index"))}),"slide"!=o&&(l="no");var c=''),i.find(".tp-svg-innercontainer").append(r.innerHTML));i.data("loaded",!0)}if(r&&r.progress&&r.progress.match(/inprogress|inload|prepared/g)&&(jQuery.now()-i.data("start-to-load")<5e3?n=!0:console.error(a+" Could not be loaded !")),1==t.youtubeapineeded&&(!window.YT||YT.Player==undefined)&&(n=!0,jQuery.now()-t.youtubestarttime>5e3&&1!=t.youtubewarning)){t.youtubewarning=!0;var d="YouTube Api Could not be loaded !";"https:"===location.protocol&&(d+=" Please Check and Renew SSL Certificate !"),console.error(d),t.c.append('
'+d+"
")}if(1==t.vimeoapineeded&&!window.Froogaloop&&(n=!0,jQuery.now()-t.vimeostarttime>5e3&&1!=t.vimeowarning)){t.vimeowarning=!0;var d="Vimeo Froogaloop Api Could not be loaded !";"https:"===location.protocol&&(d+=" Please Check and Renew SSL Certificate !"),console.error(d),t.c.append('
'+d+"
")}}),!_ISM&&t.audioqueue&&t.audioqueue.length>0&&jQuery.each(t.audioqueue,function(e,t){t.status&&"prepared"===t.status&&jQuery.now()-t.start0)return t.waitWithSwapSlide=setTimeout(function(){swapSlide(e,t)},150),!1;var i=e.find(".active-revslide"),n=e.find(".next-revslide"),a=n.find(".defaultimg");return n.index()===i.index()?(n.removeClass("next-revslide"),!1):(n.removeClass("next-revslide").addClass("processing-revslide"),n.data("slide_on_focus_amount",n.data("slide_on_focus_amount")+1||1),"on"==t.stopLoop&&n.index()==t.lastslidetoshow-1&&(e.find(".tp-bannertimer").css({visibility:"hidden"}),e.trigger("revolution.slide.onstop"),t.noloopanymore=1),n.index()===t.slideamount-1&&(t.looptogo=t.looptogo-1,t.looptogo<=0&&(t.stopLoop="on")),t.tonpause=!0,e.trigger("stoptimer"),t.cd=0,"off"===t.spinner?e.find(".tp-loader").css({display:"none"}):e.find(".tp-loader").css({display:"block"}),loadImages(n,t,1),_R.preLoadAudio&&_R.preLoadAudio(n,t,1),void waitForCurrentImages(n,t,function(){n.find(".rs-background-video-layer").each(function(){var e=jQuery(this);e.hasClass("HasListener")||(e.data("bgvideo",1),_R.manageVideoLayer&&_R.manageVideoLayer(e,t)),0==e.find(".rs-fullvideo-cover").length&&e.append('
')}),swapSlideProgress(t,a,e)}))},swapSlideProgress=function(e,t,i){var n=i.find(".active-revslide"),a=i.find(".processing-revslide"),r=n.find(".slotholder"),o=a.find(".slotholder");e.tonpause=!1,e.cd=0,i.find(".tp-loader").css({display:"none"}),_R.setSize(e),_R.slotSize(t,e),_R.manageNavigation&&_R.manageNavigation(e);var s={};s.nextslide=a,s.currentslide=n,i.trigger("revolution.slide.onbeforeswap",s),e.transition=1,e.videoplaying=!1,a.data("delay")!=undefined?(e.cd=0,e.delay=a.data("delay")):e.delay=e.origcd,"true"==a.data("ssop")||a.data("ssop")===!0?e.ssop=!0:e.ssop=!1,i.trigger("nulltimer");var d=n.index(),l=a.index();e.sdir=d>l?1:0,"arrow"==e.sc_indicator&&(0==d&&l==e.slideamount-1&&(e.sdir=1),d==e.slideamount-1&&0==l&&(e.sdir=0)),e.lsdir=e.lsdir===undefined?e.sdir:e.lsdir,e.dirc=e.lsdir!=e.sdir,e.lsdir=e.sdir,n.index()!=a.index()&&1!=e.firststart&&_R.removeTheCaptions&&_R.removeTheCaptions(n,e),a.hasClass("rs-pause-timer-once")||a.hasClass("rs-pause-timer-always")?e.videoplaying=!0:i.trigger("restarttimer"),a.removeClass("rs-pause-timer-once");var u,c;if("carousel"==e.sliderType)c=new punchgs.TimelineLite,_R.prepareCarousel(e,c),letItFree(i,e,o,r,a,n,c),e.transition=0,e.firststart=0;else{c=new punchgs.TimelineLite({onComplete:function(){letItFree(i,e,o,r,a,n,c)}}),c.add(punchgs.TweenLite.set(o.find(".defaultimg"),{opacity:0})),c.pause(),1==e.firststart&&(punchgs.TweenLite.set(n,{autoAlpha:0}),e.firststart=0),punchgs.TweenLite.set(n,{zIndex:18}),punchgs.TweenLite.set(a,{autoAlpha:0,zIndex:20}),"prepared"==a.data("differentissplayed")&&(a.data("differentissplayed","done"),a.data("transition",a.data("savedtransition")),a.data("slotamount",a.data("savedslotamount")),a.data("masterspeed",a.data("savedmasterspeed"))),a.data("fstransition")!=undefined&&"done"!=a.data("differentissplayed")&&(a.data("savedtransition",a.data("transition")),a.data("savedslotamount",a.data("slotamount")),a.data("savedmasterspeed",a.data("masterspeed")),a.data("transition",a.data("fstransition")),a.data("slotamount",a.data("fsslotamount")),a.data("masterspeed",a.data("fsmasterspeed")),a.data("differentissplayed","prepared")),a.data("transition")==undefined&&a.data("transition","random"),u=0;var p=a.data("transition")!==undefined?a.data("transition").split(","):"fade",f=a.data("nexttransid")==undefined?-1:a.data("nexttransid");"on"==a.data("randomtransition")?f=Math.round(Math.random()*p.length):f+=1,f==p.length&&(f=0),a.data("nexttransid",f);var h=p[f];e.ie&&("boxfade"==h&&(h="boxslide"),"slotfade-vertical"==h&&(h="slotzoom-vertical"),"slotfade-horizontal"==h&&(h="slotzoom-horizontal")),_R.isIE(8)&&(h=11),c=_R.animateSlide(u,h,i,e,a,n,o,r,c),"on"==o.data("kenburns")&&(_R.startKenBurn(o,e),c.add(punchgs.TweenLite.set(o,{autoAlpha:0}))),c.pause()}_R.scrollHandling&&(_R.scrollHandling(e,!0),c.eventCallback("onUpdate",function(){_R.scrollHandling(e,!0)})),"off"!=e.parallax.type&&e.parallax.firstgo==undefined&&_R.scrollHandling&&(e.parallax.firstgo=!0,e.lastscrolltop=-999,_R.scrollHandling(e,!0),setTimeout(function(){e.lastscrolltop=-999,_R.scrollHandling(e,!0)},210),setTimeout(function(){e.lastscrolltop=-999,_R.scrollHandling(e,!0)},420)),_R.animateTheCaptions?_R.animateTheCaptions(a,e,null,c):c!=undefined&&setTimeout(function(){c.resume()},30),punchgs.TweenLite.to(a,.001,{autoAlpha:1})},letItFree=function(e,t,i,n,a,r,o){"carousel"===t.sliderType||(t.removePrepare=0,punchgs.TweenLite.to(i.find(".defaultimg"),.001,{zIndex:20,autoAlpha:1,onComplete:function(){removeSlots(e,t,a,1)}}),a.index()!=r.index()&&punchgs.TweenLite.to(r,.2,{zIndex:18,autoAlpha:0,onComplete:function(){removeSlots(e,t,r,1)}})),e.find(".active-revslide").removeClass("active-revslide"),e.find(".processing-revslide").removeClass("processing-revslide").addClass("active-revslide"),t.act=a.index(),t.c.attr("data-slideactive",e.find(".active-revslide").data("index")),("scroll"==t.parallax.type||"scroll+mouse"==t.parallax.type||"mouse+scroll"==t.parallax.type)&&(t.lastscrolltop=-999,_R.scrollHandling(t)),o.clear(),n.data("kbtl")!=undefined&&(n.data("kbtl").reverse(),n.data("kbtl").timeScale(25)),"on"==i.data("kenburns")&&(i.data("kbtl")!=undefined?(i.data("kbtl").timeScale(1),i.data("kbtl").play()):_R.startKenBurn(i,t)),a.find(".rs-background-video-layer").each(function(e){if(_ISM)return!1;var i=jQuery(this);_R.resetVideo(i,t),punchgs.TweenLite.fromTo(i,1,{autoAlpha:0},{autoAlpha:1,ease:punchgs.Power3.easeInOut,delay:.2,onComplete:function(){_R.animcompleted&&_R.animcompleted(i,t)}})}),r.find(".rs-background-video-layer").each(function(e){if(_ISM)return!1;var i=jQuery(this);_R.stopVideo&&(_R.resetVideo(i,t),_R.stopVideo(i,t)),punchgs.TweenLite.to(i,1,{autoAlpha:0,ease:punchgs.Power3.easeInOut,delay:.2})});var s={};s.slideIndex=a.index()+1,s.slideLIIndex=a.index(),s.slide=a,s.currentslide=a,s.prevslide=r,t.last_shown_slide=r.index(),e.trigger("revolution.slide.onchange",s),e.trigger("revolution.slide.onafterswap",s),t.duringslidechange=!1;var d=r.data("slide_on_focus_amount"),l=r.data("hideafterloop");0!=l&&d>=l&&t.c.revremoveslide(r.index())},removeAllListeners=function(e,t){e.children().each(function(){try{jQuery(this).die("click")}catch(e){}try{jQuery(this).die("mouseenter")}catch(e){}try{jQuery(this).die("mouseleave")}catch(e){}try{jQuery(this).unbind("hover")}catch(e){}});try{e.die("click","mouseenter","mouseleave")}catch(i){}clearInterval(t.cdint),e=null},countDown=function(e,t){t.cd=0,t.loop=0,t.stopAfterLoops!=undefined&&t.stopAfterLoops>-1?t.looptogo=t.stopAfterLoops:t.looptogo=9999999,t.stopAtSlide!=undefined&&t.stopAtSlide>-1?t.lastslidetoshow=t.stopAtSlide:t.lastslidetoshow=999,t.stopLoop="off",0==t.looptogo&&(t.stopLoop="on");var i=e.find(".tp-bannertimer");e.on("stoptimer",function(){var e=jQuery(this).find(".tp-bannertimer");e.data("tween").pause(),"on"==t.disableProgressBar&&e.css({visibility:"hidden"}),t.sliderstatus="paused",_R.unToggleState(t.slidertoggledby)}),e.on("starttimer",function(){t.forcepause_viatoggle||(1!=t.conthover&&1!=t.videoplaying&&t.width>t.hideSliderAtLimit&&1!=t.tonpause&&1!=t.overnav&&1!=t.ssop&&(1===t.noloopanymore||t.viewPort.enable&&!t.inviewport||(i.css({visibility:"visible"}),i.data("tween").resume(),t.sliderstatus="playing")),"on"==t.disableProgressBar&&i.css({visibility:"hidden"}),_R.toggleState(t.slidertoggledby))}),e.on("restarttimer",function(){if(!t.forcepause_viatoggle){var e=jQuery(this).find(".tp-bannertimer");if(t.mouseoncontainer&&"on"==t.navigation.onHoverStop&&!_ISM)return!1;1===t.noloopanymore||t.viewPort.enable&&!t.inviewport||1==t.ssop||(e.css({visibility:"visible"}),e.data("tween").kill(),e.data("tween",punchgs.TweenLite.fromTo(e,t.delay/1e3,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:n,delay:1})),t.sliderstatus="playing"),"on"==t.disableProgressBar&&e.css({visibility:"hidden"}),_R.toggleState(t.slidertoggledby)}}),e.on("nulltimer",function(){i.data("tween").kill(),i.data("tween",punchgs.TweenLite.fromTo(i,t.delay/1e3,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:n,delay:1})),i.data("tween").pause(0),"on"==t.disableProgressBar&&i.css({visibility:"hidden"}),t.sliderstatus="paused"});var n=function(){0==jQuery("body").find(e).length&&(removeAllListeners(e,t),clearInterval(t.cdint)),e.trigger("revolution.slide.slideatend"),1==e.data("conthover-changed")&&(t.conthover=e.data("conthover"),e.data("conthover-changed",0)),_R.callingNewSlide(t,e,1)};i.data("tween",punchgs.TweenLite.fromTo(i,t.delay/1e3,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:n,delay:1})),i.data("opt",t),t.slideamount>1&&(0!=t.stopAfterLoops||1!=t.stopAtSlide)?e.trigger("starttimer"):(t.noloopanymore=1,e.trigger("nulltimer")),e.on("tp-mouseenter",function(){t.mouseoncontainer=!0,"on"!=t.navigation.onHoverStop||_ISM||(e.trigger("stoptimer"),e.trigger("revolution.slide.onpause"))}),e.on("tp-mouseleft",function(){t.mouseoncontainer=!1,1!=e.data("conthover")&&"on"==t.navigation.onHoverStop&&(1==t.viewPort.enable&&t.inviewport||0==t.viewPort.enable)&&(e.trigger("revolution.slide.onresume"),e.trigger("starttimer"))})},vis=function(){var e,t,i={hidden:"visibilitychange",webkitHidden:"webkitvisibilitychange",mozHidden:"mozvisibilitychange",msHidden:"msvisibilitychange"};for(e in i)if(e in document){t=i[e];break}return function(i){return i&&document.addEventListener(t,i),!document[e]}}(),restartOnFocus=function(e){return e==undefined||e.c==undefined?!1:void(1!=e.windowfocused&&(e.windowfocused=!0,punchgs.TweenLite.delayedCall(.3,function(){"on"==e.fallbacks.nextSlideOnWindowFocus&&e.c.revnext(),e.c.revredraw(),"playing"==e.lastsliderstatus&&e.c.revresume()})))},lastStatBlur=function(e){e.windowfocused=!1,e.lastsliderstatus=e.sliderstatus,e.c.revpause();var t=e.c.find(".active-revslide .slotholder"),i=e.c.find(".processing-revslide .slotholder");"on"==i.data("kenburns")&&_R.stopKenBurn(i,e),"on"==t.data("kenburns")&&_R.stopKenBurn(t,e)},tabBlurringCheck=function(e,t){var i=document.documentMode===undefined,n=window.chrome;i&&!n?jQuery(window).on("focusin",function(){restartOnFocus(t)}).on("focusout",function(){lastStatBlur(t)}):window.addEventListener?(window.addEventListener("focus",function(e){restartOnFocus(t)},!1),window.addEventListener("blur",function(e){lastStatBlur(t)},!1)):(window.attachEvent("focus",function(e){restartOnFocus(t)}),window.attachEvent("blur",function(e){lastStatBlur(t)}))},getUrlVars=function(e){for(var t,i=[],n=window.location.href.slice(window.location.href.indexOf(e)+1).split("_"),a=0;a0){return}var bf=be.originalEvent?be.originalEvent:be;var bd,bg=bf.touches,bc=bg?bg[0]:bf;aa=g;if(bg){X=bg.length}else{be.preventDefault()}ah=0;aQ=null;aK=null;ac=0;a2=0;a0=0;H=1;ar=0;aR=ak();N=ab();S();if(!bg||(X===aw.fingers||aw.fingers===i)||aY()){aj(0,bc);U=au();if(X==2){aj(1,bg[1]);a2=a0=av(aR[0].start,aR[1].start)}if(aw.swipeStatus||aw.pinchStatus){bd=P(bf,aa)}}else{bd=false}if(bd===false){aa=q;P(bf,aa);return bd}else{if(aw.hold){ag=setTimeout(f.proxy(function(){aS.trigger("hold",[bf.target]);if(aw.hold){bd=aw.hold.call(aS,bf,bf.target)}},this),aw.longTapThreshold)}ap(true)}return null}function a4(bf){var bi=bf.originalEvent?bf.originalEvent:bf;if(aa===h||aa===q||an()){return}var be,bj=bi.touches,bd=bj?bj[0]:bi;var bg=aI(bd);a3=au();if(bj){X=bj.length}if(aw.hold){clearTimeout(ag)}aa=k;if(X==2){if(a2==0){aj(1,bj[1]);a2=a0=av(aR[0].start,aR[1].start)}else{aI(bj[1]);a0=av(aR[0].end,aR[1].end);aK=at(aR[0].end,aR[1].end)}H=a8(a2,a0);ar=Math.abs(a2-a0)}if((X===aw.fingers||aw.fingers===i)||!bj||aY()){aQ=aM(bg.start,bg.end);am(bf,aQ);ah=aT(bg.start,bg.end);ac=aN();aJ(aQ,ah);if(aw.swipeStatus||aw.pinchStatus){be=P(bi,aa)}if(!aw.triggerOnTouchEnd||aw.triggerOnTouchLeave){var bc=true;if(aw.triggerOnTouchLeave){var bh=aZ(this);bc=F(bg.end,bh)}if(!aw.triggerOnTouchEnd&&bc){aa=aD(k)}else{if(aw.triggerOnTouchLeave&&!bc){aa=aD(h)}}if(aa==q||aa==h){P(bi,aa)}}}else{aa=q;P(bi,aa)}if(be===false){aa=q;P(bi,aa)}}function M(bc){var bd=bc.originalEvent?bc.originalEvent:bc,be=bd.touches;if(be){if(be.length){G();return true}}if(an()){X=ae}a3=au();ac=aN();if(bb()||!ao()){aa=q;P(bd,aa)}else{if(aw.triggerOnTouchEnd||(aw.triggerOnTouchEnd==false&&aa===k)){bc.preventDefault();aa=h;P(bd,aa)}else{if(!aw.triggerOnTouchEnd&&a7()){aa=h;aG(bd,aa,B)}else{if(aa===k){aa=q;P(bd,aa)}}}}ap(false);return null}function ba(){X=0;a3=0;U=0;a2=0;a0=0;H=1;S();ap(false)}function L(bc){var bd=bc.originalEvent?bc.originalEvent:bc;if(aw.triggerOnTouchLeave){aa=aD(h);P(bd,aa)}}function aL(){aS.unbind(K,aO);aS.unbind(aE,ba);aS.unbind(az,a4);aS.unbind(V,M);if(T){aS.unbind(T,L)}ap(false)}function aD(bg){var bf=bg;var be=aB();var bd=ao();var bc=bb();if(!be||bc){bf=q}else{if(bd&&bg==k&&(!aw.triggerOnTouchEnd||aw.triggerOnTouchLeave)){bf=h}else{if(!bd&&bg==h&&aw.triggerOnTouchLeave){bf=q}}}return bf}function P(be,bc){var bd,bf=be.touches;if((J()||W())||(Q()||aY())){if(J()||W()){bd=aG(be,bc,l)}if((Q()||aY())&&bd!==false){bd=aG(be,bc,t)}}else{if(aH()&&bd!==false){bd=aG(be,bc,j)}else{if(aq()&&bd!==false){bd=aG(be,bc,b)}else{if(ai()&&bd!==false){bd=aG(be,bc,B)}}}}if(bc===q){ba(be)}if(bc===h){if(bf){if(!bf.length){ba(be)}}else{ba(be)}}return bd}function aG(bf,bc,be){var bd;if(be==l){aS.trigger("swipeStatus",[bc,aQ||null,ah||0,ac||0,X,aR]);if(aw.swipeStatus){bd=aw.swipeStatus.call(aS,bf,bc,aQ||null,ah||0,ac||0,X,aR);if(bd===false){return false}}if(bc==h&&aW()){aS.trigger("swipe",[aQ,ah,ac,X,aR]);if(aw.swipe){bd=aw.swipe.call(aS,bf,aQ,ah,ac,X,aR);if(bd===false){return false}}switch(aQ){case p:aS.trigger("swipeLeft",[aQ,ah,ac,X,aR]);if(aw.swipeLeft){bd=aw.swipeLeft.call(aS,bf,aQ,ah,ac,X,aR)}break;case o:aS.trigger("swipeRight",[aQ,ah,ac,X,aR]);if(aw.swipeRight){bd=aw.swipeRight.call(aS,bf,aQ,ah,ac,X,aR)}break;case e:aS.trigger("swipeUp",[aQ,ah,ac,X,aR]);if(aw.swipeUp){bd=aw.swipeUp.call(aS,bf,aQ,ah,ac,X,aR)}break;case x:aS.trigger("swipeDown",[aQ,ah,ac,X,aR]);if(aw.swipeDown){bd=aw.swipeDown.call(aS,bf,aQ,ah,ac,X,aR)}break}}}if(be==t){aS.trigger("pinchStatus",[bc,aK||null,ar||0,ac||0,X,H,aR]);if(aw.pinchStatus){bd=aw.pinchStatus.call(aS,bf,bc,aK||null,ar||0,ac||0,X,H,aR);if(bd===false){return false}}if(bc==h&&a9()){switch(aK){case c:aS.trigger("pinchIn",[aK||null,ar||0,ac||0,X,H,aR]);if(aw.pinchIn){bd=aw.pinchIn.call(aS,bf,aK||null,ar||0,ac||0,X,H,aR)}break;case A:aS.trigger("pinchOut",[aK||null,ar||0,ac||0,X,H,aR]);if(aw.pinchOut){bd=aw.pinchOut.call(aS,bf,aK||null,ar||0,ac||0,X,H,aR)}break}}}if(be==B){if(bc===q||bc===h){clearTimeout(aX);clearTimeout(ag);if(Z()&&!I()){O=au();aX=setTimeout(f.proxy(function(){O=null;aS.trigger("tap",[bf.target]);if(aw.tap){bd=aw.tap.call(aS,bf,bf.target)}},this),aw.doubleTapThreshold)}else{O=null;aS.trigger("tap",[bf.target]);if(aw.tap){bd=aw.tap.call(aS,bf,bf.target)}}}}else{if(be==j){if(bc===q||bc===h){clearTimeout(aX);O=null;aS.trigger("doubletap",[bf.target]);if(aw.doubleTap){bd=aw.doubleTap.call(aS,bf,bf.target)}}}else{if(be==b){if(bc===q||bc===h){clearTimeout(aX);O=null;aS.trigger("longtap",[bf.target]);if(aw.longTap){bd=aw.longTap.call(aS,bf,bf.target)}}}}}return bd}function ao(){var bc=true;if(aw.threshold!==null){bc=ah>=aw.threshold}return bc}function bb(){var bc=false;if(aw.cancelThreshold!==null&&aQ!==null){bc=(aU(aQ)-ah)>=aw.cancelThreshold}return bc}function af(){if(aw.pinchThreshold!==null){return ar>=aw.pinchThreshold}return true}function aB(){var bc;if(aw.maxTimeThreshold){if(ac>=aw.maxTimeThreshold){bc=false}else{bc=true}}else{bc=true}return bc}function am(bc,bd){if(aw.preventDefaultEvents===false){return}if(aw.allowPageScroll===m){bc.preventDefault()}else{var be=aw.allowPageScroll===s;switch(bd){case p:if((aw.swipeLeft&&be)||(!be&&aw.allowPageScroll!=E)){bc.preventDefault()}break;case o:if((aw.swipeRight&&be)||(!be&&aw.allowPageScroll!=E)){bc.preventDefault()}break;case e:if((aw.swipeUp&&be)||(!be&&aw.allowPageScroll!=u)){bc.preventDefault()}break;case x:if((aw.swipeDown&&be)||(!be&&aw.allowPageScroll!=u)){bc.preventDefault()}break}}}function a9(){var bd=aP();var bc=Y();var be=af();return bd&&bc&&be}function aY(){return !!(aw.pinchStatus||aw.pinchIn||aw.pinchOut)}function Q(){return !!(a9()&&aY())}function aW(){var bf=aB();var bh=ao();var be=aP();var bc=Y();var bd=bb();var bg=!bd&&bc&&be&&bh&&bf;return bg}function W(){return !!(aw.swipe||aw.swipeStatus||aw.swipeLeft||aw.swipeRight||aw.swipeUp||aw.swipeDown)}function J(){return !!(aW()&&W())}function aP(){return((X===aw.fingers||aw.fingers===i)||!a)}function Y(){return aR[0].end.x!==0}function a7(){return !!(aw.tap)}function Z(){return !!(aw.doubleTap)}function aV(){return !!(aw.longTap)}function R(){if(O==null){return false}var bc=au();return(Z()&&((bc-O)<=aw.doubleTapThreshold))}function I(){return R()}function ay(){return((X===1||!a)&&(isNaN(ah)||ahaw.longTapThreshold)&&(ah=0)){return p}else{if((be<=360)&&(be>=315)){return p}else{if((be>=135)&&(be<=225)){return o}else{if((be>45)&&(be<135)){return x}else{return e}}}}}function au(){var bc=new Date();return bc.getTime()}function aZ(bc){bc=f(bc);var be=bc.offset();var bd={left:be.left,right:be.left+bc.outerWidth(),top:be.top,bottom:be.top+bc.outerHeight()};return bd}function F(bc,bd){return(bc.x>bd.left&&bc.xbd.top&&bc.ye;e++)r[s[e]]=r=r[s[e]]||{};return r},h=l("com.greensock"),_=1e-10,u=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},f=function(){},c=function(){var t=Object.prototype.toString,e=t.call([]);return function(i){return null!=i&&(i instanceof Array||"object"==typeof i&&!!i.push&&t.call(i)===e)}}(),m={},p=function(s,r,n,a){this.sc=m[s]?m[s].sc:[],m[s]=this,this.gsClass=null,this.func=n;var o=[];this.check=function(h){for(var _,u,f,c,d,v=r.length,g=v;--v>-1;)(_=m[r[v]]||new p(r[v],[])).gsClass?(o[v]=_.gsClass,g--):h&&_.sc.push(this);if(0===g&&n)for(u=("com.greensock."+s).split("."),f=u.pop(),c=l(u.join("."))[f]=this.gsClass=n.apply(n,o),a&&(i[f]=c,d="undefined"!=typeof module&&module.exports,!d&&"function"==typeof define&&define.amd?define((t.GreenSockAMDPath?t.GreenSockAMDPath+"/":"")+s.split(".").pop(),[],function(){return c}):s===e&&d&&(module.exports=c)),v=0;this.sc.length>v;v++)this.sc[v].check()},this.check(!0)},d=t._gsDefine=function(t,e,i,s){return new p(t,e,i,s)},v=h._class=function(t,e,i){return e=e||function(){},d(t,[],function(){return e},i),e};d.globals=i;var g=[0,0,1,1],T=[],y=v("easing.Ease",function(t,e,i,s){this._func=t,this._type=i||0,this._power=s||0,this._params=e?g.concat(e):g},!0),w=y.map={},P=y.register=function(t,e,i,s){for(var r,n,a,o,l=e.split(","),_=l.length,u=(i||"easeIn,easeOut,easeInOut").split(",");--_>-1;)for(n=l[_],r=s?v("easing."+n,null,!0):h.easing[n]||{},a=u.length;--a>-1;)o=u[a],w[n+"."+o]=w[o+n]=r[o]=t.getRatio?t:t[o]||new t};for(n=y.prototype,n._calcEnd=!1,n.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,i=this._power,s=1===e?1-t:2===e?t:.5>t?2*t:2*(1-t);return 1===i?s*=s:2===i?s*=s*s:3===i?s*=s*s*s:4===i&&(s*=s*s*s*s),1===e?1-s:2===e?s:.5>t?s/2:1-s/2},s=["Linear","Quad","Cubic","Quart","Quint,Strong"],r=s.length;--r>-1;)n=s[r]+",Power"+r,P(new y(null,null,1,r),n,"easeOut",!0),P(new y(null,null,2,r),n,"easeIn"+(0===r?",easeNone":"")),P(new y(null,null,3,r),n,"easeInOut");w.linear=h.easing.Linear.easeIn,w.swing=h.easing.Quad.easeInOut;var b=v("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});n=b.prototype,n.addEventListener=function(t,e,i,s,r){r=r||0;var n,l,h=this._listeners[t],_=0;for(null==h&&(this._listeners[t]=h=[]),l=h.length;--l>-1;)n=h[l],n.c===e&&n.s===i?h.splice(l,1):0===_&&r>n.pr&&(_=l+1);h.splice(_,0,{c:e,s:i,up:s,pr:r}),this!==a||o||a.wake()},n.removeEventListener=function(t,e){var i,s=this._listeners[t];if(s)for(i=s.length;--i>-1;)if(s[i].c===e)return s.splice(i,1),void 0},n.dispatchEvent=function(t){var e,i,s,r=this._listeners[t];if(r)for(e=r.length,i=this._eventTarget;--e>-1;)s=r[e],s&&(s.up?s.c.call(s.s||i,{type:t,target:i}):s.c.call(s.s||i))};var k=t.requestAnimationFrame,A=t.cancelAnimationFrame,S=Date.now||function(){return(new Date).getTime()},x=S();for(s=["ms","moz","webkit","o"],r=s.length;--r>-1&&!k;)k=t[s[r]+"RequestAnimationFrame"],A=t[s[r]+"CancelAnimationFrame"]||t[s[r]+"CancelRequestAnimationFrame"];v("Ticker",function(t,e){var i,s,r,n,l,h=this,u=S(),c=e!==!1&&k,m=500,p=33,d="tick",v=function(t){var e,a,o=S()-x;o>m&&(u+=o-p),x+=o,h.time=(x-u)/1e3,e=h.time-l,(!i||e>0||t===!0)&&(h.frame++,l+=e+(e>=n?.004:n-e),a=!0),t!==!0&&(r=s(v)),a&&h.dispatchEvent(d)};b.call(h),h.time=h.frame=0,h.tick=function(){v(!0)},h.lagSmoothing=function(t,e){m=t||1/_,p=Math.min(e,m,0)},h.sleep=function(){null!=r&&(c&&A?A(r):clearTimeout(r),s=f,r=null,h===a&&(o=!1))},h.wake=function(){null!==r?h.sleep():h.frame>10&&(x=S()-m+5),s=0===i?f:c&&k?k:function(t){return setTimeout(t,0|1e3*(l-h.time)+1)},h===a&&(o=!0),v(2)},h.fps=function(t){return arguments.length?(i=t,n=1/(i||60),l=this.time+n,h.wake(),void 0):i},h.useRAF=function(t){return arguments.length?(h.sleep(),c=t,h.fps(i),void 0):c},h.fps(t),setTimeout(function(){c&&5>h.frame&&h.useRAF(!1)},1500)}),n=h.Ticker.prototype=new h.events.EventDispatcher,n.constructor=h.Ticker;var R=v("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=e.immediateRender===!0,this.data=e.data,this._reversed=e.reversed===!0,H){o||a.wake();var i=this.vars.useFrames?K:H;i.add(this,i._time),this.vars.paused&&this.paused(!0)}});a=R.ticker=new h.Ticker,n=R.prototype,n._dirty=n._gc=n._initted=n._paused=!1,n._totalTime=n._time=0,n._rawPrevTime=-1,n._next=n._last=n._onUpdate=n._timeline=n.timeline=null,n._paused=!1;var C=function(){o&&S()-x>2e3&&a.wake(),setTimeout(C,2e3)};C(),n.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},n.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},n.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},n.seek=function(t,e){return this.totalTime(Number(t),e!==!1)},n.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,e!==!1,!0)},n.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},n.render=function(){},n.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},n.isActive=function(){var t,e=this._timeline,i=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime())>=i&&i+this.totalDuration()/this._timeScale>t},n._enabled=function(t,e){return o||a.wake(),this._gc=!t,this._active=this.isActive(),e!==!0&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},n._kill=function(){return this._enabled(!1,!1)},n.kill=function(t,e){return this._kill(t,e),this},n._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},n._swapSelfInParams=function(t){for(var e=t.length,i=t.concat();--e>-1;)"{self}"===t[e]&&(i[e]=this);return i},n._callback=function(t){var e=this.vars;e[t].apply(e[t+"Scope"]||e.callbackScope||this,e[t+"Params"]||T)},n.eventCallback=function(t,e,i,s){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=c(i)&&-1!==i.join("").indexOf("{self}")?this._swapSelfInParams(i):i,r[t+"Scope"]=s),"onUpdate"===t&&(this._onUpdate=e)}return this},n.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},n.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:t,e)):this._time},n.totalTime=function(t,e,i){if(o||a.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>t&&!i&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var s=this._totalDuration,r=this._timeline;if(t>s&&!i&&(t=s),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?s-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==t||0===this._duration)&&(z.length&&V(),this.render(t,e,!1),z.length&&V())}return this},n.progress=n.totalProgress=function(t,e){var i=this.duration();return arguments.length?this.totalTime(i*t,e):i?this._time/i:this.ratio},n.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},n.endTime=function(t){return this._startTime+(0!=t?this.totalDuration():this.duration())/this._timeScale},n.timeScale=function(t){if(!arguments.length)return this._timeScale;if(t=t||_,this._timeline&&this._timeline.smoothChildTiming){var e=this._pauseTime,i=e||0===e?e:this._timeline.totalTime();this._startTime=i-(i-this._startTime)*this._timeScale/t}return this._timeScale=t,this._uncache(!1)},n.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},n.paused=function(t){if(!arguments.length)return this._paused;var e,i,s=this._timeline;return t!=this._paused&&s&&(o||t||a.wake(),e=s.rawTime(),i=e-this._pauseTime,!t&&s.smoothChildTiming&&(this._startTime+=i,this._uncache(!1)),this._pauseTime=t?e:null,this._paused=t,this._active=this.isActive(),!t&&0!==i&&this._initted&&this.duration()&&(e=s.smoothChildTiming?this._totalTime:(e-this._startTime)/this._timeScale,this.render(e,e===this._totalTime,!0))),this._gc&&!t&&this._enabled(!0,!1),this};var D=v("core.SimpleTimeline",function(t){R.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});n=D.prototype=new R,n.constructor=D,n.kill()._gc=!1,n._first=n._last=n._recent=null,n._sortChildren=!1,n.add=n.insert=function(t,e){var i,s;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=t._startTime+(this.rawTime()-t._startTime)/t._timeScale),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),i=this._last,this._sortChildren)for(s=t._startTime;i&&i._startTime>s;)i=i._prev;return i?(t._next=i._next,i._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=i,this._recent=t,this._timeline&&this._uncache(!0),this},n._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,t===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},n.render=function(t,e,i){var s,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)s=r._next,(r._active||t>=r._startTime&&!r._paused)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,i):r.render((t-r._startTime)*r._timeScale,e,i)),r=s},n.rawTime=function(){return o||a.wake(),this._totalTime};var I=v("TweenLite",function(e,i,s){if(R.call(this,i,s),this.render=I.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:I.selector(e)||e;var r,n,a,o=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),l=this.vars.overwrite;if(this._overwrite=l=null==l?$[I.defaultOverwrite]:"number"==typeof l?l>>0:$[l],(o||e instanceof Array||e.push&&c(e))&&"number"!=typeof e[0])for(this._targets=a=u(e),this._propLookup=[],this._siblings=[],r=0;a.length>r;r++)n=a[r],n?"string"!=typeof n?n.length&&n!==t&&n[0]&&(n[0]===t||n[0].nodeType&&n[0].style&&!n.nodeType)?(a.splice(r--,1),this._targets=a=a.concat(u(n))):(this._siblings[r]=W(n,this,!1),1===l&&this._siblings[r].length>1&&Y(n,this,null,1,this._siblings[r])):(n=a[r--]=I.selector(n),"string"==typeof n&&a.splice(r+1,1)):a.splice(r--,1);else this._propLookup={},this._siblings=W(e,this,!1),1===l&&this._siblings.length>1&&Y(e,this,null,1,this._siblings);(this.vars.immediateRender||0===i&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-_,this.render(-this._delay))},!0),E=function(e){return e&&e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)},O=function(t,e){var i,s={};for(i in t)M[i]||i in e&&"transform"!==i&&"x"!==i&&"y"!==i&&"width"!==i&&"height"!==i&&"className"!==i&&"border"!==i||!(!Q[i]||Q[i]&&Q[i]._autoCSS)||(s[i]=t[i],delete t[i]);t.css=s};n=I.prototype=new R,n.constructor=I,n.kill()._gc=!1,n.ratio=0,n._firstPT=n._targets=n._overwrittenProps=n._startAt=null,n._notifyPluginsOfEnabled=n._lazy=!1,I.version="1.18.0",I.defaultEase=n._ease=new y(null,null,1,1),I.defaultOverwrite="auto",I.ticker=a,I.autoSleep=120,I.lagSmoothing=function(t,e){a.lagSmoothing(t,e)},I.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(I.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)};var z=[],F={},L=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,N=function(t){for(var e,i=this._firstPT,s=1e-6;i;)e=i.blob?t?this.join(""):this.start:i.c*t+i.s,i.r?e=Math.round(e):s>e&&e>-s&&(e=0),i.f?i.fp?i.t[i.p](i.fp,e):i.t[i.p](e):i.t[i.p]=e,i=i._next},U=function(t,e,i,s){var r,n,a,o,l,h,_,u=[t,e],f=0,c="",m=0;for(u.start=t,i&&(i(u),t=u[0],e=u[1]),u.length=0,r=t.match(L)||[],n=e.match(L)||[],s&&(s._next=null,s.blob=1,u._firstPT=s),l=n.length,o=0;l>o;o++)_=n[o],h=e.substr(f,e.indexOf(_,f)-f),c+=h||!o?h:",",f+=h.length,m?m=(m+1)%5:"rgba("===h.substr(-5)&&(m=1),_===r[o]||o>=r.length?c+=_:(c&&(u.push(c),c=""),a=parseFloat(r[o]),u.push(a),u._firstPT={_next:u._firstPT,t:u,p:u.length-1,s:a,c:("="===_.charAt(1)?parseInt(_.charAt(0)+"1",10)*parseFloat(_.substr(2)):parseFloat(_)-a)||0,f:0,r:m&&4>m}),f+=_.length;return c+=e.substr(f),c&&u.push(c),u.setRatio=N,u},j=function(t,e,i,s,r,n,a,o){var l,h,_="get"===i?t[e]:i,u=typeof t[e],f="string"==typeof s&&"="===s.charAt(1),c={t:t,p:e,s:_,f:"function"===u,pg:0,n:r||e,r:n,pr:0,c:f?parseInt(s.charAt(0)+"1",10)*parseFloat(s.substr(2)):parseFloat(s)-_||0};return"number"!==u&&("function"===u&&"get"===i&&(h=e.indexOf("set")||"function"!=typeof t["get"+e.substr(3)]?e:"get"+e.substr(3),c.s=_=a?t[h](a):t[h]()),"string"==typeof _&&(a||isNaN(_))?(c.fp=a,l=U(_,s,o||I.defaultStringFilter,c),c={t:l,p:"setRatio",s:0,c:1,f:2,pg:0,n:r||e,pr:0}):f||(c.c=parseFloat(s)-parseFloat(_)||0)),c.c?((c._next=this._firstPT)&&(c._next._prev=c),this._firstPT=c,c):void 0},G=I._internals={isArray:c,isSelector:E,lazyTweens:z,blobDif:U},Q=I._plugins={},q=G.tweenLookup={},B=0,M=G.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1},$={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},K=R._rootFramesTimeline=new D,H=R._rootTimeline=new D,J=30,V=G.lazyRender=function(){var t,e=z.length;for(F={};--e>-1;)t=z[e],t&&t._lazy!==!1&&(t.render(t._lazy[0],t._lazy[1],!0),t._lazy=!1);z.length=0};H._startTime=a.time,K._startTime=a.frame,H._active=K._active=!0,setTimeout(V,1),R._updateRoot=I.render=function(){var t,e,i;if(z.length&&V(),H.render((a.time-H._startTime)*H._timeScale,!1,!1),K.render((a.frame-K._startTime)*K._timeScale,!1,!1),z.length&&V(),a.frame>=J){J=a.frame+(parseInt(I.autoSleep,10)||120);for(i in q){for(e=q[i].tweens,t=e.length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete q[i]}if(i=H._first,(!i||i._paused)&&I.autoSleep&&!K._first&&1===a._listeners.tick.length){for(;i&&i._paused;)i=i._next;i||a.sleep()}}},a.addEventListener("tick",R._updateRoot);var W=function(t,e,i){var s,r,n=t._gsTweenID;if(q[n||(t._gsTweenID=n="t"+B++)]||(q[n]={target:t,tweens:[]}),e&&(s=q[n].tweens,s[r=s.length]=e,i))for(;--r>-1;)s[r]===e&&s.splice(r,1);return q[n].tweens},X=function(t,e,i,s){var r,n,a=t.vars.onOverwrite;return a&&(r=a(t,e,i,s)),a=I.onOverwrite,a&&(n=a(t,e,i,s)),r!==!1&&n!==!1},Y=function(t,e,i,s,r){var n,a,o,l;if(1===s||s>=4){for(l=r.length,n=0;l>n;n++)if((o=r[n])!==e)o._gc||o._kill(null,t,e)&&(a=!0);else if(5===s)break;return a}var h,u=e._startTime+_,f=[],c=0,m=0===e._duration;for(n=r.length;--n>-1;)(o=r[n])===e||o._gc||o._paused||(o._timeline!==e._timeline?(h=h||Z(e,0,m),0===Z(o,h,m)&&(f[c++]=o)):u>=o._startTime&&o._startTime+o.totalDuration()/o._timeScale>u&&((m||!o._initted)&&2e-10>=u-o._startTime||(f[c++]=o)));for(n=c;--n>-1;)if(o=f[n],2===s&&o._kill(i,t,e)&&(a=!0),2!==s||!o._firstPT&&o._initted){if(2!==s&&!X(o,e))continue;o._enabled(!1,!1)&&(a=!0)}return a},Z=function(t,e,i){for(var s=t._timeline,r=s._timeScale,n=t._startTime;s._timeline;){if(n+=s._startTime,r*=s._timeScale,s._paused)return-100;s=s._timeline}return n/=r,n>e?n-e:i&&n===e||!t._initted&&2*_>n-e?_:(n+=t.totalDuration()/t._timeScale/r)>e+_?0:n-e-_};n._init=function(){var t,e,i,s,r,n=this.vars,a=this._overwrittenProps,o=this._duration,l=!!n.immediateRender,h=n.ease;if(n.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={};for(s in n.startAt)r[s]=n.startAt[s];if(r.overwrite=!1,r.immediateRender=!0,r.lazy=l&&n.lazy!==!1,r.startAt=r.delay=null,this._startAt=I.to(this.target,0,r),l)if(this._time>0)this._startAt=null;else if(0!==o)return}else if(n.runBackwards&&0!==o)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(l=!1),i={};for(s in n)M[s]&&"autoCSS"!==s||(i[s]=n[s]);if(i.overwrite=0,i.data="isFromStart",i.lazy=l&&n.lazy!==!1,i.immediateRender=l,this._startAt=I.to(this.target,0,i),l){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=h=h?h instanceof y?h:"function"==typeof h?new y(h,n.easeParams):w[h]||I.defaultEase:I.defaultEase,n.easeParams instanceof Array&&h.config&&(this._ease=h.config.apply(h,n.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(t=this._targets.length;--t>-1;)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],a?a[t]:null)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,a);if(e&&I._onPluginEvent("_onInitAllProps",this),a&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),n.runBackwards)for(i=this._firstPT;i;)i.s+=i.c,i.c=-i.c,i=i._next;this._onUpdate=n.onUpdate,this._initted=!0},n._initProps=function(e,i,s,r){var n,a,o,l,h,_;if(null==e)return!1;F[e._gsTweenID]&&V(),this.vars.css||e.style&&e!==t&&e.nodeType&&Q.css&&this.vars.autoCSS!==!1&&O(this.vars,e);for(n in this.vars)if(_=this.vars[n],M[n])_&&(_ instanceof Array||_.push&&c(_))&&-1!==_.join("").indexOf("{self}")&&(this.vars[n]=_=this._swapSelfInParams(_,this));else if(Q[n]&&(l=new Q[n])._onInitTween(e,this.vars[n],this)){for(this._firstPT=h={_next:this._firstPT,t:l,p:"setRatio",s:0,c:1,f:1,n:n,pg:1,pr:l._priority},a=l._overwriteProps.length;--a>-1;)i[l._overwriteProps[a]]=this._firstPT;(l._priority||l._onInitAllProps)&&(o=!0),(l._onDisable||l._onEnable)&&(this._notifyPluginsOfEnabled=!0),h._next&&(h._next._prev=h)}else i[n]=j.call(this,e,n,"get",_,n,0,null,this.vars.stringFilter);return r&&this._kill(r,e)?this._initProps(e,i,s,r):this._overwrite>1&&this._firstPT&&s.length>1&&Y(e,this,i,this._overwrite,s)?(this._kill(i,e),this._initProps(e,i,s,r)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(F[e._gsTweenID]=!0),o)},n.render=function(t,e,i){var s,r,n,a,o=this._time,l=this._duration,h=this._rawPrevTime;if(t>=l)this._totalTime=this._time=l,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(s=!0,r="onComplete",i=i||this._timeline.autoRemoveChildren),0===l&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>h||h===_&&"isPause"!==this.data)&&h!==t&&(i=!0,h>_&&(r="onReverseComplete")),this._rawPrevTime=a=!e||t||h===t?t:_);else if(1e-7>t)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==o||0===l&&h>0)&&(r="onReverseComplete",s=this._reversed),0>t&&(this._active=!1,0===l&&(this._initted||!this.vars.lazy||i)&&(h>=0&&(h!==_||"isPause"!==this.data)&&(i=!0),this._rawPrevTime=a=!e||t||h===t?t:_)),this._initted||(i=!0);else if(this._totalTime=this._time=t,this._easeType){var u=t/l,f=this._easeType,c=this._easePower;(1===f||3===f&&u>=.5)&&(u=1-u),3===f&&(u*=2),1===c?u*=u:2===c?u*=u*u:3===c?u*=u*u*u:4===c&&(u*=u*u*u*u),this.ratio=1===f?1-u:2===f?u:.5>t/l?u/2:1-u/2}else this.ratio=this._ease.getRatio(t/l);if(this._time!==o||i){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=o,this._rawPrevTime=h,z.push(this),this._lazy=[t,e],void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/l):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==o&&t>=0&&(this._active=!0),0===o&&(this._startAt&&(t>=0?this._startAt.render(t,e,i):r||(r="_dummyGS")),this.vars.onStart&&(0!==this._time||0===l)&&(e||this._callback("onStart"))),n=this._firstPT;n;)n.f?n.t[n.p](n.c*this.ratio+n.s):n.t[n.p]=n.c*this.ratio+n.s,n=n._next;this._onUpdate&&(0>t&&this._startAt&&t!==-1e-4&&this._startAt.render(t,e,i),e||(this._time!==o||s)&&this._callback("onUpdate")),r&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&t!==-1e-4&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this._callback(r),0===l&&this._rawPrevTime===_&&a!==_&&(this._rawPrevTime=0))}},n._kill=function(t,e,i){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:I.selector(e)||e;var s,r,n,a,o,l,h,_,u,f=i&&this._time&&i._startTime===this._startTime&&this._timeline===i._timeline;if((c(e)||E(e))&&"number"!=typeof e[0])for(s=e.length;--s>-1;)this._kill(t,e[s],i)&&(l=!0);else{if(this._targets){for(s=this._targets.length;--s>-1;)if(e===this._targets[s]){o=this._propLookup[s]||{},this._overwrittenProps=this._overwrittenProps||[],r=this._overwrittenProps[s]=t?this._overwrittenProps[s]||{}:"all";break}}else{if(e!==this.target)return!1;o=this._propLookup,r=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(o){if(h=t||o,_=t!==r&&"all"!==r&&t!==o&&("object"!=typeof t||!t._tempKill),i&&(I.onOverwrite||this.vars.onOverwrite)){for(n in h)o[n]&&(u||(u=[]),u.push(n));if((u||!t)&&!X(this,i,e,u))return!1}for(n in h)(a=o[n])&&(f&&(a.f?a.t[a.p](a.s):a.t[a.p]=a.s,l=!0),a.pg&&a.t._kill(h)&&(l=!0),a.pg&&0!==a.t._overwriteProps.length||(a._prev?a._prev._next=a._next:a===this._firstPT&&(this._firstPT=a._next),a._next&&(a._next._prev=a._prev),a._next=a._prev=null),delete o[n]),_&&(r[n]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return l},n.invalidate=function(){return this._notifyPluginsOfEnabled&&I._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],R.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-_,this.render(-this._delay)),this},n._enabled=function(t,e){if(o||a.wake(),t&&this._gc){var i,s=this._targets;if(s)for(i=s.length;--i>-1;)this._siblings[i]=W(s[i],this,!0);else this._siblings=W(this.target,this,!0)}return R.prototype._enabled.call(this,t,e),this._notifyPluginsOfEnabled&&this._firstPT?I._onPluginEvent(t?"_onEnable":"_onDisable",this):!1},I.to=function(t,e,i){return new I(t,e,i)},I.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new I(t,e,i)},I.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new I(t,e,s)},I.delayedCall=function(t,e,i,s,r){return new I(e,0,{delay:t,onComplete:e,onCompleteParams:i,callbackScope:s,onReverseComplete:e,onReverseCompleteParams:i,immediateRender:!1,lazy:!1,useFrames:r,overwrite:0})},I.set=function(t,e){return new I(t,0,e)},I.getTweensOf=function(t,e){if(null==t)return[];t="string"!=typeof t?t:I.selector(t)||t;var i,s,r,n;if((c(t)||E(t))&&"number"!=typeof t[0]){for(i=t.length,s=[];--i>-1;)s=s.concat(I.getTweensOf(t[i],e));for(i=s.length;--i>-1;)for(n=s[i],r=i;--r>-1;)n===s[r]&&s.splice(i,1)}else for(s=W(t).concat(),i=s.length;--i>-1;)(s[i]._gc||e&&!s[i].isActive())&&s.splice(i,1);return s},I.killTweensOf=I.killDelayedCallsTo=function(t,e,i){"object"==typeof e&&(i=e,e=!1);for(var s=I.getTweensOf(t,e),r=s.length;--r>-1;)s[r]._kill(i,t)};var te=v("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=te.prototype},!0);if(n=te.prototype,te.version="1.18.0",te.API=2,n._firstPT=null,n._addTween=j,n.setRatio=N,n._kill=function(t){var e,i=this._overwriteProps,s=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=i.length;--e>-1;)null!=t[i[e]]&&i.splice(e,1);for(;s;)null!=t[s.n]&&(s._next&&(s._next._prev=s._prev),s._prev?(s._prev._next=s._next,s._prev=null):this._firstPT===s&&(this._firstPT=s._next)),s=s._next;return!1},n._roundProps=function(t,e){for(var i=this._firstPT;i;)(t[this._propName]||null!=i.n&&t[i.n.split(this._propName+"_").join("")])&&(i.r=e),i=i._next},I._onPluginEvent=function(t,e){var i,s,r,n,a,o=e._firstPT;if("_onInitAllProps"===t){for(;o;){for(a=o._next,s=r;s&&s.pr>o.pr;)s=s._next;(o._prev=s?s._prev:n)?o._prev._next=o:r=o,(o._next=s)?s._prev=o:n=o,o=a}o=e._firstPT=r}for(;o;)o.pg&&"function"==typeof o.t[t]&&o.t[t]()&&(i=!0),o=o._next;return i},te.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===te.API&&(Q[(new t[e])._propName]=t[e]);return!0},d.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,i=t.propName,s=t.priority||0,r=t.overwriteProps,n={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_roundProps",initAll:"_onInitAllProps"},a=v("plugins."+i.charAt(0).toUpperCase()+i.substr(1)+"Plugin",function(){te.call(this,i,s),this._overwriteProps=r||[]},t.global===!0),o=a.prototype=new te(i);o.constructor=a,a.API=t.API;for(e in n)"function"==typeof t[e]&&(o[n[e]]=t[e]);return a.version=t.version,te.activate([a]),a},s=t._gsQueue){for(r=0;s.length>r;r++)s[r]();for(n in m)m[n].func||t.console.log("GSAP encountered missing dependency: com.greensock."+n)}o=!1}})("undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window,"TweenLite"); + +/*! + * VERSION: 1.18.0 + * DATE: 2015-08-29 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,i){var s=function(t){e.call(this,t),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var i,s,r=this.vars;for(s in r)i=r[s],l(i)&&-1!==i.join("").indexOf("{self}")&&(r[s]=this._swapSelfInParams(i));l(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},r=1e-10,n=i._internals,a=s._internals={},o=n.isSelector,l=n.isArray,h=n.lazyTweens,_=n.lazyRender,u=_gsScope._gsDefine.globals,f=function(t){var e,i={};for(e in t)i[e]=t[e];return i},c=function(t,e,i){var s,r,n=t.cycle;for(s in n)r=n[s],t[s]="function"==typeof r?r.call(e[i],i):r[i%r.length];delete t.cycle},p=a.pauseCallback=function(){},m=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},d=s.prototype=new e;return s.version="1.18.0",d.constructor=s,d.kill()._gc=d._forcingPlayhead=d._hasPause=!1,d.to=function(t,e,s,r){var n=s.repeat&&u.TweenMax||i;return e?this.add(new n(t,e,s),r):this.set(t,s,r)},d.from=function(t,e,s,r){return this.add((s.repeat&&u.TweenMax||i).from(t,e,s),r)},d.fromTo=function(t,e,s,r,n){var a=r.repeat&&u.TweenMax||i;return e?this.add(a.fromTo(t,e,s,r),n):this.set(t,r,n)},d.staggerTo=function(t,e,r,n,a,l,h,_){var u,p,d=new s({onComplete:l,onCompleteParams:h,callbackScope:_,smoothChildTiming:this.smoothChildTiming}),g=r.cycle;for("string"==typeof t&&(t=i.selector(t)||t),t=t||[],o(t)&&(t=m(t)),n=n||0,0>n&&(t=m(t),t.reverse(),n*=-1),p=0;t.length>p;p++)u=f(r),u.startAt&&(u.startAt=f(u.startAt),u.startAt.cycle&&c(u.startAt,t,p)),g&&c(u,t,p),d.to(t[p],e,u,p*n);return this.add(d,a)},d.staggerFrom=function(t,e,i,s,r,n,a,o){return i.immediateRender=0!=i.immediateRender,i.runBackwards=!0,this.staggerTo(t,e,i,s,r,n,a,o)},d.staggerFromTo=function(t,e,i,s,r,n,a,o,l){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,this.staggerTo(t,e,s,r,n,a,o,l)},d.call=function(t,e,s,r){return this.add(i.delayedCall(0,t,e,s),r)},d.set=function(t,e,s){return s=this._parseTimeOrLabel(s,0,!0),null==e.immediateRender&&(e.immediateRender=s===this._time&&!this._paused),this.add(new i(t,0,e),s)},s.exportRoot=function(t,e){t=t||{},null==t.smoothChildTiming&&(t.smoothChildTiming=!0);var r,n,a=new s(t),o=a._timeline;for(null==e&&(e=!0),o._remove(a,!0),a._startTime=0,a._rawPrevTime=a._time=a._totalTime=o._time,r=o._first;r;)n=r._next,e&&r instanceof i&&r.target===r.vars.onComplete||a.add(r,r._startTime-r._delay),r=n;return o.add(a,0),a},d.add=function(r,n,a,o){var h,_,u,f,c,p;if("number"!=typeof n&&(n=this._parseTimeOrLabel(n,0,!0,r)),!(r instanceof t)){if(r instanceof Array||r&&r.push&&l(r)){for(a=a||"normal",o=o||0,h=n,_=r.length,u=0;_>u;u++)l(f=r[u])&&(f=new s({tweens:f})),this.add(f,h),"string"!=typeof f&&"function"!=typeof f&&("sequence"===a?h=f._startTime+f.totalDuration()/f._timeScale:"start"===a&&(f._startTime-=f.delay())),h+=o;return this._uncache(!0)}if("string"==typeof r)return this.addLabel(r,n);if("function"!=typeof r)throw"Cannot add "+r+" into the timeline; it is not a tween, timeline, function, or string.";r=i.delayedCall(0,r)}if(e.prototype.add.call(this,r,n),(this._gc||this._time===this._duration)&&!this._paused&&this._durationr._startTime;c._timeline;)p&&c._timeline.smoothChildTiming?c.totalTime(c._totalTime,!0):c._gc&&c._enabled(!0,!1),c=c._timeline;return this},d.remove=function(e){if(e instanceof t){this._remove(e,!1);var i=e._timeline=e.vars.useFrames?t._rootFramesTimeline:t._rootTimeline;return e._startTime=(e._paused?e._pauseTime:i._time)-(e._reversed?e.totalDuration()-e._totalTime:e._totalTime)/e._timeScale,this}if(e instanceof Array||e&&e.push&&l(e)){for(var s=e.length;--s>-1;)this.remove(e[s]);return this}return"string"==typeof e?this.removeLabel(e):this.kill(null,e)},d._remove=function(t,i){e.prototype._remove.call(this,t,i);var s=this._last;return s?this._time>s._startTime+s._totalDuration/s._timeScale&&(this._time=this.duration(),this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},d.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},d.insert=d.insertMultiple=function(t,e,i,s){return this.add(t,e||0,i,s)},d.appendMultiple=function(t,e,i,s){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),i,s)},d.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},d.addPause=function(t,e,s,r){var n=i.delayedCall(0,p,s,r||this);return n.vars.onComplete=n.vars.onReverseComplete=e,n.data="isPause",this._hasPause=!0,this.add(n,t)},d.removeLabel=function(t){return delete this._labels[t],this},d.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},d._parseTimeOrLabel=function(e,i,s,r){var n;if(r instanceof t&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&l(r)))for(n=r.length;--n>-1;)r[n]instanceof t&&r[n].timeline===this&&this.remove(r[n]);if("string"==typeof i)return this._parseTimeOrLabel(i,s&&"number"==typeof e&&null==this._labels[i]?e-this.duration():0,s);if(i=i||0,"string"!=typeof e||!isNaN(e)&&null==this._labels[e])null==e&&(e=this.duration());else{if(n=e.indexOf("="),-1===n)return null==this._labels[e]?s?this._labels[e]=this.duration()+i:i:this._labels[e]+i;i=parseInt(e.charAt(n-1)+"1",10)*Number(e.substr(n+1)),e=n>1?this._parseTimeOrLabel(e.substr(0,n-1),0,s):this.duration()}return Number(e)+i},d.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),e!==!1)},d.stop=function(){return this.paused(!0)},d.gotoAndPlay=function(t,e){return this.play(t,e)},d.gotoAndStop=function(t,e){return this.pause(t,e)},d.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var s,n,a,o,l,u,f=this._dirty?this.totalDuration():this._totalDuration,c=this._time,p=this._startTime,m=this._timeScale,d=this._paused;if(t>=f)this._totalTime=this._time=f,this._reversed||this._hasPausedChild()||(n=!0,o="onComplete",l=!!this._timeline.autoRemoveChildren,0===this._duration&&(0===t||0>this._rawPrevTime||this._rawPrevTime===r)&&this._rawPrevTime!==t&&this._first&&(l=!0,this._rawPrevTime>r&&(o="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,t=f+1e-4;else if(1e-7>t)if(this._totalTime=this._time=0,(0!==c||0===this._duration&&this._rawPrevTime!==r&&(this._rawPrevTime>0||0>t&&this._rawPrevTime>=0))&&(o="onReverseComplete",n=this._reversed),0>t)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(l=n=!0,o="onReverseComplete"):this._rawPrevTime>=0&&this._first&&(l=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,0===t&&n)for(s=this._first;s&&0===s._startTime;)s._duration||(n=!1),s=s._next;t=0,this._initted||(l=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!e){if(t>=c)for(s=this._first;s&&t>=s._startTime&&!u;)s._duration||"isPause"!==s.data||s.ratio||0===s._startTime&&0===this._rawPrevTime||(u=s),s=s._next;else for(s=this._last;s&&s._startTime>=t&&!u;)s._duration||"isPause"===s.data&&s._rawPrevTime>0&&(u=s),s=s._prev;u&&(this._time=t=u._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=t}if(this._time!==c&&this._first||i||l||u){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==c&&t>0&&(this._active=!0),0===c&&this.vars.onStart&&0!==this._time&&(e||this._callback("onStart")),this._time>=c)for(s=this._first;s&&(a=s._next,!this._paused||d);)(s._active||s._startTime<=this._time&&!s._paused&&!s._gc)&&(u===s&&this.pause(),s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;else for(s=this._last;s&&(a=s._prev,!this._paused||d);){if(s._active||c>=s._startTime&&!s._paused&&!s._gc){if(u===s){for(u=s._prev;u&&u.endTime()>this._time;)u.render(u._reversed?u.totalDuration()-(t-u._startTime)*u._timeScale:(t-u._startTime)*u._timeScale,e,i),u=u._prev;u=null,this.pause()}s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)}s=a}this._onUpdate&&(e||(h.length&&_(),this._callback("onUpdate"))),o&&(this._gc||(p===this._startTime||m!==this._timeScale)&&(0===this._time||f>=this.totalDuration())&&(n&&(h.length&&_(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[o]&&this._callback(o)))}},d._hasPausedChild=function(){for(var t=this._first;t;){if(t._paused||t instanceof s&&t._hasPausedChild())return!0;t=t._next}return!1},d.getChildren=function(t,e,s,r){r=r||-9999999999;for(var n=[],a=this._first,o=0;a;)r>a._startTime||(a instanceof i?e!==!1&&(n[o++]=a):(s!==!1&&(n[o++]=a),t!==!1&&(n=n.concat(a.getChildren(!0,e,s)),o=n.length))),a=a._next;return n},d.getTweensOf=function(t,e){var s,r,n=this._gc,a=[],o=0;for(n&&this._enabled(!0,!0),s=i.getTweensOf(t),r=s.length;--r>-1;)(s[r].timeline===this||e&&this._contains(s[r]))&&(a[o++]=s[r]);return n&&this._enabled(!1,!0),a},d.recent=function(){return this._recent},d._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},d.shiftChildren=function(t,e,i){i=i||0;for(var s,r=this._first,n=this._labels;r;)r._startTime>=i&&(r._startTime+=t),r=r._next;if(e)for(s in n)n[s]>=i&&(n[s]+=t);return this._uncache(!0)},d._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var i=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),s=i.length,r=!1;--s>-1;)i[s]._kill(t,e)&&(r=!0);return r},d.clear=function(t){var e=this.getChildren(!1,!0,!0),i=e.length;for(this._time=this._totalTime=0;--i>-1;)e[i]._enabled(!1,!1);return t!==!1&&(this._labels={}),this._uncache(!0)},d.invalidate=function(){for(var e=this._first;e;)e.invalidate(),e=e._next;return t.prototype.invalidate.call(this)},d._enabled=function(t,i){if(t===this._gc)for(var s=this._first;s;)s._enabled(t,!0),s=s._next;return e.prototype._enabled.call(this,t,i)},d.totalTime=function(){this._forcingPlayhead=!0;var e=t.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,e},d.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},d.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,i,s=0,r=this._last,n=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>n&&this._sortChildren&&!r._paused?this.add(r,r._startTime-r._delay):n=r._startTime,0>r._startTime&&!r._paused&&(s-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale),this.shiftChildren(-r._startTime,!1,-9999999999),n=0),i=r._startTime+r._totalDuration/r._timeScale,i>s&&(s=i),r=e;this._duration=this._totalDuration=s,this._dirty=!1}return this._totalDuration}return 0!==this.totalDuration()&&0!==t&&this.timeScale(this._totalDuration/t),this},d.paused=function(e){if(!e)for(var i=this._first,s=this._time;i;)i._startTime===s&&"isPause"===i.data&&(i._rawPrevTime=0),i=i._next;return t.prototype.paused.apply(this,arguments)},d.usesFrames=function(){for(var e=this._timeline;e._timeline;)e=e._timeline;return e===t._rootFramesTimeline},d.rawTime=function(){return this._paused?this._totalTime:(this._timeline.rawTime()-this._startTime)*this._timeScale},s},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(t){"use strict";var e=function(){return(_gsScope.GreenSockGlobals||_gsScope)[t]};"function"==typeof define&&define.amd?define(["TweenLite"],e):"undefined"!=typeof module&&module.exports&&(require("./TweenLite.js"),module.exports=e())}("TimelineLite"); + +/*! + * VERSION: beta 1.15.2 + * DATE: 2015-01-27 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("easing.Back",["easing.Ease"],function(t){var e,i,s,r=_gsScope.GreenSockGlobals||_gsScope,n=r.com.greensock,a=2*Math.PI,o=Math.PI/2,h=n._class,l=function(e,i){var s=h("easing."+e,function(){},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,s},_=t.register||function(){},u=function(t,e,i,s){var r=h("easing."+t,{easeOut:new e,easeIn:new i,easeInOut:new s},!0);return _(r,t),r},c=function(t,e,i){this.t=t,this.v=e,i&&(this.next=i,i.prev=this,this.c=i.v-e,this.gap=i.t-t)},f=function(e,i){var s=h("easing."+e,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,r.config=function(t){return new s(t)},s},p=u("Back",f("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),f("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),f("BackInOut",function(t){return 1>(t*=2)?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),m=h("easing.SlowMo",function(t,e,i){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=i===!0},!0),d=m.prototype=new t;return d.constructor=m,d.getRatio=function(t){var e=t+(.5-t)*this._p;return this._p1>t?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},m.ease=new m(.7,.7),d.config=m.config=function(t,e,i){return new m(t,e,i)},e=h("easing.SteppedEase",function(t){t=t||1,this._p1=1/t,this._p2=t+1},!0),d=e.prototype=new t,d.constructor=e,d.getRatio=function(t){return 0>t?t=0:t>=1&&(t=.999999999),(this._p2*t>>0)*this._p1},d.config=e.config=function(t){return new e(t)},i=h("easing.RoughEase",function(e){e=e||{};for(var i,s,r,n,a,o,h=e.taper||"none",l=[],_=0,u=0|(e.points||20),f=u,p=e.randomize!==!1,m=e.clamp===!0,d=e.template instanceof t?e.template:null,g="number"==typeof e.strength?.4*e.strength:.4;--f>-1;)i=p?Math.random():1/u*f,s=d?d.getRatio(i):i,"none"===h?r=g:"out"===h?(n=1-i,r=n*n*g):"in"===h?r=i*i*g:.5>i?(n=2*i,r=.5*n*n*g):(n=2*(1-i),r=.5*n*n*g),p?s+=Math.random()*r-.5*r:f%2?s+=.5*r:s-=.5*r,m&&(s>1?s=1:0>s&&(s=0)),l[_++]={x:i,y:s};for(l.sort(function(t,e){return t.x-e.x}),o=new c(1,1,null),f=u;--f>-1;)a=l[f],o=new c(a.x,a.y,o);this._prev=new c(0,0,0!==o.t?o:o.next)},!0),d=i.prototype=new t,d.constructor=i,d.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&e.t>=t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},d.config=function(t){return new i(t)},i.ease=new i,u("Bounce",l("BounceOut",function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),l("BounceIn",function(t){return 1/2.75>(t=1-t)?1-7.5625*t*t:2/2.75>t?1-(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),l("BounceInOut",function(t){var e=.5>t;return t=e?1-2*t:2*t-1,t=1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),u("Circ",l("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),l("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),l("CircInOut",function(t){return 1>(t*=2)?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),s=function(e,i,s){var r=h("easing."+e,function(t,e){this._p1=t>=1?t:1,this._p2=(e||s)/(1>t?t:1),this._p3=this._p2/a*(Math.asin(1/this._p1)||0),this._p2=a/this._p2},!0),n=r.prototype=new t;return n.constructor=r,n.getRatio=i,n.config=function(t,e){return new r(t,e)},r},u("Elastic",s("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*this._p2)+1},.3),s("ElasticIn",function(t){return-(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2))},.3),s("ElasticInOut",function(t){return 1>(t*=2)?-.5*this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2):.5*this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*this._p2)+1},.45)),u("Expo",l("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),l("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),l("ExpoInOut",function(t){return 1>(t*=2)?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),u("Sine",l("SineOut",function(t){return Math.sin(t*o)}),l("SineIn",function(t){return-Math.cos(t*o)+1}),l("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),h("easing.EaseLookup",{find:function(e){return t.map[e]}},!0),_(r.SlowMo,"SlowMo","ease,"),_(i,"RoughEase","ease,"),_(e,"SteppedEase","ease,"),p},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(); + + +/*! + * VERSION: 1.18.0 + * DATE: 2015-09-05 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(t,e){var i,r,s,n,a=function(){t.call(this,"css"),this._overwriteProps.length=0,this.setRatio=a.prototype.setRatio},o=_gsScope._gsDefine.globals,l={},h=a.prototype=new t("css");h.constructor=a,a.version="1.18.0",a.API=2,a.defaultTransformPerspective=0,a.defaultSkewType="compensated",a.defaultSmoothOrigin=!0,h="px",a.suffixMap={top:h,right:h,bottom:h,left:h,width:h,height:h,fontSize:h,padding:h,margin:h,perspective:h,lineHeight:""};var u,f,c,_,p,d,m=/(?:\d|\-\d|\.\d|\-\.\d)+/g,g=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,v=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,y=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,x=/(?:\d|\-|\+|=|#|\.)*/g,T=/opacity *= *([^)]*)/i,w=/opacity:([^;]*)/i,b=/alpha\(opacity *=.+?\)/i,P=/^(rgb|hsl)/,S=/([A-Z])/g,O=/-([a-z])/gi,C=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,k=function(t,e){return e.toUpperCase()},R=/(?:Left|Right|Width)/i,A=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,M=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,D=/,(?=[^\)]*(?:\(|$))/gi,L=Math.PI/180,N=180/Math.PI,F={},X=document,z=function(t){return X.createElementNS?X.createElementNS("http://www.w3.org/1999/xhtml",t):X.createElement(t)},B=z("div"),I=z("img"),E=a._internals={_specialProps:l},Y=navigator.userAgent,W=function(){var t=Y.indexOf("Android"),e=z("a");return c=-1!==Y.indexOf("Safari")&&-1===Y.indexOf("Chrome")&&(-1===t||Number(Y.substr(t+8,1))>3),p=c&&6>Number(Y.substr(Y.indexOf("Version/")+8,1)),_=-1!==Y.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Y)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Y))&&(d=parseFloat(RegExp.$1)),e?(e.style.cssText="top:1px;opacity:.55;",/^0.55/.test(e.style.opacity)):!1}(),V=function(t){return T.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},j=function(t){window.console&&console.log(t)},G="",U="",q=function(t,e){e=e||B;var i,r,s=e.style;if(void 0!==s[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),i=["O","Moz","ms","Ms","Webkit"],r=5;--r>-1&&void 0===s[i[r]+t];);return r>=0?(U=3===r?"ms":i[r],G="-"+U.toLowerCase()+"-",U+t):null},H=X.defaultView?X.defaultView.getComputedStyle:function(){},Q=a.getStyle=function(t,e,i,r,s){var n;return W||"opacity"!==e?(!r&&t.style[e]?n=t.style[e]:(i=i||H(t))?n=i[e]||i.getPropertyValue(e)||i.getPropertyValue(e.replace(S,"-$1").toLowerCase()):t.currentStyle&&(n=t.currentStyle[e]),null==s||n&&"none"!==n&&"auto"!==n&&"auto auto"!==n?n:s):V(t)},Z=E.convertToPixels=function(t,i,r,s,n){if("px"===s||!s)return r;if("auto"===s||!r)return 0;var o,l,h,u=R.test(i),f=t,c=B.style,_=0>r;if(_&&(r=-r),"%"===s&&-1!==i.indexOf("border"))o=r/100*(u?t.clientWidth:t.clientHeight);else{if(c.cssText="border:0 solid red;position:"+Q(t,"position")+";line-height:0;","%"!==s&&f.appendChild&&"v"!==s.charAt(0)&&"rem"!==s)c[u?"borderLeftWidth":"borderTopWidth"]=r+s;else{if(f=t.parentNode||X.body,l=f._gsCache,h=e.ticker.frame,l&&u&&l.time===h)return l.width*r/100;c[u?"width":"height"]=r+s}f.appendChild(B),o=parseFloat(B[u?"offsetWidth":"offsetHeight"]),f.removeChild(B),u&&"%"===s&&a.cacheWidths!==!1&&(l=f._gsCache=f._gsCache||{},l.time=h,l.width=100*(o/r)),0!==o||n||(o=Z(t,i,r,s,!0))}return _?-o:o},$=E.calculateOffset=function(t,e,i){if("absolute"!==Q(t,"position",i))return 0;var r="left"===e?"Left":"Top",s=Q(t,"margin"+r,i);return t["offset"+r]-(Z(t,e,parseFloat(s),s.replace(x,""))||0)},K=function(t,e){var i,r,s,n={};if(e=e||H(t,null))if(i=e.length)for(;--i>-1;)s=e[i],(-1===s.indexOf("-transform")||Se===s)&&(n[s.replace(O,k)]=e.getPropertyValue(s));else for(i in e)(-1===i.indexOf("Transform")||Pe===i)&&(n[i]=e[i]);else if(e=t.currentStyle||t.style)for(i in e)"string"==typeof i&&void 0===n[i]&&(n[i.replace(O,k)]=e[i]);return W||(n.opacity=V(t)),r=ze(t,e,!1),n.rotation=r.rotation,n.skewX=r.skewX,n.scaleX=r.scaleX,n.scaleY=r.scaleY,n.x=r.x,n.y=r.y,Ce&&(n.z=r.z,n.rotationX=r.rotationX,n.rotationY=r.rotationY,n.scaleZ=r.scaleZ),n.filters&&delete n.filters,n},J=function(t,e,i,r,s){var n,a,o,l={},h=t.style;for(a in i)"cssText"!==a&&"length"!==a&&isNaN(a)&&(e[a]!==(n=i[a])||s&&s[a])&&-1===a.indexOf("Origin")&&("number"==typeof n||"string"==typeof n)&&(l[a]="auto"!==n||"left"!==a&&"top"!==a?""!==n&&"auto"!==n&&"none"!==n||"string"!=typeof e[a]||""===e[a].replace(y,"")?n:0:$(t,a),void 0!==h[a]&&(o=new pe(h,a,h[a],o)));if(r)for(a in r)"className"!==a&&(l[a]=r[a]);return{difs:l,firstMPT:o}},te={width:["Left","Right"],height:["Top","Bottom"]},ee=["marginLeft","marginRight","marginTop","marginBottom"],ie=function(t,e,i){var r=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),s=te[e],n=s.length;for(i=i||H(t,null);--n>-1;)r-=parseFloat(Q(t,"padding"+s[n],i,!0))||0,r-=parseFloat(Q(t,"border"+s[n]+"Width",i,!0))||0;return r},re=function(t,e){if("contain"===t||"auto"===t||"auto auto"===t)return t+" ";(null==t||""===t)&&(t="0 0");var i=t.split(" "),r=-1!==t.indexOf("left")?"0%":-1!==t.indexOf("right")?"100%":i[0],s=-1!==t.indexOf("top")?"0%":-1!==t.indexOf("bottom")?"100%":i[1];return null==s?s="center"===r?"50%":"0":"center"===s&&(s="50%"),("center"===r||isNaN(parseFloat(r))&&-1===(r+"").indexOf("="))&&(r="50%"),t=r+" "+s+(i.length>2?" "+i[2]:""),e&&(e.oxp=-1!==r.indexOf("%"),e.oyp=-1!==s.indexOf("%"),e.oxr="="===r.charAt(1),e.oyr="="===s.charAt(1),e.ox=parseFloat(r.replace(y,"")),e.oy=parseFloat(s.replace(y,"")),e.v=t),e||t},se=function(t,e){return"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)},ne=function(t,e){return null==t?e:"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2))+e:parseFloat(t)},ae=function(t,e,i,r){var s,n,a,o,l,h=1e-6;return null==t?o=e:"number"==typeof t?o=t:(s=360,n=t.split("_"),l="="===t.charAt(1),a=(l?parseInt(t.charAt(0)+"1",10)*parseFloat(n[0].substr(2)):parseFloat(n[0]))*(-1===t.indexOf("rad")?1:N)-(l?0:e),n.length&&(r&&(r[i]=e+a),-1!==t.indexOf("short")&&(a%=s,a!==a%(s/2)&&(a=0>a?a+s:a-s)),-1!==t.indexOf("_cw")&&0>a?a=(a+9999999999*s)%s-(0|a/s)*s:-1!==t.indexOf("ccw")&&a>0&&(a=(a-9999999999*s)%s-(0|a/s)*s)),o=e+a),h>o&&o>-h&&(o=0),o},oe={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},le=function(t,e,i){return t=0>t?t+1:t>1?t-1:t,0|255*(1>6*t?e+6*(i-e)*t:.5>t?i:2>3*t?e+6*(i-e)*(2/3-t):e)+.5},he=a.parseColor=function(t,e){var i,r,s,n,a,o,l,h,u,f,c;if(t)if("number"==typeof t)i=[t>>16,255&t>>8,255&t];else{if(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),oe[t])i=oe[t];else if("#"===t.charAt(0))4===t.length&&(r=t.charAt(1),s=t.charAt(2),n=t.charAt(3),t="#"+r+r+s+s+n+n),t=parseInt(t.substr(1),16),i=[t>>16,255&t>>8,255&t];else if("hsl"===t.substr(0,3))if(i=c=t.match(m),e){if(-1!==t.indexOf("="))return t.match(g)}else a=Number(i[0])%360/360,o=Number(i[1])/100,l=Number(i[2])/100,s=.5>=l?l*(o+1):l+o-l*o,r=2*l-s,i.length>3&&(i[3]=Number(t[3])),i[0]=le(a+1/3,r,s),i[1]=le(a,r,s),i[2]=le(a-1/3,r,s);else i=t.match(m)||oe.transparent;i[0]=Number(i[0]),i[1]=Number(i[1]),i[2]=Number(i[2]),i.length>3&&(i[3]=Number(i[3]))}else i=oe.black;return e&&!c&&(r=i[0]/255,s=i[1]/255,n=i[2]/255,h=Math.max(r,s,n),u=Math.min(r,s,n),l=(h+u)/2,h===u?a=o=0:(f=h-u,o=l>.5?f/(2-h-u):f/(h+u),a=h===r?(s-n)/f+(n>s?6:0):h===s?(n-r)/f+2:(r-s)/f+4,a*=60),i[0]=0|a+.5,i[1]=0|100*o+.5,i[2]=0|100*l+.5),i},ue=function(t,e){var i,r,s,n=t.match(fe)||[],a=0,o=n.length?"":t;for(i=0;n.length>i;i++)r=n[i],s=t.substr(a,t.indexOf(r,a)-a),a+=s.length+r.length,r=he(r,e),3===r.length&&r.push(1),o+=s+(e?"hsla("+r[0]+","+r[1]+"%,"+r[2]+"%,"+r[3]:"rgba("+r.join(","))+")";return o},fe="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";for(h in oe)fe+="|"+h+"\\b";fe=RegExp(fe+")","gi"),a.colorStringFilter=function(t){var e,i=t[0]+t[1];fe.lastIndex=0,fe.test(i)&&(e=-1!==i.indexOf("hsl(")||-1!==i.indexOf("hsla("),t[0]=ue(t[0],e),t[1]=ue(t[1],e))},e.defaultStringFilter||(e.defaultStringFilter=a.colorStringFilter);var ce=function(t,e,i,r){if(null==t)return function(t){return t};var s,n=e?(t.match(fe)||[""])[0]:"",a=t.split(n).join("").match(v)||[],o=t.substr(0,t.indexOf(a[0])),l=")"===t.charAt(t.length-1)?")":"",h=-1!==t.indexOf(" ")?" ":",",u=a.length,f=u>0?a[0].replace(m,""):"";return u?s=e?function(t){var e,c,_,p;if("number"==typeof t)t+=f;else if(r&&D.test(t)){for(p=t.replace(D,"|").split("|"),_=0;p.length>_;_++)p[_]=s(p[_]);return p.join(",")}if(e=(t.match(fe)||[n])[0],c=t.split(e).join("").match(v)||[],_=c.length,u>_--)for(;u>++_;)c[_]=i?c[0|(_-1)/2]:a[_];return o+c.join(h)+h+e+l+(-1!==t.indexOf("inset")?" inset":"")}:function(t){var e,n,c;if("number"==typeof t)t+=f;else if(r&&D.test(t)){for(n=t.replace(D,"|").split("|"),c=0;n.length>c;c++)n[c]=s(n[c]);return n.join(",")}if(e=t.match(v)||[],c=e.length,u>c--)for(;u>++c;)e[c]=i?e[0|(c-1)/2]:a[c];return o+e.join(h)+l}:function(t){return t}},_e=function(t){return t=t.split(","),function(e,i,r,s,n,a,o){var l,h=(i+"").split(" ");for(o={},l=0;4>l;l++)o[t[l]]=h[l]=h[l]||h[(l-1)/2>>0];return s.parse(e,o,n,a)}},pe=(E._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,i,r,s,n=this.data,a=n.proxy,o=n.firstMPT,l=1e-6;o;)e=a[o.v],o.r?e=Math.round(e):l>e&&e>-l&&(e=0),o.t[o.p]=e,o=o._next;if(n.autoRotate&&(n.autoRotate.rotation=a.rotation),1===t)for(o=n.firstMPT;o;){if(i=o.t,i.type){if(1===i.type){for(s=i.xs0+i.s+i.xs1,r=1;i.l>r;r++)s+=i["xn"+r]+i["xs"+(r+1)];i.e=s}}else i.e=i.s+i.xs0;o=o._next}},function(t,e,i,r,s){this.t=t,this.p=e,this.v=i,this.r=s,r&&(r._prev=this,this._next=r)}),de=(E._parseToProxy=function(t,e,i,r,s,n){var a,o,l,h,u,f=r,c={},_={},p=i._transform,d=F;for(i._transform=null,F=e,r=u=i.parse(t,e,r,s),F=d,n&&(i._transform=p,f&&(f._prev=null,f._prev&&(f._prev._next=null)));r&&r!==f;){if(1>=r.type&&(o=r.p,_[o]=r.s+r.c,c[o]=r.s,n||(h=new pe(r,"s",o,h,r.r),r.c=0),1===r.type))for(a=r.l;--a>0;)l="xn"+a,o=r.p+"_"+l,_[o]=r.data[l],c[o]=r[l],n||(h=new pe(r,l,o,h,r.rxp[l]));r=r._next}return{proxy:c,end:_,firstMPT:h,pt:u}},E.CSSPropTween=function(t,e,r,s,a,o,l,h,u,f,c){this.t=t,this.p=e,this.s=r,this.c=s,this.n=l||e,t instanceof de||n.push(this.n),this.r=h,this.type=o||0,u&&(this.pr=u,i=!0),this.b=void 0===f?r:f,this.e=void 0===c?r+s:c,a&&(this._next=a,a._prev=this)}),me=function(t,e,i,r,s,n){var a=new de(t,e,i,r-i,s,-1,n);return a.b=i,a.e=a.xs0=r,a},ge=a.parseComplex=function(t,e,i,r,s,n,a,o,l,h){i=i||n||"",a=new de(t,e,0,0,a,h?2:1,null,!1,o,i,r),r+="";var f,c,_,p,d,v,y,x,T,w,b,P,S,O=i.split(", ").join(",").split(" "),C=r.split(", ").join(",").split(" "),k=O.length,R=u!==!1;for((-1!==r.indexOf(",")||-1!==i.indexOf(","))&&(O=O.join(" ").replace(D,", ").split(" "),C=C.join(" ").replace(D,", ").split(" "),k=O.length),k!==C.length&&(O=(n||"").split(" "),k=O.length),a.plugin=l,a.setRatio=h,fe.lastIndex=0,f=0;k>f;f++)if(p=O[f],d=C[f],x=parseFloat(p),x||0===x)a.appendXtra("",x,se(d,x),d.replace(g,""),R&&-1!==d.indexOf("px"),!0);else if(s&&fe.test(p))P=","===d.charAt(d.length-1)?"),":")",S=-1!==d.indexOf("hsl")&&W,p=he(p,S),d=he(d,S),T=p.length+d.length>6,T&&!W&&0===d[3]?(a["xs"+a.l]+=a.l?" transparent":"transparent",a.e=a.e.split(C[f]).join("transparent")):(W||(T=!1),S?a.appendXtra(T?"hsla(":"hsl(",p[0],se(d[0],p[0]),",",!1,!0).appendXtra("",p[1],se(d[1],p[1]),"%,",!1).appendXtra("",p[2],se(d[2],p[2]),T?"%,":"%"+P,!1):a.appendXtra(T?"rgba(":"rgb(",p[0],d[0]-p[0],",",!0,!0).appendXtra("",p[1],d[1]-p[1],",",!0).appendXtra("",p[2],d[2]-p[2],T?",":P,!0),T&&(p=4>p.length?1:p[3],a.appendXtra("",p,(4>d.length?1:d[3])-p,P,!1))),fe.lastIndex=0;else if(v=p.match(m)){if(y=d.match(g),!y||y.length!==v.length)return a;for(_=0,c=0;v.length>c;c++)b=v[c],w=p.indexOf(b,_),a.appendXtra(p.substr(_,w-_),Number(b),se(y[c],b),"",R&&"px"===p.substr(w+b.length,2),0===c),_=w+b.length;a["xs"+a.l]+=p.substr(_)}else a["xs"+a.l]+=a.l?" "+p:p;if(-1!==r.indexOf("=")&&a.data){for(P=a.xs0+a.data.s,f=1;a.l>f;f++)P+=a["xs"+f]+a.data["xn"+f];a.e=P+a["xs"+f]}return a.l||(a.type=-1,a.xs0=a.e),a.xfirst||a},ve=9;for(h=de.prototype,h.l=h.pr=0;--ve>0;)h["xn"+ve]=0,h["xs"+ve]="";h.xs0="",h._next=h._prev=h.xfirst=h.data=h.plugin=h.setRatio=h.rxp=null,h.appendXtra=function(t,e,i,r,s,n){var a=this,o=a.l;return a["xs"+o]+=n&&o?" "+t:t||"",i||0===o||a.plugin?(a.l++,a.type=a.setRatio?2:1,a["xs"+a.l]=r||"",o>0?(a.data["xn"+o]=e+i,a.rxp["xn"+o]=s,a["xn"+o]=e,a.plugin||(a.xfirst=new de(a,"xn"+o,e,i,a.xfirst||a,0,a.n,s,a.pr),a.xfirst.xs0=0),a):(a.data={s:e+i},a.rxp={},a.s=e,a.c=i,a.r=s,a)):(a["xs"+o]+=e+(r||""),a)};var ye=function(t,e){e=e||{},this.p=e.prefix?q(t)||t:t,l[t]=l[this.p]=this,this.format=e.formatter||ce(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},xe=E._registerComplexSpecialProp=function(t,e,i){"object"!=typeof e&&(e={parser:i});var r,s,n=t.split(","),a=e.defaultValue;for(i=i||[a],r=0;n.length>r;r++)e.prefix=0===r&&e.prefix,e.defaultValue=i[r]||a,s=new ye(n[r],e)},Te=function(t){if(!l[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";xe(t,{parser:function(t,i,r,s,n,a,h){var u=o.com.greensock.plugins[e];return u?(u._cssRegister(),l[r].parse(t,i,r,s,n,a,h)):(j("Error: "+e+" js file not loaded."),n)}})}};h=ye.prototype,h.parseComplex=function(t,e,i,r,s,n){var a,o,l,h,u,f,c=this.keyword;if(this.multi&&(D.test(i)||D.test(e)?(o=e.replace(D,"|").split("|"),l=i.replace(D,"|").split("|")):c&&(o=[e],l=[i])),l){for(h=l.length>o.length?l.length:o.length,a=0;h>a;a++)e=o[a]=o[a]||this.dflt,i=l[a]=l[a]||this.dflt,c&&(u=e.indexOf(c),f=i.indexOf(c),u!==f&&(-1===f?o[a]=o[a].split(c).join(""):-1===u&&(o[a]+=" "+c)));e=o.join(", "),i=l.join(", ")}return ge(t,this.p,e,i,this.clrs,this.dflt,r,this.pr,s,n)},h.parse=function(t,e,i,r,n,a){return this.parseComplex(t.style,this.format(Q(t,this.p,s,!1,this.dflt)),this.format(e),n,a)},a.registerSpecialProp=function(t,e,i){xe(t,{parser:function(t,r,s,n,a,o){var l=new de(t,s,0,0,a,2,s,!1,i);return l.plugin=o,l.setRatio=e(t,r,n._tween,s),l},priority:i})},a.useSVGTransformAttr=c||_;var we,be="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Pe=q("transform"),Se=G+"transform",Oe=q("transformOrigin"),Ce=null!==q("perspective"),ke=E.Transform=function(){this.perspective=parseFloat(a.defaultTransformPerspective)||0,this.force3D=a.defaultForce3D!==!1&&Ce?a.defaultForce3D||"auto":!1},Re=window.SVGElement,Ae=function(t,e,i){var r,s=X.createElementNS("http://www.w3.org/2000/svg",t),n=/([a-z])([A-Z])/g;for(r in i)s.setAttributeNS(null,r.replace(n,"$1-$2").toLowerCase(),i[r]);return e.appendChild(s),s},Me=X.documentElement,De=function(){var t,e,i,r=d||/Android/i.test(Y)&&!window.chrome;return X.createElementNS&&!r&&(t=Ae("svg",Me),e=Ae("rect",t,{width:100,height:50,x:100}),i=e.getBoundingClientRect().width,e.style[Oe]="50% 50%",e.style[Pe]="scaleX(0.5)",r=i===e.getBoundingClientRect().width&&!(_&&Ce),Me.removeChild(t)),r}(),Le=function(t,e,i,r,s){var n,o,l,h,u,f,c,_,p,d,m,g,v,y,x=t._gsTransform,T=Xe(t,!0);x&&(v=x.xOrigin,y=x.yOrigin),(!r||2>(n=r.split(" ")).length)&&(c=t.getBBox(),e=re(e).split(" "),n=[(-1!==e[0].indexOf("%")?parseFloat(e[0])/100*c.width:parseFloat(e[0]))+c.x,(-1!==e[1].indexOf("%")?parseFloat(e[1])/100*c.height:parseFloat(e[1]))+c.y]),i.xOrigin=h=parseFloat(n[0]),i.yOrigin=u=parseFloat(n[1]),r&&T!==Fe&&(f=T[0],c=T[1],_=T[2],p=T[3],d=T[4],m=T[5],g=f*p-c*_,o=h*(p/g)+u*(-_/g)+(_*m-p*d)/g,l=h*(-c/g)+u*(f/g)-(f*m-c*d)/g,h=i.xOrigin=n[0]=o,u=i.yOrigin=n[1]=l),x&&(s||s!==!1&&a.defaultSmoothOrigin!==!1?(o=h-v,l=u-y,x.xOffset+=o*T[0]+l*T[2]-o,x.yOffset+=o*T[1]+l*T[3]-l):x.xOffset=x.yOffset=0),t.setAttribute("data-svg-origin",n.join(" "))},Ne=function(t){return!!(Re&&"function"==typeof t.getBBox&&t.getCTM&&(!t.parentNode||t.parentNode.getBBox&&t.parentNode.getCTM))},Fe=[1,0,0,1,0,0],Xe=function(t,e){var i,r,s,n,a,o=t._gsTransform||new ke,l=1e5;if(Pe?r=Q(t,Se,null,!0):t.currentStyle&&(r=t.currentStyle.filter.match(A),r=r&&4===r.length?[r[0].substr(4),Number(r[2].substr(4)),Number(r[1].substr(4)),r[3].substr(4),o.x||0,o.y||0].join(","):""),i=!r||"none"===r||"matrix(1, 0, 0, 1, 0, 0)"===r,(o.svg||t.getBBox&&Ne(t))&&(i&&-1!==(t.style[Pe]+"").indexOf("matrix")&&(r=t.style[Pe],i=0),s=t.getAttribute("transform"),i&&s&&(-1!==s.indexOf("matrix")?(r=s,i=0):-1!==s.indexOf("translate")&&(r="matrix(1,0,0,1,"+s.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",")+")",i=0))),i)return Fe;for(s=(r||"").match(/(?:\-|\b)[\d\-\.e]+\b/gi)||[],ve=s.length;--ve>-1;)n=Number(s[ve]),s[ve]=(a=n-(n|=0))?(0|a*l+(0>a?-.5:.5))/l+n:n;return e&&s.length>6?[s[0],s[1],s[4],s[5],s[12],s[13]]:s},ze=E.getTransform=function(t,i,r,n){if(t._gsTransform&&r&&!n)return t._gsTransform;var o,l,h,u,f,c,_=r?t._gsTransform||new ke:new ke,p=0>_.scaleX,d=2e-5,m=1e5,g=Ce?parseFloat(Q(t,Oe,i,!1,"0 0 0").split(" ")[2])||_.zOrigin||0:0,v=parseFloat(a.defaultTransformPerspective)||0;if(_.svg=!(!t.getBBox||!Ne(t)),_.svg&&(Le(t,Q(t,Oe,s,!1,"50% 50%")+"",_,t.getAttribute("data-svg-origin")),we=a.useSVGTransformAttr||De),o=Xe(t),o!==Fe){if(16===o.length){var y,x,T,w,b,P=o[0],S=o[1],O=o[2],C=o[3],k=o[4],R=o[5],A=o[6],M=o[7],D=o[8],L=o[9],F=o[10],X=o[12],z=o[13],B=o[14],I=o[11],E=Math.atan2(A,F);_.zOrigin&&(B=-_.zOrigin,X=D*B-o[12],z=L*B-o[13],B=F*B+_.zOrigin-o[14]),_.rotationX=E*N,E&&(w=Math.cos(-E),b=Math.sin(-E),y=k*w+D*b,x=R*w+L*b,T=A*w+F*b,D=k*-b+D*w,L=R*-b+L*w,F=A*-b+F*w,I=M*-b+I*w,k=y,R=x,A=T),E=Math.atan2(D,F),_.rotationY=E*N,E&&(w=Math.cos(-E),b=Math.sin(-E),y=P*w-D*b,x=S*w-L*b,T=O*w-F*b,L=S*b+L*w,F=O*b+F*w,I=C*b+I*w,P=y,S=x,O=T),E=Math.atan2(S,P),_.rotation=E*N,E&&(w=Math.cos(-E),b=Math.sin(-E),P=P*w+k*b,x=S*w+R*b,R=S*-b+R*w,A=O*-b+A*w,S=x),_.rotationX&&Math.abs(_.rotationX)+Math.abs(_.rotation)>359.9&&(_.rotationX=_.rotation=0,_.rotationY+=180),_.scaleX=(0|Math.sqrt(P*P+S*S)*m+.5)/m,_.scaleY=(0|Math.sqrt(R*R+L*L)*m+.5)/m,_.scaleZ=(0|Math.sqrt(A*A+F*F)*m+.5)/m,_.skewX=0,_.perspective=I?1/(0>I?-I:I):0,_.x=X,_.y=z,_.z=B,_.svg&&(_.x-=_.xOrigin-(_.xOrigin*P-_.yOrigin*k),_.y-=_.yOrigin-(_.yOrigin*S-_.xOrigin*R))}else if(!(Ce&&!n&&o.length&&_.x===o[4]&&_.y===o[5]&&(_.rotationX||_.rotationY)||void 0!==_.x&&"none"===Q(t,"display",i))){var Y=o.length>=6,W=Y?o[0]:1,V=o[1]||0,j=o[2]||0,G=Y?o[3]:1;_.x=o[4]||0,_.y=o[5]||0,h=Math.sqrt(W*W+V*V),u=Math.sqrt(G*G+j*j),f=W||V?Math.atan2(V,W)*N:_.rotation||0,c=j||G?Math.atan2(j,G)*N+f:_.skewX||0,Math.abs(c)>90&&270>Math.abs(c)&&(p?(h*=-1,c+=0>=f?180:-180,f+=0>=f?180:-180):(u*=-1,c+=0>=c?180:-180)),_.scaleX=h,_.scaleY=u,_.rotation=f,_.skewX=c,Ce&&(_.rotationX=_.rotationY=_.z=0,_.perspective=v,_.scaleZ=1),_.svg&&(_.x-=_.xOrigin-(_.xOrigin*W+_.yOrigin*j),_.y-=_.yOrigin-(_.xOrigin*V+_.yOrigin*G))}_.zOrigin=g;for(l in _)d>_[l]&&_[l]>-d&&(_[l]=0)}return r&&(t._gsTransform=_,_.svg&&(we&&t.style[Pe]?e.delayedCall(.001,function(){Ye(t.style,Pe)}):!we&&t.getAttribute("transform")&&e.delayedCall(.001,function(){t.removeAttribute("transform")}))),_},Be=function(t){var e,i,r=this.data,s=-r.rotation*L,n=s+r.skewX*L,a=1e5,o=(0|Math.cos(s)*r.scaleX*a)/a,l=(0|Math.sin(s)*r.scaleX*a)/a,h=(0|Math.sin(n)*-r.scaleY*a)/a,u=(0|Math.cos(n)*r.scaleY*a)/a,f=this.t.style,c=this.t.currentStyle;if(c){i=l,l=-h,h=-i,e=c.filter,f.filter="";var _,p,m=this.t.offsetWidth,g=this.t.offsetHeight,v="absolute"!==c.position,y="progid:DXImageTransform.Microsoft.Matrix(M11="+o+", M12="+l+", M21="+h+", M22="+u,w=r.x+m*r.xPercent/100,b=r.y+g*r.yPercent/100;if(null!=r.ox&&(_=(r.oxp?.01*m*r.ox:r.ox)-m/2,p=(r.oyp?.01*g*r.oy:r.oy)-g/2,w+=_-(_*o+p*l),b+=p-(_*h+p*u)),v?(_=m/2,p=g/2,y+=", Dx="+(_-(_*o+p*l)+w)+", Dy="+(p-(_*h+p*u)+b)+")"):y+=", sizingMethod='auto expand')",f.filter=-1!==e.indexOf("DXImageTransform.Microsoft.Matrix(")?e.replace(M,y):y+" "+e,(0===t||1===t)&&1===o&&0===l&&0===h&&1===u&&(v&&-1===y.indexOf("Dx=0, Dy=0")||T.test(e)&&100!==parseFloat(RegExp.$1)||-1===e.indexOf("gradient("&&e.indexOf("Alpha"))&&f.removeAttribute("filter")),!v){var P,S,O,C=8>d?1:-1;for(_=r.ieOffsetX||0,p=r.ieOffsetY||0,r.ieOffsetX=Math.round((m-((0>o?-o:o)*m+(0>l?-l:l)*g))/2+w),r.ieOffsetY=Math.round((g-((0>u?-u:u)*g+(0>h?-h:h)*m))/2+b),ve=0;4>ve;ve++)S=ee[ve],P=c[S],i=-1!==P.indexOf("px")?parseFloat(P):Z(this.t,S,parseFloat(P),P.replace(x,""))||0,O=i!==r[S]?2>ve?-r.ieOffsetX:-r.ieOffsetY:2>ve?_-r.ieOffsetX:p-r.ieOffsetY,f[S]=(r[S]=Math.round(i-O*(0===ve||2===ve?1:C)))+"px"}}},Ie=E.set3DTransformRatio=E.setTransformRatio=function(t){var e,i,r,s,n,a,o,l,h,u,f,c,p,d,m,g,v,y,x,T,w,b,P,S=this.data,O=this.t.style,C=S.rotation,k=S.rotationX,R=S.rotationY,A=S.scaleX,M=S.scaleY,D=S.scaleZ,N=S.x,F=S.y,X=S.z,z=S.svg,B=S.perspective,I=S.force3D;if(!(((1!==t&&0!==t||"auto"!==I||this.tween._totalTime!==this.tween._totalDuration&&this.tween._totalTime)&&I||X||B||R||k)&&(!we||!z)&&Ce))return C||S.skewX||z?(C*=L,b=S.skewX*L,P=1e5,e=Math.cos(C)*A,s=Math.sin(C)*A,i=Math.sin(C-b)*-M,n=Math.cos(C-b)*M,b&&"simple"===S.skewType&&(v=Math.tan(b),v=Math.sqrt(1+v*v),i*=v,n*=v,S.skewY&&(e*=v,s*=v)),z&&(N+=S.xOrigin-(S.xOrigin*e+S.yOrigin*i)+S.xOffset,F+=S.yOrigin-(S.xOrigin*s+S.yOrigin*n)+S.yOffset,we&&(S.xPercent||S.yPercent)&&(d=this.t.getBBox(),N+=.01*S.xPercent*d.width,F+=.01*S.yPercent*d.height),d=1e-6,d>N&&N>-d&&(N=0),d>F&&F>-d&&(F=0)),x=(0|e*P)/P+","+(0|s*P)/P+","+(0|i*P)/P+","+(0|n*P)/P+","+N+","+F+")",z&&we?this.t.setAttribute("transform","matrix("+x):O[Pe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix(":"matrix(")+x):O[Pe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix(":"matrix(")+A+",0,0,"+M+","+N+","+F+")",void 0;if(_&&(d=1e-4,d>A&&A>-d&&(A=D=2e-5),d>M&&M>-d&&(M=D=2e-5),!B||S.z||S.rotationX||S.rotationY||(B=0)),C||S.skewX)C*=L,m=e=Math.cos(C),g=s=Math.sin(C),S.skewX&&(C-=S.skewX*L,m=Math.cos(C),g=Math.sin(C),"simple"===S.skewType&&(v=Math.tan(S.skewX*L),v=Math.sqrt(1+v*v),m*=v,g*=v,S.skewY&&(e*=v,s*=v))),i=-g,n=m;else{if(!(R||k||1!==D||B||z))return O[Pe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) translate3d(":"translate3d(")+N+"px,"+F+"px,"+X+"px)"+(1!==A||1!==M?" scale("+A+","+M+")":""),void 0;e=n=1,i=s=0}h=1,r=a=o=l=u=f=0,c=B?-1/B:0,p=S.zOrigin,d=1e-6,T=",",w="0",C=R*L,C&&(m=Math.cos(C),g=Math.sin(C),o=-g,u=c*-g,r=e*g,a=s*g,h=m,c*=m,e*=m,s*=m),C=k*L,C&&(m=Math.cos(C),g=Math.sin(C),v=i*m+r*g,y=n*m+a*g,l=h*g,f=c*g,r=i*-g+r*m,a=n*-g+a*m,h*=m,c*=m,i=v,n=y),1!==D&&(r*=D,a*=D,h*=D,c*=D),1!==M&&(i*=M,n*=M,l*=M,f*=M),1!==A&&(e*=A,s*=A,o*=A,u*=A),(p||z)&&(p&&(N+=r*-p,F+=a*-p,X+=h*-p+p),z&&(N+=S.xOrigin-(S.xOrigin*e+S.yOrigin*i)+S.xOffset,F+=S.yOrigin-(S.xOrigin*s+S.yOrigin*n)+S.yOffset),d>N&&N>-d&&(N=w),d>F&&F>-d&&(F=w),d>X&&X>-d&&(X=0)),x=S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix3d(":"matrix3d(",x+=(d>e&&e>-d?w:e)+T+(d>s&&s>-d?w:s)+T+(d>o&&o>-d?w:o),x+=T+(d>u&&u>-d?w:u)+T+(d>i&&i>-d?w:i)+T+(d>n&&n>-d?w:n),k||R?(x+=T+(d>l&&l>-d?w:l)+T+(d>f&&f>-d?w:f)+T+(d>r&&r>-d?w:r),x+=T+(d>a&&a>-d?w:a)+T+(d>h&&h>-d?w:h)+T+(d>c&&c>-d?w:c)+T):x+=",0,0,0,0,1,0,",x+=N+T+F+T+X+T+(B?1+-X/B:1)+")",O[Pe]=x};h=ke.prototype,h.x=h.y=h.z=h.skewX=h.skewY=h.rotation=h.rotationX=h.rotationY=h.zOrigin=h.xPercent=h.yPercent=h.xOffset=h.yOffset=0,h.scaleX=h.scaleY=h.scaleZ=1,xe("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{parser:function(t,e,i,r,n,o,l){if(r._lastParsedTransform===l)return n;r._lastParsedTransform=l;var h,u,f,c,_,p,d,m,g,v,y=t._gsTransform,x=t.style,T=1e-6,w=be.length,b=l,P={},S="transformOrigin";if(l.display?(c=Q(t,"display"),x.display="block",h=ze(t,s,!0,l.parseTransform),x.display=c):h=ze(t,s,!0,l.parseTransform),r._transform=h,"string"==typeof b.transform&&Pe)c=B.style,c[Pe]=b.transform,c.display="block",c.position="absolute",X.body.appendChild(B),u=ze(B,null,!1),X.body.removeChild(B),u.perspective||(u.perspective=h.perspective),null!=b.xPercent&&(u.xPercent=ne(b.xPercent,h.xPercent)),null!=b.yPercent&&(u.yPercent=ne(b.yPercent,h.yPercent));else if("object"==typeof b){if(u={scaleX:ne(null!=b.scaleX?b.scaleX:b.scale,h.scaleX),scaleY:ne(null!=b.scaleY?b.scaleY:b.scale,h.scaleY),scaleZ:ne(b.scaleZ,h.scaleZ),x:ne(b.x,h.x),y:ne(b.y,h.y),z:ne(b.z,h.z),xPercent:ne(b.xPercent,h.xPercent),yPercent:ne(b.yPercent,h.yPercent),perspective:ne(b.transformPerspective,h.perspective)},m=b.directionalRotation,null!=m)if("object"==typeof m)for(c in m)b[c]=m[c];else b.rotation=m;"string"==typeof b.x&&-1!==b.x.indexOf("%")&&(u.x=0,u.xPercent=ne(b.x,h.xPercent)),"string"==typeof b.y&&-1!==b.y.indexOf("%")&&(u.y=0,u.yPercent=ne(b.y,h.yPercent)),u.rotation=ae("rotation"in b?b.rotation:"shortRotation"in b?b.shortRotation+"_short":"rotationZ"in b?b.rotationZ:h.rotation,h.rotation,"rotation",P),Ce&&(u.rotationX=ae("rotationX"in b?b.rotationX:"shortRotationX"in b?b.shortRotationX+"_short":h.rotationX||0,h.rotationX,"rotationX",P),u.rotationY=ae("rotationY"in b?b.rotationY:"shortRotationY"in b?b.shortRotationY+"_short":h.rotationY||0,h.rotationY,"rotationY",P)),u.skewX=null==b.skewX?h.skewX:ae(b.skewX,h.skewX),u.skewY=null==b.skewY?h.skewY:ae(b.skewY,h.skewY),(f=u.skewY-h.skewY)&&(u.skewX+=f,u.rotation+=f)}for(Ce&&null!=b.force3D&&(h.force3D=b.force3D,d=!0),h.skewType=b.skewType||h.skewType||a.defaultSkewType,p=h.force3D||h.z||h.rotationX||h.rotationY||u.z||u.rotationX||u.rotationY||u.perspective,p||null==b.scale||(u.scaleZ=1);--w>-1;)i=be[w],_=u[i]-h[i],(_>T||-T>_||null!=b[i]||null!=F[i])&&(d=!0,n=new de(h,i,h[i],_,n),i in P&&(n.e=P[i]),n.xs0=0,n.plugin=o,r._overwriteProps.push(n.n));return _=b.transformOrigin,h.svg&&(_||b.svgOrigin)&&(g=h.xOffset,v=h.yOffset,Le(t,re(_),u,b.svgOrigin,b.smoothOrigin),n=me(h,"xOrigin",(y?h:u).xOrigin,u.xOrigin,n,S),n=me(h,"yOrigin",(y?h:u).yOrigin,u.yOrigin,n,S),(g!==h.xOffset||v!==h.yOffset)&&(n=me(h,"xOffset",y?g:h.xOffset,h.xOffset,n,S),n=me(h,"yOffset",y?v:h.yOffset,h.yOffset,n,S)),_=we?null:"0px 0px"),(_||Ce&&p&&h.zOrigin)&&(Pe?(d=!0,i=Oe,_=(_||Q(t,i,s,!1,"50% 50%"))+"",n=new de(x,i,0,0,n,-1,S),n.b=x[i],n.plugin=o,Ce?(c=h.zOrigin,_=_.split(" "),h.zOrigin=(_.length>2&&(0===c||"0px"!==_[2])?parseFloat(_[2]):c)||0,n.xs0=n.e=_[0]+" "+(_[1]||"50%")+" 0px",n=new de(h,"zOrigin",0,0,n,-1,n.n),n.b=c,n.xs0=n.e=h.zOrigin):n.xs0=n.e=_):re(_+"",h)),d&&(r._transformType=h.svg&&we||!p&&3!==this._transformType?2:3),n},prefix:!0}),xe("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),xe("borderRadius",{defaultValue:"0px",parser:function(t,e,i,n,a){e=this.format(e);var o,l,h,u,f,c,_,p,d,m,g,v,y,x,T,w,b=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],P=t.style;for(d=parseFloat(t.offsetWidth),m=parseFloat(t.offsetHeight),o=e.split(" "),l=0;b.length>l;l++)this.p.indexOf("border")&&(b[l]=q(b[l])),f=u=Q(t,b[l],s,!1,"0px"),-1!==f.indexOf(" ")&&(u=f.split(" "),f=u[0],u=u[1]),c=h=o[l],_=parseFloat(f),v=f.substr((_+"").length),y="="===c.charAt(1),y?(p=parseInt(c.charAt(0)+"1",10),c=c.substr(2),p*=parseFloat(c),g=c.substr((p+"").length-(0>p?1:0))||""):(p=parseFloat(c),g=c.substr((p+"").length)),""===g&&(g=r[i]||v),g!==v&&(x=Z(t,"borderLeft",_,v),T=Z(t,"borderTop",_,v),"%"===g?(f=100*(x/d)+"%",u=100*(T/m)+"%"):"em"===g?(w=Z(t,"borderLeft",1,"em"),f=x/w+"em",u=T/w+"em"):(f=x+"px",u=T+"px"),y&&(c=parseFloat(f)+p+g,h=parseFloat(u)+p+g)),a=ge(P,b[l],f+" "+u,c+" "+h,!1,"0px",a);return a},prefix:!0,formatter:ce("0px 0px 0px 0px",!1,!0)}),xe("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,i,r,n,a){var o,l,h,u,f,c,_="background-position",p=s||H(t,null),m=this.format((p?d?p.getPropertyValue(_+"-x")+" "+p.getPropertyValue(_+"-y"):p.getPropertyValue(_):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),g=this.format(e);if(-1!==m.indexOf("%")!=(-1!==g.indexOf("%"))&&(c=Q(t,"backgroundImage").replace(C,""),c&&"none"!==c)){for(o=m.split(" "),l=g.split(" "),I.setAttribute("src",c),h=2;--h>-1;)m=o[h],u=-1!==m.indexOf("%"),u!==(-1!==l[h].indexOf("%"))&&(f=0===h?t.offsetWidth-I.width:t.offsetHeight-I.height,o[h]=u?parseFloat(m)/100*f+"px":100*(parseFloat(m)/f)+"%");m=o.join(" ")}return this.parseComplex(t.style,m,g,n,a)},formatter:re}),xe("backgroundSize",{defaultValue:"0 0",formatter:re}),xe("perspective",{defaultValue:"0px",prefix:!0}),xe("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),xe("transformStyle",{prefix:!0}),xe("backfaceVisibility",{prefix:!0}),xe("userSelect",{prefix:!0}),xe("margin",{parser:_e("marginTop,marginRight,marginBottom,marginLeft")}),xe("padding",{parser:_e("paddingTop,paddingRight,paddingBottom,paddingLeft")}),xe("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,i,r,n,a){var o,l,h;return 9>d?(l=t.currentStyle,h=8>d?" ":",",o="rect("+l.clipTop+h+l.clipRight+h+l.clipBottom+h+l.clipLeft+")",e=this.format(e).split(",").join(h)):(o=this.format(Q(t,this.p,s,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,o,e,n,a)}}),xe("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),xe("autoRound,strictUnits",{parser:function(t,e,i,r,s){return s}}),xe("border",{defaultValue:"0px solid #000",parser:function(t,e,i,r,n,a){return this.parseComplex(t.style,this.format(Q(t,"borderTopWidth",s,!1,"0px")+" "+Q(t,"borderTopStyle",s,!1,"solid")+" "+Q(t,"borderTopColor",s,!1,"#000")),this.format(e),n,a)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(fe)||["#000"])[0]}}),xe("borderWidth",{parser:_e("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),xe("float,cssFloat,styleFloat",{parser:function(t,e,i,r,s){var n=t.style,a="cssFloat"in n?"cssFloat":"styleFloat";return new de(n,a,0,0,s,-1,i,!1,0,n[a],e)}});var Ee=function(t){var e,i=this.t,r=i.filter||Q(this.data,"filter")||"",s=0|this.s+this.c*t;100===s&&(-1===r.indexOf("atrix(")&&-1===r.indexOf("radient(")&&-1===r.indexOf("oader(")?(i.removeAttribute("filter"),e=!Q(this.data,"filter")):(i.filter=r.replace(b,""),e=!0)),e||(this.xn1&&(i.filter=r=r||"alpha(opacity="+s+")"),-1===r.indexOf("pacity")?0===s&&this.xn1||(i.filter=r+" alpha(opacity="+s+")"):i.filter=r.replace(T,"opacity="+s))};xe("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,i,r,n,a){var o=parseFloat(Q(t,"opacity",s,!1,"1")),l=t.style,h="autoAlpha"===i;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+o),h&&1===o&&"hidden"===Q(t,"visibility",s)&&0!==e&&(o=0),W?n=new de(l,"opacity",o,e-o,n):(n=new de(l,"opacity",100*o,100*(e-o),n),n.xn1=h?1:0,l.zoom=1,n.type=2,n.b="alpha(opacity="+n.s+")",n.e="alpha(opacity="+(n.s+n.c)+")",n.data=t,n.plugin=a,n.setRatio=Ee),h&&(n=new de(l,"visibility",0,0,n,-1,null,!1,0,0!==o?"inherit":"hidden",0===e?"hidden":"inherit"),n.xs0="inherit",r._overwriteProps.push(n.n),r._overwriteProps.push(i)),n}});var Ye=function(t,e){e&&(t.removeProperty?(("ms"===e.substr(0,2)||"webkit"===e.substr(0,6))&&(e="-"+e),t.removeProperty(e.replace(S,"-$1").toLowerCase())):t.removeAttribute(e))},We=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,i=this.t.style;e;)e.v?i[e.p]=e.v:Ye(i,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};xe("className",{parser:function(t,e,r,n,a,o,l){var h,u,f,c,_,p=t.getAttribute("class")||"",d=t.style.cssText;if(a=n._classNamePT=new de(t,r,0,0,a,2),a.setRatio=We,a.pr=-11,i=!0,a.b=p,u=K(t,s),f=t._gsClassPT){for(c={},_=f.data;_;)c[_.p]=1,_=_._next; +f.setRatio(1)}return t._gsClassPT=a,a.e="="!==e.charAt(1)?e:p.replace(RegExp("\\s*\\b"+e.substr(2)+"\\b"),"")+("+"===e.charAt(0)?" "+e.substr(2):""),t.setAttribute("class",a.e),h=J(t,u,K(t),l,c),t.setAttribute("class",p),a.data=h.firstMPT,t.style.cssText=d,a=a.xfirst=n.parse(t,h.difs,a,o)}});var Ve=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,i,r,s,n,a=this.t.style,o=l.transform.parse;if("all"===this.e)a.cssText="",s=!0;else for(e=this.e.split(" ").join("").split(","),r=e.length;--r>-1;)i=e[r],l[i]&&(l[i].parse===o?s=!0:i="transformOrigin"===i?Oe:l[i].p),Ye(a,i);s&&(Ye(a,Pe),n=this.t._gsTransform,n&&(n.svg&&this.t.removeAttribute("data-svg-origin"),delete this.t._gsTransform))}};for(xe("clearProps",{parser:function(t,e,r,s,n){return n=new de(t,r,0,0,n,2),n.setRatio=Ve,n.e=e,n.pr=-10,n.data=s._tween,i=!0,n}}),h="bezier,throwProps,physicsProps,physics2D".split(","),ve=h.length;ve--;)Te(h[ve]);h=a.prototype,h._firstPT=h._lastParsedTransform=h._transform=null,h._onInitTween=function(t,e,o){if(!t.nodeType)return!1;this._target=t,this._tween=o,this._vars=e,u=e.autoRound,i=!1,r=e.suffixMap||a.suffixMap,s=H(t,""),n=this._overwriteProps;var h,_,d,m,g,v,y,x,T,b=t.style;if(f&&""===b.zIndex&&(h=Q(t,"zIndex",s),("auto"===h||""===h)&&this._addLazySet(b,"zIndex",0)),"string"==typeof e&&(m=b.cssText,h=K(t,s),b.cssText=m+";"+e,h=J(t,h,K(t)).difs,!W&&w.test(e)&&(h.opacity=parseFloat(RegExp.$1)),e=h,b.cssText=m),this._firstPT=_=e.className?l.className.parse(t,e.className,"className",this,null,null,e):this.parse(t,e,null),this._transformType){for(T=3===this._transformType,Pe?c&&(f=!0,""===b.zIndex&&(y=Q(t,"zIndex",s),("auto"===y||""===y)&&this._addLazySet(b,"zIndex",0)),p&&this._addLazySet(b,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(T?"visible":"hidden"))):b.zoom=1,d=_;d&&d._next;)d=d._next;x=new de(t,"transform",0,0,null,2),this._linkCSSP(x,null,d),x.setRatio=Pe?Ie:Be,x.data=this._transform||ze(t,s,!0),x.tween=o,x.pr=-1,n.pop()}if(i){for(;_;){for(v=_._next,d=m;d&&d.pr>_.pr;)d=d._next;(_._prev=d?d._prev:g)?_._prev._next=_:m=_,(_._next=d)?d._prev=_:g=_,_=v}this._firstPT=m}return!0},h.parse=function(t,e,i,n){var a,o,h,f,c,_,p,d,m,g,v=t.style;for(a in e)_=e[a],o=l[a],o?i=o.parse(t,_,a,this,i,n,e):(c=Q(t,a,s)+"",m="string"==typeof _,"color"===a||"fill"===a||"stroke"===a||-1!==a.indexOf("Color")||m&&P.test(_)?(m||(_=he(_),_=(_.length>3?"rgba(":"rgb(")+_.join(",")+")"),i=ge(v,a,c,_,!0,"transparent",i,0,n)):!m||-1===_.indexOf(" ")&&-1===_.indexOf(",")?(h=parseFloat(c),p=h||0===h?c.substr((h+"").length):"",(""===c||"auto"===c)&&("width"===a||"height"===a?(h=ie(t,a,s),p="px"):"left"===a||"top"===a?(h=$(t,a,s),p="px"):(h="opacity"!==a?0:1,p="")),g=m&&"="===_.charAt(1),g?(f=parseInt(_.charAt(0)+"1",10),_=_.substr(2),f*=parseFloat(_),d=_.replace(x,"")):(f=parseFloat(_),d=m?_.replace(x,""):""),""===d&&(d=a in r?r[a]:p),_=f||0===f?(g?f+h:f)+d:e[a],p!==d&&""!==d&&(f||0===f)&&h&&(h=Z(t,a,h,p),"%"===d?(h/=Z(t,a,100,"%")/100,e.strictUnits!==!0&&(c=h+"%")):"em"===d||"rem"===d?h/=Z(t,a,1,d):"px"!==d&&(f=Z(t,a,f,d),d="px"),g&&(f||0===f)&&(_=f+h+d)),g&&(f+=h),!h&&0!==h||!f&&0!==f?void 0!==v[a]&&(_||"NaN"!=_+""&&null!=_)?(i=new de(v,a,f||h||0,0,i,-1,a,!1,0,c,_),i.xs0="none"!==_||"display"!==a&&-1===a.indexOf("Style")?_:c):j("invalid "+a+" tween value: "+e[a]):(i=new de(v,a,h,f-h,i,0,a,u!==!1&&("px"===d||"zIndex"===a),0,c,_),i.xs0=d)):i=ge(v,a,c,_,!0,null,i,0,n)),n&&i&&!i.plugin&&(i.plugin=n);return i},h.setRatio=function(t){var e,i,r,s=this._firstPT,n=1e-6;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;s;){if(e=s.c*t+s.s,s.r?e=Math.round(e):n>e&&e>-n&&(e=0),s.type)if(1===s.type)if(r=s.l,2===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2;else if(3===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2+s.xn2+s.xs3;else if(4===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2+s.xn2+s.xs3+s.xn3+s.xs4;else if(5===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2+s.xn2+s.xs3+s.xn3+s.xs4+s.xn4+s.xs5;else{for(i=s.xs0+e+s.xs1,r=1;s.l>r;r++)i+=s["xn"+r]+s["xs"+(r+1)];s.t[s.p]=i}else-1===s.type?s.t[s.p]=s.xs0:s.setRatio&&s.setRatio(t);else s.t[s.p]=e+s.xs0;s=s._next}else for(;s;)2!==s.type?s.t[s.p]=s.b:s.setRatio(t),s=s._next;else for(;s;){if(2!==s.type)if(s.r&&-1!==s.type)if(e=Math.round(s.s+s.c),s.type){if(1===s.type){for(r=s.l,i=s.xs0+e+s.xs1,r=1;s.l>r;r++)i+=s["xn"+r]+s["xs"+(r+1)];s.t[s.p]=i}}else s.t[s.p]=e+s.xs0;else s.t[s.p]=s.e;else s.setRatio(t);s=s._next}},h._enableTransforms=function(t){this._transform=this._transform||ze(this._target,s,!0),this._transformType=this._transform.svg&&we||!t&&3!==this._transformType?2:3};var je=function(){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};h._addLazySet=function(t,e,i){var r=this._firstPT=new de(t,e,0,0,this._firstPT,2);r.e=i,r.setRatio=je,r.data=this},h._linkCSSP=function(t,e,i,r){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,r=!0),i?i._next=t:r||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=i),t},h._kill=function(e){var i,r,s,n=e;if(e.autoAlpha||e.alpha){n={};for(r in e)n[r]=e[r];n.opacity=1,n.autoAlpha&&(n.visibility=1)}return e.className&&(i=this._classNamePT)&&(s=i.xfirst,s&&s._prev?this._linkCSSP(s._prev,i._next,s._prev._prev):s===this._firstPT&&(this._firstPT=i._next),i._next&&this._linkCSSP(i._next,i._next._next,s._prev),this._classNamePT=null),t.prototype._kill.call(this,n)};var Ge=function(t,e,i){var r,s,n,a;if(t.slice)for(s=t.length;--s>-1;)Ge(t[s],e,i);else for(r=t.childNodes,s=r.length;--s>-1;)n=r[s],a=n.type,n.style&&(e.push(K(n)),i&&i.push(n)),1!==a&&9!==a&&11!==a||!n.childNodes.length||Ge(n,e,i)};return a.cascadeTo=function(t,i,r){var s,n,a,o,l=e.to(t,i,r),h=[l],u=[],f=[],c=[],_=e._internals.reservedProps;for(t=l._targets||l.target,Ge(t,u,c),l.render(i,!0,!0),Ge(t,f),l.render(0,!0,!0),l._enabled(!0),s=c.length;--s>-1;)if(n=J(c[s],u[s],f[s]),n.firstMPT){n=n.difs;for(a in r)_[a]&&(n[a]=r[a]);o={};for(a in n)o[a]=u[s][a];h.push(e.fromTo(c[s],i,o,n))}return h},t.activate([a]),a},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(t){"use strict";var e=function(){return(_gsScope.GreenSockGlobals||_gsScope)[t]};"function"==typeof define&&define.amd?define(["TweenLite"],e):"undefined"!=typeof module&&module.exports&&(require("../TweenLite.js"),module.exports=e())}("CSSPlugin"); + + +/*! + * VERSION: beta 0.3.4 + * DATE: 2015-08-15 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * SplitText is a Club GreenSock membership benefit; You must have a valid membership to use + * this code without violating the terms of use. Visit http://www.greensock.com/club/ to sign up or get more details. + * This work is subject to the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(function(t){"use strict";var e=t.GreenSockGlobals||t,i=function(t){var i,s=t.split("."),r=e;for(i=0;s.length>i;i++)r[s[i]]=r=r[s[i]]||{};return r},s=i("com.greensock.utils"),r=function(t){var e=t.nodeType,i="";if(1===e||9===e||11===e){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)i+=r(t)}else if(3===e||4===e)return t.nodeValue;return i},n=document,a=n.defaultView?n.defaultView.getComputedStyle:function(){},o=/([A-Z])/g,l=function(t,e,i,s){var r;return(i=i||a(t,null))?(t=i.getPropertyValue(e.replace(o,"-$1").toLowerCase()),r=t||i.length?t:i[e]):t.currentStyle&&(i=t.currentStyle,r=i[e]),s?r:parseInt(r,10)||0},h=function(t){return t.length&&t[0]&&(t[0].nodeType&&t[0].style&&!t.nodeType||t[0].length&&t[0][0])?!0:!1},_=function(t){var e,i,s,r=[],n=t.length;for(e=0;n>e;e++)if(i=t[e],h(i))for(s=i.length,s=0;i.length>s;s++)r.push(i[s]);else r.push(i);return r},u=")eefec303079ad17405c",c=/(?:
||
)/gi,f=n.all&&!n.addEventListener,p="
":">")}},d=s.SplitText=e.SplitText=function(t,e){if("string"==typeof t&&(t=d.selector(t)),!t)throw"cannot split a null element.";this.elements=h(t)?_(t):[t],this.chars=[],this.words=[],this.lines=[],this._originals=[],this.vars=e||{},this.split(e)},g=function(t,e,i){var s=t.nodeType;if(1===s||9===s||11===s)for(t=t.firstChild;t;t=t.nextSibling)g(t,e,i);else(3===s||4===s)&&(t.nodeValue=t.nodeValue.split(e).join(i))},v=function(t,e){for(var i=e.length;--i>-1;)t.push(e[i])},y=function(t,e,i,s,o){c.test(t.innerHTML)&&(t.innerHTML=t.innerHTML.replace(c,u));var h,_,f,p,d,y,T,w,b,x,P,S,k,C,R=r(t),O=e.type||e.split||"chars,words,lines",A=-1!==O.indexOf("lines")?[]:null,D=-1!==O.indexOf("words"),M=-1!==O.indexOf("chars"),L="absolute"===e.position||e.absolute===!0,F=L?"­ ":" ",z=-999,I=a(t),E=l(t,"paddingLeft",I),N=l(t,"borderBottomWidth",I)+l(t,"borderTopWidth",I),X=l(t,"borderLeftWidth",I)+l(t,"borderRightWidth",I),B=l(t,"paddingTop",I)+l(t,"paddingBottom",I),j=l(t,"paddingLeft",I)+l(t,"paddingRight",I),U=l(t,"textAlign",I,!0),Y=t.clientHeight,q=t.clientWidth,V="
",G=m(e.wordsClass),Q=m(e.charsClass),W=-1!==(e.linesClass||"").indexOf("++"),Z=e.linesClass,H=-1!==R.indexOf("<"),$=!0,K=[],J=[],te=[];for(W&&(Z=Z.split("++").join("")),H&&(R=R.split("<").join("{{LT}}")),h=R.length,p=G(),d=0;h>d;d++)if(T=R.charAt(d),")"===T&&R.substr(d,20)===u)p+=($?V:"")+"
",$=!1,d!==h-20&&R.substr(d+20,20)!==u&&(p+=" "+G(),$=!0),d+=19;else if(" "===T&&" "!==R.charAt(d-1)&&d!==h-1&&R.substr(d-20,20)!==u){for(p+=$?V:"",$=!1;" "===R.charAt(d+1);)p+=F,d++;(")"!==R.charAt(d+1)||R.substr(d+1,20)!==u)&&(p+=F+G(),$=!0)}else"{"===T&&"{{LT}}"===R.substr(d,6)?(p+=M?Q()+"{{LT}}"+"
":"{{LT}}",d+=5):p+=M&&" "!==T?Q()+T+"":T;for(t.innerHTML=p+($?V:""),H&&g(t,"{{LT}}","<"),y=t.getElementsByTagName("*"),h=y.length,w=[],d=0;h>d;d++)w[d]=y[d];if(A||L)for(d=0;h>d;d++)b=w[d],f=b.parentNode===t,(f||L||M&&!D)&&(x=b.offsetTop,A&&f&&x!==z&&"BR"!==b.nodeName&&(_=[],A.push(_),z=x),L&&(b._x=b.offsetLeft,b._y=x,b._w=b.offsetWidth,b._h=b.offsetHeight),A&&(D!==f&&M||(_.push(b),b._x-=E),f&&d&&(w[d-1]._wordEnd=!0),"BR"===b.nodeName&&b.nextSibling&&"BR"===b.nextSibling.nodeName&&A.push([])));for(d=0;h>d;d++)b=w[d],f=b.parentNode===t,"BR"!==b.nodeName?(L&&(S=b.style,D||f||(b._x+=b.parentNode._x,b._y+=b.parentNode._y),S.left=b._x+"px",S.top=b._y+"px",S.position="absolute",S.display="block",S.width=b._w+1+"px",S.height=b._h+"px"),D?f&&""!==b.innerHTML?J.push(b):M&&K.push(b):f?(t.removeChild(b),w.splice(d--,1),h--):!f&&M&&(x=!A&&!L&&b.nextSibling,t.appendChild(b),x||t.appendChild(n.createTextNode(" ")),K.push(b))):A||L?(t.removeChild(b),w.splice(d--,1),h--):D||t.appendChild(b);if(A){for(L&&(P=n.createElement("div"),t.appendChild(P),k=P.offsetWidth+"px",x=P.offsetParent===t?0:t.offsetLeft,t.removeChild(P)),S=t.style.cssText,t.style.cssText="display:none;";t.firstChild;)t.removeChild(t.firstChild);for(C=!L||!D&&!M,d=0;A.length>d;d++){for(_=A[d],P=n.createElement("div"),P.style.cssText="display:block;text-align:"+U+";position:"+(L?"absolute;":"relative;"),Z&&(P.className=Z+(W?d+1:"")),te.push(P),h=_.length,y=0;h>y;y++)"BR"!==_[y].nodeName&&(b=_[y],P.appendChild(b),C&&(b._wordEnd||D)&&P.appendChild(n.createTextNode(" ")),L&&(0===y&&(P.style.top=b._y+"px",P.style.left=E+x+"px"),b.style.top="0px",x&&(b.style.left=b._x-x+"px")));0===h&&(P.innerHTML=" "),D||M||(P.innerHTML=r(P).split(String.fromCharCode(160)).join(" ")),L&&(P.style.width=k,P.style.height=b._h+"px"),t.appendChild(P)}t.style.cssText=S}L&&(Y>t.clientHeight&&(t.style.height=Y-B+"px",Y>t.clientHeight&&(t.style.height=Y+N+"px")),q>t.clientWidth&&(t.style.width=q-j+"px",q>t.clientWidth&&(t.style.width=q+X+"px"))),v(i,K),v(s,J),v(o,te)},T=d.prototype;T.split=function(t){this.isSplit&&this.revert(),this.vars=t||this.vars,this._originals.length=this.chars.length=this.words.length=this.lines.length=0;for(var e=this.elements.length;--e>-1;)this._originals[e]=this.elements[e].innerHTML,y(this.elements[e],this.vars,this.chars,this.words,this.lines);return this.chars.reverse(),this.words.reverse(),this.lines.reverse(),this.isSplit=!0,this},T.revert=function(){if(!this._originals)throw"revert() call wasn't scoped properly.";for(var t=this._originals.length;--t>-1;)this.elements[t].innerHTML=this._originals[t];return this.chars=[],this.words=[],this.lines=[],this.isSplit=!1,this},d.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(d.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)},d.version="0.3.4"})(_gsScope),function(t){"use strict";var e=function(){return(_gsScope.GreenSockGlobals||_gsScope)[t]};"function"==typeof define&&define.amd?define(["TweenLite"],e):"undefined"!=typeof module&&module.exports&&(module.exports=e())}("SplitText"); + + +try{ + window.GreenSockGlobals = null; + window._gsQueue = null; + window._gsDefine = null; + + delete(window.GreenSockGlobals); + delete(window._gsQueue); + delete(window._gsDefine); + } catch(e) {} + +try{ + window.GreenSockGlobals = oldgs; + window._gsQueue = oldgs_queue; + } catch(e) {} + +if (window.tplogs==true) + try { + console.groupEnd(); + } catch(e) {} + +(function(e,t){ + e.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]};e.expr[":"].uncached=function(t){var n=document.createElement("img");n.src=t.src;return e(t).is('img[src!=""]')&&!n.complete};e.fn.waitForImages=function(t,n,r){if(e.isPlainObject(arguments[0])){n=t.each;r=t.waitForAll;t=t.finished}t=t||e.noop;n=n||e.noop;r=!!r;if(!e.isFunction(t)||!e.isFunction(n)){throw new TypeError("An invalid callback was supplied.")}return this.each(function(){var i=e(this),s=[];if(r){var o=e.waitForImages.hasImageProperties||[],u=/url\((['"]?)(.*?)\1\)/g;i.find("*").each(function(){var t=e(this);if(t.is("img:uncached")){s.push({src:t.attr("src"),element:t[0]})}e.each(o,function(e,n){var r=t.css(n);if(!r){return true}var i;while(i=u.exec(r)){s.push({src:i[2],element:t[0]})}})})}else{i.find("img:uncached").each(function(){s.push({src:this.src,element:this})})}var f=s.length,l=0;if(f==0){t.call(i[0])}e.each(s,function(r,s){var o=new Image;e(o).bind("load error",function(e){l++;n.call(s.element,l,f,e.type=="load");if(l==f){t.call(i[0]);return false}});o.src=s.src})})}; +})(jQuery) diff --git a/server/www/static/www/revolution/js/source/index.php b/server/www/static/www/revolution/js/source/index.php new file mode 100644 index 0000000..e69de29 diff --git a/server/www/static/www/revolution/js/source/jquery.themepunch.enablelog.js b/server/www/static/www/revolution/js/source/jquery.themepunch.enablelog.js new file mode 100644 index 0000000..3b73f58 --- /dev/null +++ b/server/www/static/www/revolution/js/source/jquery.themepunch.enablelog.js @@ -0,0 +1 @@ +window.tplogs = true; \ No newline at end of file diff --git a/server/www/static/www/revolution/js/source/jquery.themepunch.revolution.js b/server/www/static/www/revolution/js/source/jquery.themepunch.revolution.js new file mode 100644 index 0000000..88cd42f --- /dev/null +++ b/server/www/static/www/revolution/js/source/jquery.themepunch.revolution.js @@ -0,0 +1,2834 @@ +/************************************************************************** + * jquery.themepunch.revolution.js - jQuery Plugin for Revolution Slider + * @version: 5.2 (02.03.2016) + * @requires jQuery v1.7 or later (tested on 1.9) + * @author ThemePunch +**************************************************************************/ +(function(jQuery,undefined){ + "use strict"; + + jQuery.fn.extend({ + + revolution: function(options) { + + // SET DEFAULT VALUES OF ITEM // + var defaults = { + delay:9000, + responsiveLevels:4064, // Single or Array for Responsive Levels i.e.: 4064 or i.e. [2048, 1024, 768, 480] + visibilityLevels:[2048,1024,778,480], // Single or Array for Responsive Visibility Levels i.e.: 4064 or i.e. [2048, 1024, 768, 480] + gridwidth:960, // Single or Array i.e. 960 or [960, 840,760,460] + gridheight:500, // Single or Array i.e. 500 or [500, 450,400,350] + minHeight:0, + autoHeight:"off", + sliderType : "standard", // standard, carousel, hero + sliderLayout : "auto", // auto, fullwidth, fullscreen + + fullScreenAutoWidth:"off", // Turns the FullScreen Slider to be a FullHeight but auto Width Slider + fullScreenAlignForce:"off", + fullScreenOffsetContainer:"", // Size for FullScreen Slider minimising Calculated on the Container sizes + fullScreenOffset:"0", // Size for FullScreen Slider minimising + + hideCaptionAtLimit:0, // It Defines if a caption should be shown under a Screen Resolution ( Basod on The Width of Browser) + hideAllCaptionAtLimit:0, // Hide all The Captions if Width of Browser is less then this value + hideSliderAtLimit:0, // Hide the whole slider, and stop also functions if Width of Browser is less than this value + disableProgressBar:"off", // Hides Progress Bar if is set to "on" + stopAtSlide:-1, // Stop Timer if Slide "x" has been Reached. If stopAfterLoops set to 0, then it stops already in the first Loop at slide X which defined. -1 means do not stop at any slide. stopAfterLoops has no sinn in this case. + stopAfterLoops:-1, // Stop Timer if All slides has been played "x" times. IT will stop at THe slide which is defined via stopAtSlide:x, if set to -1 slide never stop automatic + shadow:0, //0 = no Shadow, 1,2,3 = 3 Different Art of Shadows (No Shadow in Fullwidth Version !) + dottedOverlay:"none", //twoxtwo, threexthree, twoxtwowhite, threexthreewhite + startDelay:0, // Delay before the first Animation starts. + lazyType : "smart", //full, smart, single + spinner:"spinner0", + shuffle:"off", // Random Order of Slides, + + + viewPort:{ + enable:false, // if enabled, slider wait with start or wait at first slide. + outof:"wait", // wait,pause + visible_area:"60%" + }, + + fallbacks:{ + isJoomla:false, + panZoomDisableOnMobile:"off", + simplifyAll:"on", + nextSlideOnWindowFocus:"off", + disableFocusListener:true + }, + + parallax : { + type : "off", // off, mouse, scroll, mouse+scroll + levels: [10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85], + origo:"enterpoint", // slidercenter or enterpoint + speed:400, + bgparallax : "off", + opacity:"on", + disable_onmobile:"off", + ddd_shadow:"on", + ddd_bgfreeze:"off", + ddd_overflow:"visible", + ddd_layer_overflow:"visible", + ddd_z_correction:65, + ddd_path:"mouse" + + }, + + carousel : { + horizontal_align : "center", + vertical_align : "center", + infinity : "on", + space : 0, + maxVisibleItems : 3, + stretch:"off", + fadeout:"on", + maxRotation:0, + minScale:0, + vary_fade:"off", + vary_rotation:"on", + vary_scale:"off", + border_radius:"0px", + padding_top:0, + padding_bottom:0 + }, + + navigation : { + keyboardNavigation:"on", + keyboard_direction:"horizontal", // horizontal - left/right arrows, vertical - top/bottom arrows + mouseScrollNavigation:"off", // on, off, carousel + onHoverStop:"on", // Stop Banner Timet at Hover on Slide on/off + + touch:{ + touchenabled:"off", // Enable Swipe Function : on/off + swipe_treshold : 75, // The number of pixels that the user must move their finger by before it is considered a swipe. + swipe_min_touches : 1, // Min Finger (touch) used for swipe + drag_block_vertical:false, // Prevent Vertical Scroll during Swipe + swipe_direction:"horizontal" + }, + arrows: { + style:"", + enable:false, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + tmp:'', + rtl:false, + left : { + h_align:"left", + v_align:"center", + h_offset:20, + v_offset:0, + container:"slider", + }, + right : { + h_align:"right", + v_align:"center", + h_offset:20, + v_offset:0, + container:"slider", + } + }, + bullets: { + container:"slider", + rtl:false, + style:"", + enable:false, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"horizontal", + h_align:"left", + v_align:"center", + space:0, + h_offset:20, + v_offset:0, + tmp:'' + }, + thumbnails: { + container:"slider", + rtl:false, + style:"", + enable:false, + width:100, + height:50, + min_width:100, + wrapper_padding:2, + wrapper_color:"#f5f5f5", + wrapper_opacity:1, + tmp:'', + visibleAmount:5, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"horizontal", + span:false, + position:"inner", + space:2, + h_align:"left", + v_align:"center", + h_offset:20, + v_offset:0 + }, + tabs: { + container:"slider", + rtl:false, + style:"", + enable:false, + width:100, + min_width:100, + height:50, + wrapper_padding:10, + wrapper_color:"#f5f5f5", + wrapper_opacity:1, + tmp:'', + visibleAmount:5, + hide_onmobile:false, + hide_onleave:true, + hide_delay:200, + hide_delay_mobile:1200, + hide_under:0, + hide_over:9999, + direction:"horizontal", + span:false, + space:0, + position:"inner", + h_align:"left", + v_align:"center", + h_offset:20, + v_offset:0 + } + }, + extensions:"extensions/", //example extensions/ or extensions/source/ + extensions_suffix:".min.js", + //addons:[{fileprefix:"revolution.addon.whiteboard",init:"initWhiteBoard",params:"opt",handel:"whiteboard"}], + debugMode:false + }; + + // Merge of Defaults + options = jQuery.extend(true,{},defaults, options); + + return this.each(function() { + + + var c = jQuery(this); + //REMOVE SLIDES IF SLIDER IS HERO + if (options.sliderType=="hero") { + c.find('>ul>li').each(function(i) { + if (i>0) jQuery(this).remove(); + }) + } + options.jsFileLocation = options.jsFileLocation || getScriptLocation("themepunch.revolution.min.js"); + options.jsFileLocation = options.jsFileLocation + options.extensions; + options.scriptsneeded = getNeededScripts(options,c); + options.curWinRange = 0; + + options.rtl = true; //jQuery('body').hasClass("rtl"); + + if (options.navigation!=undefined && options.navigation.touch!=undefined) + options.navigation.touch.swipe_min_touches = options.navigation.touch.swipe_min_touches >5 ? 1 : options.navigation.touch.swipe_min_touches; + + + + jQuery(this).on("scriptsloaded",function() { + if (options.modulesfailing ) { + c.html('
!! Error at loading Slider Revolution 5.0 Extrensions.'+options.errorm+'
').show(); + return false; + } + + // CHECK FOR MIGRATION + if (_R.migration!=undefined) options = _R.migration(c,options); + punchgs.force3D = true; + if (options.simplifyAll!=="on") punchgs.TweenLite.lagSmoothing(1000,16); + prepareOptions(c,options); + initSlider(c,options); + }); + c.data('opt',options); + waitForScripts(c,options); + }) + }, + + // Remove a Slide from the Slider + revremoveslide : function(sindex) { + + return this.each(function() { + + var container=jQuery(this); + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) { + var bt = container.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + if (opt && opt.li.length>0) { + if (sindex>0 || sindex<=opt.li.length) { + + var li = jQuery(opt.li[sindex]), + ref = li.data("index"), + nextslideafter = false; + + opt.slideamount = opt.slideamount-1; + removeNavWithLiref('.tp-bullet',ref,opt); + removeNavWithLiref('.tp-tab',ref,opt); + removeNavWithLiref('.tp-thumb',ref,opt); + if (li.hasClass('active-revslide')) + nextslideafter = true; + li.remove(); + opt.li = removeArray(opt.li,sindex); + if (opt.carousel && opt.carousel.slides) + opt.carousel.slides = removeArray(opt.carousel.slides,sindex) + opt.thumbs = removeArray(opt.thumbs,sindex); + if (_R.updateNavIndexes) _R.updateNavIndexes(opt); + if (nextslideafter) container.revnext(); + + } + } + } + }); + + }, + + // Add a New Call Back to some Module + revaddcallback: function(callback) { + return this.each(function() { + var container=jQuery(this); + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) { + var bt = container.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + if (opt.callBackArray === undefined) + opt.callBackArray = new Array(); + opt.callBackArray.push(callback); + } + }) + }, + + // Get Current Parallax Proc + revgetparallaxproc : function() { + var container=jQuery(this); + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) { + var bt = container.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + return opt.scrollproc; + } + + }, + + // ENABLE DEBUG MODE + revdebugmode: function() { + return this.each(function() { + var container=jQuery(this); + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) { + var bt = container.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + opt.debugMode = true; + containerResized(container,opt); + } + }) + }, + + // METHODE SCROLL + revscroll: function(oy) { + return this.each(function() { + var container=jQuery(this); + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) + jQuery('body,html').animate({scrollTop:(container.offset().top+(container.height())-oy)+"px"},{duration:400}); + }) + }, + + // METHODE PAUSE + revredraw: function(oy) { + return this.each(function() { + + var container=jQuery(this); + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) { + var bt = container.parent().find('.tp-bannertimer'); + var opt = bt.data('opt'); + containerResized(container,opt); + } + }) + }, + // METHODE PAUSE + revkill: function(oy) { + + var self = this, + container=jQuery(this); + + punchgs.TweenLite.killDelayedCallsTo(_R.showHideNavElements); + if (_R.endMoveCaption) + if (opt.endtimeouts && opt.endtimeouts.length>0) + jQuery.each(opt.endtimeouts,function(i,timeo) { clearTimeout(timeo);}); + + //punchgs.TweenLite.killDelayedCallsTo(_R.endMoveCaption); + + if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) { + + container.data('conthover',1); + container.data('conthover-changed',1); + container.trigger('revolution.slide.onpause'); + var bt = container.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + opt.tonpause = true; + container.trigger('stoptimer'); + + punchgs.TweenLite.killTweensOf(container.find('*'),false); + punchgs.TweenLite.killTweensOf(container,false); + container.unbind('hover, mouseover, mouseenter,mouseleave, resize'); + var resizid = "resize.revslider-"+container.attr('id'); + jQuery(window).off(resizid); + container.find('*').each(function() { + var el = jQuery(this); + + el.unbind('on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer'); + el.off('on, hover, mouseenter,mouseleave,mouseover, resize'); + el.data('mySplitText',null); + el.data('ctl',null); + if (el.data('tween')!=undefined) + el.data('tween').kill(); + if (el.data('kenburn')!=undefined) + el.data('kenburn').kill(); + if (el.data('timeline_out')!=undefined) + el.data('timeline_out').kill(); + if (el.data('timeline')!=undefined) + el.data('timeline').kill(); + + el.remove(); + el.empty(); + el=null; + }) + + + punchgs.TweenLite.killTweensOf(container.find('*'),false); + punchgs.TweenLite.killTweensOf(container,false); + bt.remove(); + try{container.closest('.forcefullwidth_wrapper_tp_banner').remove();} catch(e) {} + try{container.closest('.rev_slider_wrapper').remove()} catch(e) {} + try{container.remove();} catch(e) {} + container.empty(); + container.html(); + container = null; + + opt = null; + delete(self.c); + delete(self.opt); + + return true; + } else { + return false; + } + + + }, + + // METHODE PAUSE + revpause: function() { + return this.each(function() { + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + c.data('conthover',1); + c.data('conthover-changed',1); + c.trigger('revolution.slide.onpause'); + var bt = c.parent().find('.tp-bannertimer'); + var opt = bt.data('opt'); + opt.tonpause = true; + c.trigger('stoptimer'); + } + }) + }, + + // METHODE RESUME + revresume: function() { + return this.each(function() { + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + c.data('conthover',0); + c.data('conthover-changed',1); + c.trigger('revolution.slide.onresume'); + var bt = c.parent().find('.tp-bannertimer'); + var opt = bt.data('opt'); + opt.tonpause = false; + c.trigger('starttimer'); + } + }) + }, + + revstart: function() { + //return this.each(function() { + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0 && c.data('opt')) { + if (!c.data('opt')["sliderisrunning"]) { + runSlider(c,c.data('opt')); + return true; + } + else { + console.log("Slider Is Running Already"); + return false; + } + + } + //}) + + }, + + // METHODE NEXT + revnext: function() { + return this.each(function() { + // CATCH THE CONTAINER + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + var bt = c.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + _R.callingNewSlide(opt,c,1); + } + }) + }, + + // METHODE RESUME + revprev: function() { + return this.each(function() { + // CATCH THE CONTAINER + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + var bt = c.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + _R.callingNewSlide(opt,c,-1); + } + }) + }, + + // METHODE LENGTH + revmaxslide: function() { + // CATCH THE CONTAINER + return jQuery(this).find('.tp-revslider-mainul >li').length; + }, + + + // METHODE CURRENT + revcurrentslide: function() { + // CATCH THE CONTAINER + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + var bt = c.parent().find('.tp-bannertimer'); + var opt = bt.data('opt'); + return parseInt(opt.act,0)+1; + } + }, + + // METHODE CURRENT + revlastslide: function() { + // CATCH THE CONTAINER + return jQuery(this).find('.tp-revslider-mainul >li').length; + }, + + + // METHODE JUMP TO SLIDE + revshowslide: function(slide) { + return this.each(function() { + // CATCH THE CONTAINER + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + var bt = c.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + _R.callingNewSlide(opt,c,"to"+(slide-1)); + } + }) + }, + revcallslidewithid: function(slide) { + return this.each(function() { + // CATCH THE CONTAINER + var c=jQuery(this); + if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) { + var bt = c.parent().find('.tp-bannertimer'), + opt = bt.data('opt'); + _R.callingNewSlide(opt,c,slide); + } + }) + } +}); + + + +////////////////////////////////////////////////////////////// +// - REVOLUTION FUNCTION EXTENSIONS FOR GLOBAL USAGE - // +////////////////////////////////////////////////////////////// +var _R = jQuery.fn.revolution; + +jQuery.extend(true, _R, { + + simp : function(a,b,basic) { + var c = Math.abs(a) - (Math.floor(Math.abs(a / b))*b); + if (basic) + return c; + else + return a<0 ? -1*c : c; + }, + + // - IS IOS VERSION OLDER THAN 5 ?? + iOSVersion : function() { + var oldios = false; + if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { + if (navigator.userAgent.match(/OS 4_\d like Mac OS X/i)) { + oldios = true; + } + } else { + oldios = false; + } + return oldios; + }, + + + // - CHECK IF BROWSER IS IE - + isIE : function( version, comparison ){ + var $div = jQuery('
').appendTo(jQuery('body')); + $div.html(''); + var ieTest = $div.find('a').length; + $div.remove(); + return ieTest; + }, + + // - IS MOBILE ?? + is_mobile : function() { + var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry','Android', 'webos', ,'iPod', 'iPhone', 'iPad', 'Blackberry', 'BlackBerry']; + var ismobile=false; + for(var i in agents) { + + if (navigator.userAgent.split(agents[i]).length>1) { + ismobile = true; + + } + } + return ismobile; + }, + + // - CALL BACK HANDLINGS - // + callBackHandling : function(opt,type,position) { + try{ + if (opt.callBackArray) + jQuery.each(opt.callBackArray,function(i,c) { + if (c) { + if (c.inmodule && c.inmodule === type) + if (c.atposition && c.atposition === position) + if (c.callback) + c.callback.call(); + } + }); + } catch(e) { + console.log("Call Back Failed"); + } + }, + + get_browser : function(){ + var N=navigator.appName, ua=navigator.userAgent, tem; + var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); + if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1]; + M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?']; + return M[0]; + }, + + get_browser_version : function(){ + var N=navigator.appName, ua=navigator.userAgent, tem; + var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); + if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1]; + M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?']; + return M[1]; + }, + + // GET THE HORIZONTAL OFFSET OF SLIDER BASED ON THE THU`MBNAIL AND TABS LEFT AND RIGHT SIDE + getHorizontalOffset : function(container,side) { + var thumbloff = gWiderOut(container,'.outer-left'), + thumbroff = gWiderOut(container,'.outer-right'); + + switch (side) { + case "left": + return thumbloff; + break; + case "right": + return thumbroff; + break; + case "both": + return thumbloff+thumbroff; + break; + } + }, + + + // - CALLING THE NEW SLIDE - // + callingNewSlide : function(opt,container,direction) { + + + var aindex = container.find('.next-revslide').length>0 ? container.find('.next-revslide').index() : container.find('.processing-revslide').length>0 ? container.find('.processing-revslide').index() : container.find('.active-revslide').index(), + nindex = 0; + + container.find('.next-revslide').removeClass("next-revslide"); + + // IF WE ARE ON AN INVISIBLE SLIDE CURRENTLY + if (container.find('.active-revslide').hasClass("tp-invisible-slide")) + aindex = opt.last_shown_slide; + + // SET NEXT DIRECTION + if (direction && jQuery.isNumeric(direction) || direction.match(/to/g)) { + if (direction===1 || direction === -1) { + + nindex = aindex + direction; + nindex = nindex<0 ? opt.slideamount-1 : nindex>=opt.slideamount ? 0 : nindex; + } else { + + direction=jQuery.isNumeric(direction) ? direction : parseInt(direction.split("to")[1],0); + nindex = direction<0 ? 0 : direction>opt.slideamount-1 ? opt.slideamount-1 : direction; + } + container.find('.tp-revslider-slidesli:eq('+nindex+')').addClass("next-revslide"); + } else + if (direction) { + + container.find('.tp-revslider-slidesli').each(function() { + var li=jQuery(this); + if (li.data('index')===direction) li.addClass("next-revslide"); + }) + } + + + nindex = container.find('.next-revslide').index(); + container.trigger("revolution.nextslide.waiting"); + + + if (nindex !== aindex && nindex!=-1) + swapSlide(container,opt); + else + container.find('.next-revslide').removeClass("next-revslide"); + }, + + slotSize : function(img,opt) { + opt.slotw=Math.ceil(opt.width/opt.slots); + + if (opt.sliderLayout=="fullscreen") + opt.sloth=Math.ceil(jQuery(window).height()/opt.slots); + else + opt.sloth=Math.ceil(opt.height/opt.slots); + + if (opt.autoHeight=="on" && img!==undefined && img!=="") + opt.sloth=Math.ceil(img.height()/opt.slots); + + + }, + + setSize : function(opt) { + + var ofh = (opt.top_outer || 0) + (opt.bottom_outer || 0), + cpt = parseInt((opt.carousel.padding_top||0),0), + cpb = parseInt((opt.carousel.padding_bottom||0),0), + maxhei = opt.gridheight[opt.curWinRange]; + + opt.paddings = opt.paddings === undefined ? {top:(parseInt(opt.c.parent().css("paddingTop"),0) || 0), bottom:(parseInt(opt.c.parent().css("paddingBottom"),0) || 0)} : opt.paddings; + + maxhei = maxheiopt.gridheight[opt.curWinRange] && opt.autoHeight!="on") opt.height=opt.gridheight[opt.curWinRange]; + + if (opt.sliderLayout=="fullscreen" || opt.infullscreenmode) { + opt.height = opt.bw * opt.gridheight[opt.curWinRange]; + var cow = opt.c.parent().width(); + var coh = jQuery(window).height(); + + if (opt.fullScreenOffsetContainer!=undefined) { + try{ + var offcontainers = opt.fullScreenOffsetContainer.split(","); + if (offcontainers) + jQuery.each(offcontainers,function(index,searchedcont) { + coh = jQuery(searchedcont).length>0 ? coh - jQuery(searchedcont).outerHeight(true) : coh; + }); + } catch(e) {} + try{ + if (opt.fullScreenOffset.split("%").length>1 && opt.fullScreenOffset!=undefined && opt.fullScreenOffset.length>0) + coh = coh - (jQuery(window).height()* parseInt(opt.fullScreenOffset,0)/100); + else + if (opt.fullScreenOffset!=undefined && opt.fullScreenOffset.length>0) + coh = coh - parseInt(opt.fullScreenOffset,0); + } catch(e) {} + } + + coh = coh0) { + + jQuery.each(opt.lastplayedvideos,function(i,_nc) { + + _R.playVideo(_nc,opt); + }); + } + }, + + leaveViewPort : function(opt) { + opt.sliderlaststatus = opt.sliderstatus; + opt.c.trigger("stoptimer"); + if (opt.playingvideos != undefined && opt.playingvideos.length>0) { + opt.lastplayedvideos = jQuery.extend(true,[],opt.playingvideos); + if (opt.playingvideos) + jQuery.each(opt.playingvideos,function(i,_nc) { + if (_R.stopVideo) _R.stopVideo(_nc,opt); + }); + } + }, + + unToggleState : function(a) { + if (a!=undefined && a.length>0) + jQuery.each(a,function(i,layer) { + layer.removeClass("rs-toggle-content-active"); + }); + }, + + toggleState : function(a) { + if (a!=undefined && a.length>0) + jQuery.each(a,function(i,layer) { + layer.addClass("rs-toggle-content-active"); + }); + }, + lastToggleState : function(a) { + var state = 0; + if (a!=undefined && a.length>0) + jQuery.each(a,function(i,layer) { + state = layer.hasClass("rs-toggle-content-active"); + }); + return state; + } + +}); + + +var _ISM = _R.is_mobile(); + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +var removeArray = function(arr,i) { + var newarr = []; + jQuery.each(arr,function(a,b) { + if (a!=i) newarr.push(b); + }) + return newarr; + } + +var removeNavWithLiref = function(a,ref,opt) { + opt.c.find(a).each(function() { + var a = jQuery(this); + if (a.data('liref')===ref) + a.remove(); + }) +} + + +var lAjax = function(s,o) { + if (jQuery('body').data(s)) return false; + if (o.filesystem) { + if (o.errorm===undefined) + o.errorm = "
Local Filesystem Detected !
Put this to your header:"; + console.warn('Local Filesystem detected !'); + o.errorm = o.errorm+'
<script type="text/javascript" src="'+o.jsFileLocation+s+o.extensions_suffix+'"></script>'; + console.warn(o.jsFileLocation+s+o.extensions_suffix+' could not be loaded !'); + console.warn('Please use a local Server or work online or make sure that you load all needed Libraries manually in your Document.'); + console.log(" "); + o.modulesfailing = true; + return false; + } + jQuery.ajax({ + url:o.jsFileLocation+s+o.extensions_suffix, + 'dataType':'script', + 'cache':true, + "error":function(e) { + console.warn("Slider Revolution 5.0 Error !") + console.error("Failure at Loading:"+s+o.extensions_suffix+" on Path:"+o.jsFileLocation) + console.info(e); + } + }); + jQuery('body').data(s,true); +} + +var getNeededScripts = function(o,c) { + var n = new Object(), + _n = o.navigation; + + n.kenburns = false; + n.parallax = false; + n.carousel = false; + n.navigation = false; + n.videos = false; + n.actions = false; + n.layeranim = false; + n.migration = false; + + + + + // MIGRATION EXTENSION + if (!c.data('version') || !c.data('version').toString().match(/5./gi)) { + n.kenburns = true; + n.parallax = true; + n.carousel = false; + n.navigation = true; + n.videos = true; + n.actions = true; + n.layeranim = true; + n.migration = true; + } + else { + // KEN BURN MODUL + c.find('img').each(function(){ + if (jQuery(this).data('kenburns')=="on") n.kenburns = true; + }); + + // NAVIGATION EXTENSTION + if (o.sliderType =="carousel" || _n.keyboardNavigation=="on" || _n.mouseScrollNavigation=="on" || _n.touch.touchenabled=="on" || _n.arrows.enable || _n.bullets.enable || _n.thumbnails.enable || _n.tabs.enable ) + n.navigation = true; + + // LAYERANIM, VIDEOS, ACTIONS EXTENSIONS + c.find('.tp-caption, .tp-static-layer, .rs-background-video-layer').each(function(){ + var _nc = jQuery(this); + if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0)) + n.videos = true; + if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0)) + n.videos = true; + if (_nc.data('actions')!==undefined) + n.actions = true; + n.layeranim = true; + }); + + c.find('li').each(function() { + if (jQuery(this).data('link') && jQuery(this).data('link')!=undefined) { + n.layeranim = true; + n.actions = true; + } + }) + + // VIDEO EXTENSION + if (!n.videos && (c.find('.rs-background-video-layer').length>0 || c.find(".tp-videolayer").length>0 || c.find(".tp-audiolayer") || c.find('iframe').length>0 || c.find('video').length>0)) + n.videos = true; + + // VIDEO EXTENSION + if (o.sliderType =="carousel") + n.carousel = true; + + + + if (o.parallax.type!=="off" || o.viewPort.enable || o.viewPort.enable=="true") + n.parallax = true; + } + + if (o.sliderType=="hero") { + n.carousel = false; + n.navigation = false; + } + + if (window.location.href.match(/file:/gi)) { + n.filesystem = true; + o.filesystem = true; + } + + + // LOAD THE NEEDED LIBRARIES + if (n.videos && typeof _R.isVideoPlaying=='undefined') lAjax('revolution.extension.video',o); + if (n.carousel && typeof _R.prepareCarousel=='undefined') lAjax('revolution.extension.carousel',o); + if (!n.carousel && typeof _R.animateSlide=='undefined') lAjax('revolution.extension.slideanims',o); + if (n.actions && typeof _R.checkActions=='undefined') lAjax('revolution.extension.actions',o); + if (n.layeranim && typeof _R.handleStaticLayers=='undefined') lAjax('revolution.extension.layeranimation',o); + if (n.kenburns && typeof _R.stopKenBurn=='undefined') lAjax('revolution.extension.kenburn',o); + if (n.navigation && typeof _R.createNavigation=='undefined') lAjax('revolution.extension.navigation',o); + if (n.migration && typeof _R.migration=='undefined') lAjax('revolution.extension.migration',o); + if (n.parallax && typeof _R.checkForParallax=='undefined') lAjax('revolution.extension.parallax',o); + + if (o.addons!=undefined && o.addons.length>0) { + jQuery.each(o.addons, function(i,obj) { + if (typeof obj === "object" && obj.fileprefix!=undefined) + lAjax(obj.fileprefix,o); + }) + } + + + return n; +} + +/////////////////////////////////// +// - WAIT FOR SCRIPT LOADS - // +/////////////////////////////////// +var waitForScripts = function(c,o) { + // CHECK KEN BURN DEPENDENCIES + var addonsloaded = true, + n = o.scriptsneeded; + + // CHECK FOR ADDONS + if (o.addons!=undefined && o.addons.length>0) { + jQuery.each(o.addons, function(i,obj) { + if (typeof obj === "object" && obj.init!=undefined) { + if (_R[obj.init]===undefined) addonsloaded = false; + } + }) + } + + if (n.filesystem || + (typeof punchgs !== 'undefined' && + (addonsloaded) && + (!n.kenburns || (n.kenburns && typeof _R.stopKenBurn !== 'undefined')) && + (!n.navigation || (n.navigation && typeof _R.createNavigation !== 'undefined')) && + (!n.carousel || (n.carousel && typeof _R.prepareCarousel !== 'undefined')) && + (!n.videos || (n.videos && typeof _R.resetVideo !== 'undefined')) && + (!n.actions || (n.actions && typeof _R.checkActions !== 'undefined')) && + (!n.layeranim || (n.layeranim && typeof _R.handleStaticLayers !== 'undefined')) && + (!n.migration || (n.migration && typeof _R.migration !== 'undefined')) && + (!n.parallax || (n.parallax && typeof _R.checkForParallax !== 'undefined')) && + (n.carousel || (!n.carousel && typeof _R.animateSlide !== 'undefined')) + )) + c.trigger("scriptsloaded"); + else + setTimeout(function() { + waitForScripts(c,o); + },50); + +} + +////////////////////////////////// +// - GET SCRIPT LOCATION - // +////////////////////////////////// +var getScriptLocation = function(a) { + + var srcexp = new RegExp("themepunch.revolution.min.js","gi"), + ret = ""; + jQuery("script").each(function() { + var src = jQuery(this).attr("src"); + if (src && src.match(srcexp)) + ret = src; + }); + + ret = ret.replace('jquery.themepunch.revolution.min.js', ''); + ret = ret.replace('jquery.themepunch.revolution.js', ''); + ret = ret.split("?")[0]; + return ret; +} + +////////////////////////////////////////// +// - ADVANCED RESPONSIVE LEVELS - // +////////////////////////////////////////// +var setCurWinRange = function(opt,vis) { + var curlevel = 0, + curwidth = 9999, + lastmaxlevel = 0, + lastmaxid = 0, + curid = 0, + winw = jQuery(window).width(), + l = vis && opt.responsiveLevels==9999 ? opt.visibilityLevels : opt.responsiveLevels; + + if (l && l.length) + jQuery.each(l,function(index,level) { + if (winwlevel) { + curwidth = level; + curid = index; + lastmaxlevel = level; + } + } + + if (winw>level && lastmaxlevel'); + + // PREPRARE SOME CLASSES AND VARIABLES + container.find('>ul').addClass("tp-revslider-mainul"); + + + // CREATE SOME DEFAULT OPTIONS FOR LATER + opt.c=container; + opt.ul = container.find('.tp-revslider-mainul'); + + // Remove Not Needed Slides for Mobile Devices + opt.ul.find('>li').each(function(i) { + var li = jQuery(this); + if (li.data('hideslideonmobile')=="on" && _ISM) li.remove(); + if (li.data('invisible') || li.data('invisible')===true) { + li.addClass("tp-invisible-slide"); + li.appendTo(opt.ul); + } + }); + + + if (opt.addons!=undefined && opt.addons.length>0) { + jQuery.each(opt.addons, function(i,obj) { + if (typeof obj === "object" && obj.init!=undefined) { + _R[obj.init](eval(obj.params)); + } + }) + } + + + + opt.cid = container.attr('id'); + opt.ul.css({visibility:"visible"}); + opt.slideamount = opt.ul.find('>li').not('.tp-invisible-slide').length; + opt.slayers = container.find('.tp-static-layers'); + + if (opt.waitForInit == true) + return; + else { + container.data('opt',opt); + runSlider(container,opt); + } + + } + + var runSlider = function(container,opt) { + + + opt.sliderisrunning = true; + // Save Original Index of Slides + opt.ul.find('>li').each(function(i) { + jQuery(this).data('originalindex',i); + }); + + + + + // RANDOMIZE THE SLIDER SHUFFLE MODE + if (opt.shuffle=="on") { + var fsa = new Object, + fli = opt.ul.find('>li:first-child'); + fsa.fstransition = fli.data('fstransition'); + fsa.fsmasterspeed = fli.data('fsmasterspeed'); + fsa.fsslotamount = fli.data('fsslotamount'); + + for (var u=0;uli:eq('+it+')').prependTo(opt.ul); + } + + var newfli = opt.ul.find('>li:first-child'); + newfli.data('fstransition',fsa.fstransition); + newfli.data('fsmasterspeed',fsa.fsmasterspeed); + newfli.data('fsslotamount',fsa.fsslotamount); + + // COLLECT ALL LI INTO AN ARRAY + opt.li = opt.ul.find('>li').not('.tp-invisible-slide'); + } + + opt.allli = opt.ul.find('>li'); + opt.li = opt.ul.find('>li').not('.tp-invisible-slide'); + opt.inli = opt.ul.find('>li.tp-invisible-slide'); + + + opt.thumbs = new Array(); + + opt.slots=4; + opt.act=-1; + opt.firststart=1; + opt.loadqueue = new Array(); + opt.syncload = 0; + opt.conw = container.width(); + opt.conh = container.height(); + + if (opt.responsiveLevels.length>1) + opt.responsiveLevels[0] = 9999; + else + opt.responsiveLevels = 9999; + + // RECORD THUMBS AND SET INDEXES + jQuery.each(opt.allli,function(index,li) { + var li = jQuery(li), + img = li.find('.rev-slidebg') || li.find('img').first(), + i = 0; + + + li.addClass("tp-revslider-slidesli"); + if (li.data('index')===undefined) li.data('index','rs-'+Math.round(Math.random()*999999)); + + var obj = new Object; + obj.params = new Array(); + + obj.id = li.data('index'); + obj.src = li.data('thumb')!==undefined ? li.data('thumb') : img.data('lazyload') !== undefined ? img.data('lazyload') : img.attr('src'); + if (li.data('title') !== undefined) obj.params.push({from:RegExp("\\{\\{title\\}\\}","g"), to:li.data("title")}) + if (li.data('description') !== undefined) obj.params.push({from:RegExp("\\{\\{description\\}\\}","g"), to:li.data("description")}) + for (var i=1;i<=10;i++) { + if (li.data("param"+i)!==undefined) + obj.params.push({from:RegExp("\\{\\{param"+i+"\\}\\}","g"), to:li.data("param"+i)}) + } + opt.thumbs.push(obj); + + li.data('origindex',li.index()); + + // IF LINK ON SLIDE EXISTS, NEED TO CREATE A PROPER LAYER FOR IT. + if (li.data('link')!=undefined) { + var link = li.data('link'), + target= li.data('target') || "_self", + zindex= li.data('slideindex')==="back" ? 0 : 60, + linktoslide=li.data('linktoslide'), + checksl = linktoslide; + + if (linktoslide != undefined) + if (linktoslide!="next" && linktoslide!="prev") + opt.allli.each(function() { + var t = jQuery(this); + if (t.data('origindex')+1==checksl) linktoslide = t.data('index'); + }); + + + if (link!="slide") linktoslide="no"; + + var apptxt = '
'; + li.append(apptxt); + } + }); + + + // CREATE GRID WIDTH AND HEIGHT ARRAYS + opt.rle = opt.responsiveLevels.length || 1; + opt.gridwidth = cArray(opt.gridwidth,opt.rle); + opt.gridheight = cArray(opt.gridheight,opt.rle); + // END OF VERSION 5.0 INIT MODIFICATION + + + + // SIMPLIFY ANIMATIONS ON OLD IOS AND IE8 IF NEEDED + if (opt.simplifyAll=="on" && (_R.isIE(8) || _R.iOSVersion())) { + container.find('.tp-caption').each(function() { + var tc = jQuery(this); + tc.removeClass("customin customout").addClass("fadein fadeout"); + tc.data('splitin',""); + tc.data('speed',400); + }) + opt.allli.each(function() { + var li= jQuery(this); + li.data('transition',"fade"); + li.data('masterspeed',500); + li.data('slotamount',1); + var img = li.find('.rev-slidebg') || li.find('>img').first(); + img.data('kenburns',"off"); + }); + } + + opt.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i); + + // SOME OPTIONS WHICH SHOULD CLOSE OUT SOME OTHER SETTINGS + opt.autoHeight = opt.sliderLayout=="fullscreen" ? "on" : opt.autoHeight; + + if (opt.sliderLayout=="fullwidth" && opt.autoHeight=="off") container.css({maxHeight:opt.gridheight[opt.curWinRange]+"px"}); + + // BUILD A FORCE FULLWIDTH CONTAINER, TO SPAN THE FULL SLIDER TO THE FULL WIDTH OF BROWSER + if (opt.sliderLayout!="auto" && container.closest('.forcefullwidth_wrapper_tp_banner').length==0) { + if (opt.sliderLayout!=="fullscreen" || opt.fullScreenAutoWidth!="on") { + var cp = container.parent(), + mb = cp.css('marginBottom'), + mt = cp.css('marginTop'); + mb = mb===undefined ? 0 : mb; + mt = mt===undefined ? 0 : mt; + + cp.wrap('
'); + container.closest('.forcefullwidth_wrapper_tp_banner').append('
'); + container.parent().css({marginTop:"0px",marginBottom:"0px"}); + //container.css({'backgroundColor':container.parent().css('backgroundColor'),'backgroundImage':container.parent().css('backgroundImage')}); + container.parent().css({position:'absolute'}); + } + } + + + + // SHADOW ADD ONS + if (opt.shadow!==undefined && opt.shadow>0) { + container.parent().addClass('tp-shadow'+opt.shadow); + container.parent().append('
'); + container.parent().find('.tp-shadowcover').css({'backgroundColor':container.parent().css('backgroundColor'),'backgroundImage':container.parent().css('backgroundImage')}); + } + + // ESTIMATE THE CURRENT WINDOWS RANGE INDEX + setCurWinRange(opt); + setCurWinRange(opt,true); + + // IF THE CONTAINER IS NOT YET INITIALISED, LETS GO FOR IT + if (!container.hasClass("revslider-initialised")) { + // MARK THAT THE CONTAINER IS INITIALISED WITH SLIDER REVOLUTION ALREADY + container.addClass("revslider-initialised"); + + // FOR BETTER SELECTION, ADD SOME BASIC CLASS + container.addClass("tp-simpleresponsive"); + + // WE DONT HAVE ANY ID YET ? WE NEED ONE ! LETS GIVE ONE RANDOMLY FOR RUNTIME + if (container.attr('id')==undefined) container.attr('id',"revslider-"+Math.round(Math.random()*1000+5)); + + // CHECK IF FIREFOX 13 IS ON WAY.. IT HAS A STRANGE BUG, CSS ANIMATE SHOULD NOT BE USED + opt.firefox13 = false; + opt.ie = !jQuery.support.opacity; + opt.ie9 = (document.documentMode == 9); + + opt.origcd=opt.delay; + + + + // CHECK THE jQUERY VERSION + var version = jQuery.fn.jquery.split('.'), + versionTop = parseFloat(version[0]), + versionMinor = parseFloat(version[1]), + versionIncrement = parseFloat(version[2] || '0'); + if (versionTop==1 && versionMinor < 7) + container.html('
The Current Version of jQuery:'+version+'
Please update your jQuery Version to min. 1.7 in Case you wish to use the Revolution Slider Plugin
'); + if (versionTop>1) opt.ie=false; + + + + // PREPARE VIDEO PLAYERS + var addedApis = new Object(); + addedApis.addedyt=0; + addedApis.addedvim=0; + addedApis.addedvid=0; + + container.find('.tp-caption, .rs-background-video-layer').each(function(i) { + var _nc = jQuery(this), + an = _nc.data('autoplayonlyfirsttime'), + ap = _nc.data('autoplay'), + al = _nc.hasClass("tp-audiolayer"), + loop = _nc.data('videoloop'); + + + if (_nc.hasClass("tp-static-layer") && _R.handleStaticLayers) + _R.handleStaticLayers(_nc,opt); + + var pom = _nc.data('noposteronmobile') || _nc.data('noPosterOnMobile') || _nc.data('posteronmobile') || _nc.data('posterOnMobile') || _nc.data('posterOnMObile'); + _nc.data('noposteronmobile',pom); + + // FIX VISIBLE IFRAME BUG IN SAFARI + var iff = 0; + _nc.find('iframe').each(function() { + punchgs.TweenLite.set(jQuery(this),{autoAlpha:0}); + iff++; + }) + if (iff>0) + _nc.data('iframes',true) + + if (_nc.hasClass("tp-caption")) { + // PREPARE LAYERS AND WRAP THEM WITH PARALLAX, LOOP, MASK HELP CONTAINERS + var ec = _nc.hasClass("slidelink") ? "width:100% !important;height:100% !important;" : ""; + _nc.wrap(''); + var lar = ['pendulum', 'rotate','slideloop','pulse','wave'], + _lc = _nc.closest('.tp-loop-wrap'); + + jQuery.each(lar,function(i,k) { + var lw = _nc.find('.rs-'+k), + f = lw.data() || ""; + if (f!="") { + _lc.data(f); + _lc.addClass("rs-"+k); + lw.children(0).unwrap(); + _nc.data('loopanimation',"on"); + } + }); + punchgs.TweenLite.set(_nc,{visibility:"hidden"}); + } + + var as = _nc.data('actions'); + if (as!==undefined) _R.checkActions(_nc,opt,as); + + checkHoverDependencies(_nc,opt); + + if (_R.checkVideoApis) + addedApis = _R.checkVideoApis(_nc,opt,addedApis); + + // REMOVE VIDEO AUTOPLAYS FOR MOBILE DEVICES + if (_ISM) { + if (an == true || an=="true") { + _nc.data('autoplayonlyfirsttime',"false"); + an=false; + } + if (ap==true || ap=="true" || ap=="on" || ap=="1sttime") { + _nc.data('autoplay',"off"); + ap="off"; + } + } + + loop = loop=="none" && _nc.hasClass('rs-background-video-layer') ? "loopandnoslidestop" : loop; + + _nc.data('videoloop',loop); + + + // PREPARE TIMER BEHAVIOUR BASED ON AUTO PLAYED VIDEOS IN SLIDES + if (!al && (an == true || an=="true" || ap == "1sttime") && loop !="loopandnoslidestop") + _nc.closest('li.tp-revslider-slidesli').addClass("rs-pause-timer-once"); + + + if (!al && (ap==true || ap=="true" || ap == "on" || ap == "no1sttime") && loop !="loopandnoslidestop") + _nc.closest('li.tp-revslider-slidesli').addClass("rs-pause-timer-always"); + + + + + }); + + container.hover( + function() { + container.trigger('tp-mouseenter'); + opt.overcontainer=true; + }, + function() { + container.trigger('tp-mouseleft'); + opt.overcontainer=false; + }); + + + container.on('mouseover',function() { + container.trigger('tp-mouseover'); + opt.overcontainer=true; + }) + + // REMOVE ANY VIDEO JS SETTINGS OF THE VIDEO IF NEEDED (OLD FALL BACK, AND HELP FOR 3THD PARTY PLUGIN CONFLICTS) + container.find('.tp-caption video').each(function(i) { + var v = jQuery(this); + v.removeClass("video-js vjs-default-skin"); + v.attr("preload",""); + v.css({display:"none"}); + }); + + //PREPARE LOADINGS ALL IN SEQUENCE + if (opt.sliderType!=="standard") opt.lazyType = "all"; + + + // PRELOAD STATIC LAYERS + loadImages(container.find('.tp-static-layers'),opt,0); + + waitForCurrentImages(container.find('.tp-static-layers'),opt,function() { + container.find('.tp-static-layers img').each(function() { + var e = jQuery(this), + src = e.data('lazyload') != undefined ? e.data('lazyload') : e.attr('src'), + loadobj = getLoadObj(opt,src); + e.attr('src',loadobj.src) + }) + }) + + + + // SET ALL LI AN INDEX AND INIT LAZY LOADING + opt.allli.each(function(i) { + var li = jQuery(this); + + if (opt.lazyType=="all" || (opt.lazyType=="smart" && (i==0 || i == 1 || i == opt.slideamount || i == opt.slideamount-1))) { + loadImages(li,opt,i); + waitForCurrentImages(li,opt,function() { + if (opt.sliderType=="carousel") + punchgs.TweenLite.to(li,1,{autoAlpha:1,ease:punchgs.Power3.easeInOut}); + }); + } + + }); + + + + // IF DEEPLINK HAS BEEN SET + var deeplink = getUrlVars("#")[0]; + if (deeplink.length<9) { + if (deeplink.split('slide').length>1) { + var dslide=parseInt(deeplink.split('slide')[1],0); + if (dslide<1) dslide=1; + if (dslide>opt.slideamount) dslide=opt.slideamount; + opt.startWithSlide=dslide-1; + } + } + + // PREPARE THE SPINNER + container.append( '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'); + + + // RESET THE TIMER + if (container.find('.tp-bannertimer').length===0) container.append(''); + container.find('.tp-bannertimer').css({'width':'0%'}); + container.find('.tp-bannertimer').data('opt',opt); + + + // PREPARE THE SLIDES + opt.ul.css({'display':'block'}); + prepareSlides(container,opt); + if (opt.parallax.type!=="off") _R.checkForParallax(container,opt); + + + // PREPARE SLIDER SIZE + _R.setSize(opt); + + + // Call the Navigation Builder + if (opt.sliderType!=="hero") _R.createNavigation(container,opt); + if (_R.resizeThumbsTabs) _R.resizeThumbsTabs(opt); + contWidthManager(opt); + var _v = opt.viewPort; + opt.inviewport = false; + + if (_v !=undefined && _v.enable) { + if (!jQuery.isNumeric(_v.visible_area)) + if (_v.visible_area.indexOf('%')!==-1) + _v.visible_area = parseInt(_v.visible_area)/100; + + if (_R.scrollTicker) _R.scrollTicker(opt,container); + } + + + + // START THE SLIDER + setTimeout(function() { + if ( opt.sliderType =="carousel") _R.prepareCarousel(opt); + + if (!_v.enable || (_v.enable && opt.inviewport) || (_v.enable && !opt.inviewport && !_v.outof=="wait")) { + swapSlide(container,opt); + } + else + opt.waitForFirstSlide = true; + + if (_R.manageNavigation) _R.manageNavigation(opt); + + + // START COUNTDOWN + if (opt.slideamount>1) { + if (!_v.enable || (_v.enable && opt.inviewport)) + countDown(container,opt); + else + opt.waitForCountDown = true; + } + setTimeout(function() { + container.trigger('revolution.slide.onloaded'); + },100); + },opt.startDelay); + opt.startDelay=0; + + + + /****************************** + - FULLSCREEN CHANGE - + ********************************/ + // FULLSCREEN MODE TESTING + jQuery("body").data('rs-fullScreenMode',false); + jQuery(window).on ('mozfullscreenchange webkitfullscreenchange fullscreenchange',function(){ + jQuery("body").data('rs-fullScreenMode',!jQuery("body").data('rs-fullScreenMode')); + if (jQuery("body").data('rs-fullScreenMode')) { + setTimeout(function() { + jQuery(window).trigger("resize"); + },200); + } + }); + + var resizid = "resize.revslider-"+container.attr('id'); + + // IF RESIZED, NEED TO STOP ACTUAL TRANSITION AND RESIZE ACTUAL IMAGES + jQuery(window).on(resizid,function() { + if (container==undefined) return false; + + if (jQuery('body').find(container)!=0) + contWidthManager(opt); + + if (container.outerWidth(true)!=opt.width || container.is(":hidden") || (opt.sliderLayout=="fullscreen" && jQuery(window).height()!=opt.lastwindowheight)) { + opt.lastwindowheight = jQuery(window).height(); + containerResized(container,opt); + } + + + }); + + hideSliderUnder(container,opt); + contWidthManager(opt); + if (!opt.fallbacks.disableFocusListener && opt.fallbacks.disableFocusListener != "true" && opt.fallbacks.disableFocusListener !== true) tabBlurringCheck(container,opt); + } +} + +/************************************* + - CREATE SIMPLE ARRAYS - +**************************************/ +var cArray = function(b,l) { + if (!jQuery.isArray(b)) { + var t = b; + b = new Array(); + b.push(t); + } + if (b.length0 && (cli.hasClass("active-revslide")) || cli.hasClass("processing-revslide")) || (stl.length>0)) { + + if (otl!=undefined) { + otl.pause(0); + otl.kill(); + } + _R.animateSingleCaption(tnc,opt,base_offsetx,base_offsety,0,false,true); + var tl = tnc.data('timeline'); + tnc.data('triggerstate',"on"); + tl.play(0); + } + }); + }); + opt.c.on('tp-mouseleft',function() { + if (opt.layersonhover) + jQuery.each(opt.layersonhover,function(i,tnc) { + tnc.data('animdirection',"out"); + tnc.data('triggered',true); + tnc.data('triggerstate',"off"); + if (_R.stopVideo) _R.stopVideo(tnc,opt); + if (_R.endMoveCaption) _R.endMoveCaption(tnc,null,null,opt); + }); + }); + opt.layersonhover = new Array; + } + opt.layersonhover.push(_nc); + } +} + + + +var contWidthManager = function(opt) { + + var rl = _R.getHorizontalOffset(opt.c,"left"); + + if (opt.sliderLayout!="auto" && (opt.sliderLayout!=="fullscreen" || opt.fullScreenAutoWidth!="on")) { + var loff = Math.ceil(opt.c.closest('.forcefullwidth_wrapper_tp_banner').offset().left - rl); + punchgs.TweenLite.set(opt.c.parent(),{'left':(0-loff)+"px",'width':jQuery(window).width()-_R.getHorizontalOffset(opt.c,"both")}); + } else { + if (opt.sliderLayout=="fullscreen" && opt.fullScreenAutoWidth=="on") + punchgs.TweenLite.set(opt.ul,{left:0,width:opt.c.width()}); + else + punchgs.TweenLite.set(opt.ul,{left:rl,width:opt.c.width()-_R.getHorizontalOffset(opt.c,"both")}); + } + + + // put Static Layer Wrapper in Position + if (opt.slayers && (opt.sliderLayout!="fullwidth" && opt.sliderLayout!="fullscreen")) + punchgs.TweenLite.set(opt.slayers,{left:rl}); +} + + +var cv = function(a,d) { + return a===undefined ? d : a; +} + + +var hideSliderUnder = function(container,opt,resized) { + // FIRST TIME STOP/START HIDE / SHOW SLIDER + //REMOVE AND SHOW SLIDER ON DEMAND + var contpar= container.parent(); + if (jQuery(window).width()opt.bw) + opt.bh=opt.bw + else + opt.bw = opt.bh; + + if (opt.bh>1 || opt.bw>1) { opt.bw=1; opt.bh=1; } +} + + + + + +///////////////////////////////////////// +// - PREPARE THE SLIDES / SLOTS - // +/////////////////////////////////////// +var prepareSlides = function(container,opt) { + + container.find('.tp-caption').each(function() { + var c = jQuery(this); + if (c.data('transition')!==undefined) c.addClass(c.data('transition')); + }); + + // PREPARE THE UL CONTAINER TO HAVEING MAX HEIGHT AND HEIGHT FOR ANY SITUATION + opt.ul.css({overflow:'hidden',width:'100%',height:'100%',maxHeight:container.parent().css('maxHeight')}) + if (opt.autoHeight=="on") { + opt.ul.css({overflow:'hidden',width:'100%',height:'100%',maxHeight:"none"}); + container.css({'maxHeight':'none'}); + container.parent().css({'maxHeight':'none'}); + } + //_R.setSize("",opt); + opt.allli.each(function(j) { + var li=jQuery(this), + originalIndex = li.data('originalindex'); + + //START WITH CORRECT SLIDE + if ((opt.startWithSlide !=undefined && originalIndex==opt.startWithSlide) || opt.startWithSlide ===undefined && j==0) + li.addClass("next-revslide"); + + + // MAKE LI OVERFLOW HIDDEN FOR FURTHER ISSUES + li.css({'width':'100%','height':'100%','overflow':'hidden'}); + + }); + + if (opt.sliderType === "carousel") { + //SET CAROUSEL + opt.ul.css({overflow:"visible"}).wrap(''); + var apt = '
'; + opt.c.parent().prepend(apt); + opt.c.parent().append(apt); + _R.prepareCarousel(opt); + } + + // RESOLVE OVERFLOW HIDDEN OF MAIN CONTAINER + container.parent().css({'overflow':'visible'}); + + opt.allli.find('>img').each(function(j) { + + var img=jQuery(this), + bgvid = img.closest('li').find('.rs-background-video-layer'); + + bgvid.addClass("defaultvid").css({zIndex:30}); + + img.addClass('defaultimg'); + + // TURN OF KEN BURNS IF WE ARE ON MOBILE AND IT IS WISHED SO + if (opt.fallbacks.panZoomDisableOnMobile == "on" && _ISM) { + img.data('kenburns',"off"); + img.data('bgfit',"cover"); + } + + img.wrap('
'); + bgvid.appendTo(img.closest('li').find('.slotholder')); + var dts = img.data(); + img.closest('.slotholder').data(dts); + + if (bgvid.length>0 && dts.bgparallax!=undefined) + bgvid.data('bgparallax',dts.bgparallax); + + if (opt.dottedOverlay!="none" && opt.dottedOverlay!=undefined) + img.closest('.slotholder').append('
'); + + var src=img.attr('src'); + dts.src = src; + if(screen.width > 1800){ + dts.bgfit = dts.bgfit || "70%"; + }else if(screen.width > 1200){ + dts.bgfit = dts.bgfit || "100%"; + } + dts.bgrepeat = dts.bgrepeat || "no-repeat", + dts.bgposition = dts.bgposition || "center center"; + + var pari = img.closest('.slotholder'); + img.parent().append('
'); + var comment = document.createComment("Runtime Modification - Img tag is Still Available for SEO Goals in Source - " + img.get(0).outerHTML); + img.replaceWith(comment); + img = pari.find('.tp-bgimg'); + img.data(dts); + img.attr("src",src); + + if (opt.sliderType === "standard" || opt.sliderType==="undefined") + img.css({'opacity':0}); + + }) + + +} + + +// REMOVE SLOTS // +var removeSlots = function(container,opt,where,addon) { + opt.removePrepare = opt.removePrepare + addon; + where.find('.slot, .slot-circle-wrapper').each(function() { + jQuery(this).remove(); + }); + opt.transition = 0; + opt.removePrepare = 0; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// SLIDE SWAPS //////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +// THE IMAGE IS LOADED, WIDTH, HEIGHT CAN BE SAVED +var cutParams = function(a) { + var b = a; + if (a!=undefined && a.length>0) + b = a.split("?")[0]; + return b; +} + +var relativeRedir = function(redir){ + return location.pathname.replace(/(.*)\/[^/]*/, "$1/"+redir); +} + +var abstorel = function (base, relative) { + var stack = base.split("/"), + parts = relative.split("/"); + stack.pop(); // remove current file name (or empty string) + // (omit if "base" is the current folder without trailing slash) + for (var i=0; i
'); + element.find('.tp-svg-innercontainer').append(loadobj.innerHTML); + } + // ELEMENT IS NOW FULLY LOADED + element.data('loaded',true); + } + + + if (loadobj && loadobj.progress && loadobj.progress.match(/inprogress|inload|prepared/g)) + if (jQuery.now()-element.data('start-to-load')<5000) + waitforload = true; + else + console.error(src+" Could not be loaded !"); + + // WAIT FOR VIDEO API'S + if (opt.youtubeapineeded == true && (!window['YT'] || YT.Player==undefined)) { + waitforload = true; + if (jQuery.now()-opt.youtubestarttime>5000 && opt.youtubewarning!=true) { + opt.youtubewarning = true; + var txt = "YouTube Api Could not be loaded !"; + if (location.protocol === 'https:') txt = txt + " Please Check and Renew SSL Certificate !"; + console.error(txt); + opt.c.append('
'+txt+'
') + } + } + + if (opt.vimeoapineeded == true && !window['Froogaloop']) { + waitforload = true; + if (jQuery.now()-opt.vimeostarttime>5000 && opt.vimeowarning!=true) { + opt.vimeowarning= true; + var txt = "Vimeo Froogaloop Api Could not be loaded !"; + if (location.protocol === 'https:') txt = txt + " Please Check and Renew SSL Certificate !"; + console.error(txt); + opt.c.append('
'+txt+'
') + } + } + + }); + + if (!_ISM && opt.audioqueue && opt.audioqueue.length>0) { + jQuery.each(opt.audioqueue,function(i,obj) { + if (obj.status && obj.status==="prepared") + if (jQuery.now() - obj.start0) { + opt.waitWithSwapSlide = setTimeout(function() { + swapSlide(container,opt); + + },150); + return false; + } + + var actli = container.find('.active-revslide'), + nextli = container.find('.next-revslide'), + defimg= nextli.find('.defaultimg'); + + + if (nextli.index() === actli.index()) { + nextli.removeClass("next-revslide"); + return false; + } + + + nextli.removeClass("next-revslide").addClass("processing-revslide"); + + nextli.data('slide_on_focus_amount',(nextli.data('slide_on_focus_amount')+1) || 1); + // CHECK IF WE ARE ALREADY AT LAST ITEM TO PLAY IN REAL LOOP SESSION + if (opt.stopLoop=="on" && nextli.index()==opt.lastslidetoshow-1) { + container.find('.tp-bannertimer').css({'visibility':'hidden'}); + container.trigger('revolution.slide.onstop'); + opt.noloopanymore = 1; + } + + // INCREASE LOOP AMOUNTS + if (nextli.index()===opt.slideamount-1) { + opt.looptogo=opt.looptogo-1; + if (opt.looptogo<=0) + opt.stopLoop="on"; + } + + opt.tonpause = true; + container.trigger('stoptimer'); + opt.cd=0; + if (opt.spinner==="off") + container.find('.tp-loader').css({display:"none"}); + else + container.find('.tp-loader').css({display:"block"}); + + + loadImages(nextli,opt,1); + if (_R.preLoadAudio) _R.preLoadAudio(nextli,opt,1); + + // WAIT FOR SWAP SLIDE PROGRESS + waitForCurrentImages(nextli,opt,function() { + + + // MANAGE BG VIDEOS + nextli.find('.rs-background-video-layer').each(function() { + var _nc = jQuery(this); + if (!_nc.hasClass("HasListener")) { + _nc.data('bgvideo',1); + if (_R.manageVideoLayer) _R.manageVideoLayer(_nc,opt); + } + if (_nc.find('.rs-fullvideo-cover').length==0) + _nc.append('
') + }); + swapSlideProgress(opt,defimg,container) + }); + +} + +////////////////////////////////////// +// - PROGRESS SWAP THE SLIDES - // +///////////////////////////////////// +var swapSlideProgress = function(opt,defimg,container) { + + var actli = container.find('.active-revslide'), + nextli = container.find('.processing-revslide'), + actsh = actli.find('.slotholder'), + nextsh = nextli.find('.slotholder'); + + + opt.tonpause=false; + + opt.cd=0; + + + + + container.find('.tp-loader').css({display:"none"}); + // if ( opt.sliderType =="carousel") _R.prepareCarousel(opt); + _R.setSize(opt); + _R.slotSize(defimg,opt); + + if (_R.manageNavigation) _R.manageNavigation(opt); + var data={}; + data.nextslide=nextli; + data.currentslide=actli; + container.trigger('revolution.slide.onbeforeswap',data); + + opt.transition = 1; + opt.videoplaying = false; + + // IF DELAY HAS BEEN SET VIA THE SLIDE, WE TAKE THE NEW VALUE, OTHER WAY THE OLD ONE... + if (nextli.data('delay')!=undefined) { + opt.cd=0; + opt.delay=nextli.data('delay'); + } else + opt.delay=opt.origcd; + + + if (nextli.data('ssop')=="true" || nextli.data('ssop')===true) + opt.ssop = true + else + opt.ssop = false; + + + + container.trigger('nulltimer'); + + var ai = actli.index(), + ni = nextli.index(); + opt.sdir = ni-1) + opt.looptogo=opt.stopAfterLoops; + else + opt.looptogo=9999999; + + if (opt.stopAtSlide!=undefined && opt.stopAtSlide>-1) + opt.lastslidetoshow=opt.stopAtSlide; + else + opt.lastslidetoshow=999; + + opt.stopLoop="off"; + + if (opt.looptogo==0) opt.stopLoop="on"; + + + var bt=container.find('.tp-bannertimer'); + + // LISTENERS //container.trigger('stoptimer'); + container.on('stoptimer',function() { + + var bt = jQuery(this).find('.tp-bannertimer'); + bt.data('tween').pause(); + if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"}); + opt.sliderstatus = "paused"; + _R.unToggleState(opt.slidertoggledby); + }); + + + container.on('starttimer',function() { + if (opt.forcepause_viatoggle) return; + if (opt.conthover!=1 && opt.videoplaying!=true && opt.width>opt.hideSliderAtLimit && opt.tonpause != true && opt.overnav !=true && opt.ssop!=true) + if (opt.noloopanymore !== 1 && (!opt.viewPort.enable || opt.inviewport)) { + + bt.css({visibility:"visible"}); + bt.data('tween').resume(); + opt.sliderstatus = "playing"; + } + + if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"}); + _R.toggleState(opt.slidertoggledby); + }); + + + container.on('restarttimer',function() { + if (opt.forcepause_viatoggle) return; + var bt = jQuery(this).find('.tp-bannertimer'); + if (opt.mouseoncontainer && opt.navigation.onHoverStop=="on" && (!_ISM)) return false; + if (opt.noloopanymore !== 1 && (!opt.viewPort.enable || opt.inviewport) && opt.ssop!=true) { + bt.css({visibility:"visible"}); + bt.data('tween').kill(); + + bt.data('tween',punchgs.TweenLite.fromTo(bt,opt.delay/1000,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:countDownNext,delay:1})); + opt.sliderstatus = "playing"; + } + if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"}); + _R.toggleState(opt.slidertoggledby); + }); + + container.on('nulltimer',function() { + bt.data('tween').kill(); + bt.data('tween',punchgs.TweenLite.fromTo(bt,opt.delay/1000,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:countDownNext,delay:1})); + bt.data('tween').pause(0); + if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"}); + opt.sliderstatus = "paused"; + }); + + var countDownNext = function() { + if (jQuery('body').find(container).length==0) { + removeAllListeners(container,opt); + clearInterval(opt.cdint); + } + + container.trigger("revolution.slide.slideatend"); + + //STATE OF API CHANGED -> MOVE TO AIP BETTER + if (container.data('conthover-changed') == 1) { + opt.conthover= container.data('conthover'); + container.data('conthover-changed',0); + } + + _R.callingNewSlide(opt,container,1); + } + + bt.data('tween',punchgs.TweenLite.fromTo(bt,opt.delay/1000,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:countDownNext,delay:1})); + bt.data('opt',opt); + + if (opt.slideamount >1 && !(opt.stopAfterLoops==0 && opt.stopAtSlide==1)) { + container.trigger("starttimer"); + } + else { + opt.noloopanymore = 1; + + container.trigger("nulltimer"); + } + + container.on('tp-mouseenter',function() { + opt.mouseoncontainer = true; + if (opt.navigation.onHoverStop=="on" && (!_ISM)) { + container.trigger('stoptimer'); + container.trigger('revolution.slide.onpause'); + } + }); + container.on('tp-mouseleft',function() { + opt.mouseoncontainer = false; + if (container.data('conthover')!=1 && opt.navigation.onHoverStop=="on" && ((opt.viewPort.enable==true && opt.inviewport) || opt.viewPort.enable==false)) { + container.trigger('revolution.slide.onresume'); + container.trigger('starttimer'); + } + }); + +} + + + + +////////////////////////////////////////////////////// +// * Revolution Slider - NEEDFULL FUNCTIONS +// * @version: 1.0 (30.10.2014) +// * @author ThemePunch +////////////////////////////////////////////////////// + + + +// - BLUR / FOXUS FUNCTIONS ON BROWSER + +var vis = (function(){ + var stateKey, + eventKey, + keys = { + hidden: "visibilitychange", + webkitHidden: "webkitvisibilitychange", + mozHidden: "mozvisibilitychange", + msHidden: "msvisibilitychange" + }; + for (stateKey in keys) { + if (stateKey in document) { + eventKey = keys[stateKey]; + break; + } + } + return function(c) { + if (c) document.addEventListener(eventKey, c); + return !document[stateKey]; + } + })(); + +var restartOnFocus = function(opt) { + if (opt==undefined || opt.c==undefined) return false; + if (opt.windowfocused!=true) { + opt.windowfocused = true; + punchgs.TweenLite.delayedCall(0.3,function(){ + // TAB IS ACTIVE, WE CAN START ANY PART OF THE SLIDER + if (opt.fallbacks.nextSlideOnWindowFocus=="on") opt.c.revnext(); + opt.c.revredraw(); + if (opt.lastsliderstatus=="playing") + opt.c.revresume(); + }); + } +} + +var lastStatBlur = function(opt) { + opt.windowfocused = false; + opt.lastsliderstatus = opt.sliderstatus; + opt.c.revpause(); + var actsh = opt.c.find('.active-revslide .slotholder'), + nextsh = opt.c.find('.processing-revslide .slotholder'); + + if (nextsh.data('kenburns')=="on") + _R.stopKenBurn(nextsh,opt); + + if (actsh.data('kenburns')=="on") + _R.stopKenBurn(actsh,opt); + + +} + +var tabBlurringCheck = function(container,opt) { + var notIE = (document.documentMode === undefined), + isChromium = window.chrome; + + if (notIE && !isChromium) { + // checks for Firefox and other NON IE Chrome versions + jQuery(window).on("focusin", function () { + restartOnFocus(opt); + }).on("focusout", function () { + lastStatBlur(opt); + }); + } else { + // checks for IE and Chromium versions + if (window.addEventListener) { + // bind focus event + window.addEventListener("focus", function (event) { + restartOnFocus(opt); + }, false); + // bind blur event + window.addEventListener("blur", function (event) { + lastStatBlur(opt); + }, false); + + } else { + // bind focus event + window.attachEvent("focus", function (event) { + restartOnFocus(opt); + }); + // bind focus event + window.attachEvent("blur", function (event) { + lastStatBlur(opt); + }); + } + } +} + + +// - GET THE URL PARAMETER // + +var getUrlVars = function (hashdivider){ + var vars = [], hash; + var hashes = window.location.href.slice(window.location.href.indexOf(hashdivider) + 1).split('_'); + for(var i = 0; i < hashes.length; i++) + { + hashes[i] = hashes[i].replace('%3D',"="); + hash = hashes[i].split('='); + vars.push(hash[0]); + vars[hash[0]] = hash[1]; + } + return vars; +} +})(jQuery); \ No newline at end of file diff --git a/server/www/static/www/revolution/js/source/jquery.themepunch.tools.min.js b/server/www/static/www/revolution/js/source/jquery.themepunch.tools.min.js new file mode 100644 index 0000000..0b8f713 --- /dev/null +++ b/server/www/static/www/revolution/js/source/jquery.themepunch.tools.min.js @@ -0,0 +1,8503 @@ +/******************************************** + - THEMEPUNCH TOOLS Ver. 1.0 - + Last Update of Tools 27.02.2015 +*********************************************/ + + +/* +* @fileOverview TouchSwipe - jQuery Plugin +* @version 1.6.12 +* +* @author Matt Bryson http://www.github.com/mattbryson +* @see https://github.com/mattbryson/TouchSwipe-Jquery-Plugin +* @see http://labs.rampinteractive.co.uk/touchSwipe/ +* @see http://plugins.jquery.com/project/touchSwipe +* +* Copyright (c) 2010-2015 Matt Bryson +* Dual licensed under the MIT or GPL Version 2 licenses. +* +*/ + +/* +* +* Changelog +* $Date: 2010-12-12 (Wed, 12 Dec 2010) $ +* $version: 1.0.0 +* $version: 1.0.1 - removed multibyte comments +* +* $Date: 2011-21-02 (Mon, 21 Feb 2011) $ +* $version: 1.1.0 - added allowPageScroll property to allow swiping and scrolling of page +* - changed handler signatures so one handler can be used for multiple events +* $Date: 2011-23-02 (Wed, 23 Feb 2011) $ +* $version: 1.2.0 - added click handler. This is fired if the user simply clicks and does not swipe. The event object and click target are passed to handler. +* - If you use the http://code.google.com/p/jquery-ui-for-ipad-and-iphone/ plugin, you can also assign jQuery mouse events to children of a touchSwipe object. +* $version: 1.2.1 - removed console log! +* +* $version: 1.2.2 - Fixed bug where scope was not preserved in callback methods. +* +* $Date: 2011-28-04 (Thurs, 28 April 2011) $ +* $version: 1.2.4 - Changed licence terms to be MIT or GPL inline with jQuery. Added check for support of touch events to stop non compatible browsers erroring. +* +* $Date: 2011-27-09 (Tues, 27 September 2011) $ +* $version: 1.2.5 - Added support for testing swipes with mouse on desktop browser (thanks to https://github.com/joelhy) +* +* $Date: 2012-14-05 (Mon, 14 May 2012) $ +* $version: 1.2.6 - Added timeThreshold between start and end touch, so user can ignore slow swipes (thanks to Mark Chase). Default is null, all swipes are detected +* +* $Date: 2012-05-06 (Tues, 05 June 2012) $ +* $version: 1.2.7 - Changed time threshold to have null default for backwards compatibility. Added duration param passed back in events, and refactored how time is handled. +* +* $Date: 2012-05-06 (Tues, 05 June 2012) $ +* $version: 1.2.8 - Added the possibility to return a value like null or false in the trigger callback. In that way we can control when the touch start/move should take effect or not (simply by returning in some cases return null; or return false;) This effects the ontouchstart/ontouchmove event. +* +* $Date: 2012-06-06 (Wed, 06 June 2012) $ +* $version: 1.3.0 - Refactored whole plugin to allow for methods to be executed, as well as exposed defaults for user override. Added 'enable', 'disable', and 'destroy' methods +* +* $Date: 2012-05-06 (Fri, 05 June 2012) $ +* $version: 1.3.1 - Bug fixes - bind() with false as last argument is no longer supported in jQuery 1.6, also, if you just click, the duration is now returned correctly. +* +* $Date: 2012-29-07 (Sun, 29 July 2012) $ +* $version: 1.3.2 - Added fallbackToMouseEvents option to NOT capture mouse events on non touch devices. +* - Added "all" fingers value to the fingers property, so any combination of fingers triggers the swipe, allowing event handlers to check the finger count +* +* $Date: 2012-09-08 (Thurs, 9 Aug 2012) $ +* $version: 1.3.3 - Code tidy prep for minefied version +* +* $Date: 2012-04-10 (wed, 4 Oct 2012) $ +* $version: 1.4.0 - Added pinch support, pinchIn and pinchOut +* +* $Date: 2012-11-10 (Thurs, 11 Oct 2012) $ +* $version: 1.5.0 - Added excludedElements, a jquery selector that specifies child elements that do NOT trigger swipes. By default, this is one select that removes all form, input select, button and anchor elements. +* +* $Date: 2012-22-10 (Mon, 22 Oct 2012) $ +* $version: 1.5.1 - Fixed bug with jQuery 1.8 and trailing comma in excludedElements +* - Fixed bug with IE and eventPreventDefault() +* $Date: 2013-01-12 (Fri, 12 Jan 2013) $ +* $version: 1.6.0 - Fixed bugs with pinching, mainly when both pinch and swipe enabled, as well as adding time threshold for multifinger gestures, so releasing one finger beofre the other doesnt trigger as single finger gesture. +* - made the demo site all static local HTML pages so they can be run locally by a developer +* - added jsDoc comments and added documentation for the plugin +* - code tidy +* - added triggerOnTouchLeave property that will end the event when the user swipes off the element. +* $Date: 2013-03-23 (Sat, 23 Mar 2013) $ +* $version: 1.6.1 - Added support for ie8 touch events +* $version: 1.6.2 - Added support for events binding with on / off / bind in jQ for all callback names. +* - Deprecated the 'click' handler in favour of tap. +* - added cancelThreshold property +* - added option method to update init options at runtime +* $version 1.6.3 - added doubletap, longtap events and longTapThreshold, doubleTapThreshold property +* +* $Date: 2013-04-04 (Thurs, 04 April 2013) $ +* $version 1.6.4 - Fixed bug with cancelThreshold introduced in 1.6.3, where swipe status no longer fired start event, and stopped once swiping back. +* +* $Date: 2013-08-24 (Sat, 24 Aug 2013) $ +* $version 1.6.5 - Merged a few pull requests fixing various bugs, added AMD support. +* +* $Date: 2014-06-04 (Wed, 04 June 2014) $ +* $version 1.6.6 - Merge of pull requests. +* - IE10 touch support +* - Only prevent default event handling on valid swipe +* - Separate license/changelog comment +* - Detect if the swipe is valid at the end of the touch event. +* - Pass fingerdata to event handlers. +* - Add 'hold' gesture +* - Be more tolerant about the tap distance +* - Typos and minor fixes +* +* $Date: 2015-22-01 (Thurs, 22 Jan 2015) $ +* $version 1.6.7 - Added patch from https://github.com/mattbryson/TouchSwipe-Jquery-Plugin/issues/206 to fix memory leak +* +* $Date: 2015-2-2 (Mon, 2 Feb 2015) $ +* $version 1.6.8 - Added preventDefaultEvents option to proxy events regardless. +* - Fixed issue with swipe and pinch not triggering at the same time +* +* $Date: 2015-9-6 (Tues, 9 June 2015) $ +* $version 1.6.9 - Added PR from jdalton/hybrid to fix pointer events +* - Added scrolling demo +* - Added version property to plugin +* +* $Date: 2015-1-10 (Wed, 1 October 2015) $ +* $version 1.6.10 - Added PR from beatspace to fix tap events +* $version 1.6.11 - Added PRs from indri-indri ( Doc tidyup), kkirsche ( Bower tidy up ), UziTech (preventDefaultEvents fixes ) +* - Allowed setting multiple options via .swipe("options", options_hash) and more simply .swipe(options_hash) or exisitng instances +* $version 1.6.12 - Fixed bug with multi finger releases above 2 not triggering events +*/ + +/** + * See (http://jquery.com/). + * @name $ + * @class + * See the jQuery Library (http://jquery.com/) for full details. This just + * documents the function and classes that are added to jQuery by this plug-in. + */ + +/** + * See (http://jquery.com/) + * @name fn + * @class + * See the jQuery Library (http://jquery.com/) for full details. This just + * documents the function and classes that are added to jQuery by this plug-in. + * @memberOf $ + */ + + + +(function (factory) { + if (typeof define === 'function' && define.amd && define.amd.jQuery) { + // AMD. Register as anonymous module. + define(['jquery'], factory); + } else { + // Browser globals. + factory(jQuery); + } +}(function ($) { + "use strict"; + + //Constants + var VERSION = "1.6.12", + LEFT = "left", + RIGHT = "right", + UP = "up", + DOWN = "down", + IN = "in", + OUT = "out", + + NONE = "none", + AUTO = "auto", + + SWIPE = "swipe", + PINCH = "pinch", + TAP = "tap", + DOUBLE_TAP = "doubletap", + LONG_TAP = "longtap", + HOLD = "hold", + + HORIZONTAL = "horizontal", + VERTICAL = "vertical", + + ALL_FINGERS = "all", + + DOUBLE_TAP_THRESHOLD = 10, + + PHASE_START = "start", + PHASE_MOVE = "move", + PHASE_END = "end", + PHASE_CANCEL = "cancel", + + SUPPORTS_TOUCH = 'ontouchstart' in window, + + SUPPORTS_POINTER_IE10 = window.navigator.msPointerEnabled && !window.navigator.pointerEnabled, + + SUPPORTS_POINTER = window.navigator.pointerEnabled || window.navigator.msPointerEnabled, + + PLUGIN_NS = 'TouchSwipe'; + + + + /** + * The default configuration, and available options to configure touch swipe with. + * You can set the default values by updating any of the properties prior to instantiation. + * @name $.fn.swipe.defaults + * @namespace + * @property {int} [fingers=1] The number of fingers to detect in a swipe. Any swipes that do not meet this requirement will NOT trigger swipe handlers. + * @property {int} [threshold=75] The number of pixels that the user must move their finger by before it is considered a swipe. + * @property {int} [cancelThreshold=null] The number of pixels that the user must move their finger back from the original swipe direction to cancel the gesture. + * @property {int} [pinchThreshold=20] The number of pixels that the user must pinch their finger by before it is considered a pinch. + * @property {int} [maxTimeThreshold=null] Time, in milliseconds, between touchStart and touchEnd must NOT exceed in order to be considered a swipe. + * @property {int} [fingerReleaseThreshold=250] Time in milliseconds between releasing multiple fingers. If 2 fingers are down, and are released one after the other, if they are within this threshold, it counts as a simultaneous release. + * @property {int} [longTapThreshold=500] Time in milliseconds between tap and release for a long tap + * @property {int} [doubleTapThreshold=200] Time in milliseconds between 2 taps to count as a double tap + * @property {function} [swipe=null] A handler to catch all swipes. See {@link $.fn.swipe#event:swipe} + * @property {function} [swipeLeft=null] A handler that is triggered for "left" swipes. See {@link $.fn.swipe#event:swipeLeft} + * @property {function} [swipeRight=null] A handler that is triggered for "right" swipes. See {@link $.fn.swipe#event:swipeRight} + * @property {function} [swipeUp=null] A handler that is triggered for "up" swipes. See {@link $.fn.swipe#event:swipeUp} + * @property {function} [swipeDown=null] A handler that is triggered for "down" swipes. See {@link $.fn.swipe#event:swipeDown} + * @property {function} [swipeStatus=null] A handler triggered for every phase of the swipe. See {@link $.fn.swipe#event:swipeStatus} + * @property {function} [pinchIn=null] A handler triggered for pinch in events. See {@link $.fn.swipe#event:pinchIn} + * @property {function} [pinchOut=null] A handler triggered for pinch out events. See {@link $.fn.swipe#event:pinchOut} + * @property {function} [pinchStatus=null] A handler triggered for every phase of a pinch. See {@link $.fn.swipe#event:pinchStatus} + * @property {function} [tap=null] A handler triggered when a user just taps on the item, rather than swipes it. If they do not move, tap is triggered, if they do move, it is not. + * @property {function} [doubleTap=null] A handler triggered when a user double taps on the item. The delay between taps can be set with the doubleTapThreshold property. See {@link $.fn.swipe.defaults#doubleTapThreshold} + * @property {function} [longTap=null] A handler triggered when a user long taps on the item. The delay between start and end can be set with the longTapThreshold property. See {@link $.fn.swipe.defaults#longTapThreshold} + * @property (function) [hold=null] A handler triggered when a user reaches longTapThreshold on the item. See {@link $.fn.swipe.defaults#longTapThreshold} + * @property {boolean} [triggerOnTouchEnd=true] If true, the swipe events are triggered when the touch end event is received (user releases finger). If false, it will be triggered on reaching the threshold, and then cancel the touch event automatically. + * @property {boolean} [triggerOnTouchLeave=false] If true, then when the user leaves the swipe object, the swipe will end and trigger appropriate handlers. + * @property {string|undefined} [allowPageScroll='auto'] How the browser handles page scrolls when the user is swiping on a touchSwipe object. See {@link $.fn.swipe.pageScroll}.

+ "auto" : all undefined swipes will cause the page to scroll in that direction.
+ "none" : the page will not scroll when user swipes.
+ "horizontal" : will force page to scroll on horizontal swipes.
+ "vertical" : will force page to scroll on vertical swipes.
+ * @property {boolean} [fallbackToMouseEvents=true] If true mouse events are used when run on a non touch device, false will stop swipes being triggered by mouse events on non tocuh devices. + * @property {string} [excludedElements="button, input, select, textarea, a, .noSwipe"] A jquery selector that specifies child elements that do NOT trigger swipes. By default this excludes all form, input, select, button, anchor and .noSwipe elements. + * @property {boolean} [preventDefaultEvents=true] by default default events are cancelled, so the page doesn't move. You can dissable this so both native events fire as well as your handlers. + + */ + var defaults = { + fingers: 1, + threshold: 75, + cancelThreshold:null, + pinchThreshold:20, + maxTimeThreshold: null, + fingerReleaseThreshold:250, + longTapThreshold:500, + doubleTapThreshold:200, + swipe: null, + swipeLeft: null, + swipeRight: null, + swipeUp: null, + swipeDown: null, + swipeStatus: null, + pinchIn:null, + pinchOut:null, + pinchStatus:null, + click:null, //Deprecated since 1.6.2 + tap:null, + doubleTap:null, + longTap:null, + hold:null, + triggerOnTouchEnd: true, + triggerOnTouchLeave:false, + allowPageScroll: "auto", + fallbackToMouseEvents: true, + excludedElements:"label, button, input, select, textarea, a, .noSwipe", + preventDefaultEvents:true + }; + + + + /** + * Applies TouchSwipe behaviour to one or more jQuery objects. + * The TouchSwipe plugin can be instantiated via this method, or methods within + * TouchSwipe can be executed via this method as per jQuery plugin architecture. + * An existing plugin can have its options changed simply by re calling .swipe(options) + * @see TouchSwipe + * @class + * @param {Mixed} method If the current DOMNode is a TouchSwipe object, and method is a TouchSwipe method, then + * the method is executed, and any following arguments are passed to the TouchSwipe method. + * If method is an object, then the TouchSwipe class is instantiated on the current DOMNode, passing the + * configuration properties defined in the object. See TouchSwipe + * + */ + $.fn.swipe = function (method) { + var $this = $(this), + plugin = $this.data(PLUGIN_NS); + + //Check if we are already instantiated and trying to execute a method + if (plugin && typeof method === 'string') { + if (plugin[method]) { + return plugin[method].apply(this, Array.prototype.slice.call(arguments, 1)); + } else { + $.error('Method ' + method + ' does not exist on jQuery.swipe'); + } + } + + //Else update existing plugin with new options hash + else if (plugin && typeof method === 'object') { + plugin['option'].apply(this, arguments); + } + + //Else not instantiated and trying to pass init object (or nothing) + else if (!plugin && (typeof method === 'object' || !method)) { + return init.apply(this, arguments); + } + + return $this; + }; + + /** + * The version of the plugin + * @readonly + */ + $.fn.swipe.version = VERSION; + + + + //Expose our defaults so a user could override the plugin defaults + $.fn.swipe.defaults = defaults; + + /** + * The phases that a touch event goes through. The phase is passed to the event handlers. + * These properties are read only, attempting to change them will not alter the values passed to the event handlers. + * @namespace + * @readonly + * @property {string} PHASE_START Constant indicating the start phase of the touch event. Value is "start". + * @property {string} PHASE_MOVE Constant indicating the move phase of the touch event. Value is "move". + * @property {string} PHASE_END Constant indicating the end phase of the touch event. Value is "end". + * @property {string} PHASE_CANCEL Constant indicating the cancel phase of the touch event. Value is "cancel". + */ + $.fn.swipe.phases = { + PHASE_START: PHASE_START, + PHASE_MOVE: PHASE_MOVE, + PHASE_END: PHASE_END, + PHASE_CANCEL: PHASE_CANCEL + }; + + /** + * The direction constants that are passed to the event handlers. + * These properties are read only, attempting to change them will not alter the values passed to the event handlers. + * @namespace + * @readonly + * @property {string} LEFT Constant indicating the left direction. Value is "left". + * @property {string} RIGHT Constant indicating the right direction. Value is "right". + * @property {string} UP Constant indicating the up direction. Value is "up". + * @property {string} DOWN Constant indicating the down direction. Value is "cancel". + * @property {string} IN Constant indicating the in direction. Value is "in". + * @property {string} OUT Constant indicating the out direction. Value is "out". + */ + $.fn.swipe.directions = { + LEFT: LEFT, + RIGHT: RIGHT, + UP: UP, + DOWN: DOWN, + IN : IN, + OUT: OUT + }; + + /** + * The page scroll constants that can be used to set the value of allowPageScroll option + * These properties are read only + * @namespace + * @readonly + * @see $.fn.swipe.defaults#allowPageScroll + * @property {string} NONE Constant indicating no page scrolling is allowed. Value is "none". + * @property {string} HORIZONTAL Constant indicating horizontal page scrolling is allowed. Value is "horizontal". + * @property {string} VERTICAL Constant indicating vertical page scrolling is allowed. Value is "vertical". + * @property {string} AUTO Constant indicating either horizontal or vertical will be allowed, depending on the swipe handlers registered. Value is "auto". + */ + $.fn.swipe.pageScroll = { + NONE: NONE, + HORIZONTAL: HORIZONTAL, + VERTICAL: VERTICAL, + AUTO: AUTO + }; + + /** + * Constants representing the number of fingers used in a swipe. These are used to set both the value of fingers in the + * options object, as well as the value of the fingers event property. + * These properties are read only, attempting to change them will not alter the values passed to the event handlers. + * @namespace + * @readonly + * @see $.fn.swipe.defaults#fingers + * @property {string} ONE Constant indicating 1 finger is to be detected / was detected. Value is 1. + * @property {string} TWO Constant indicating 2 fingers are to be detected / were detected. Value is 2. + * @property {string} THREE Constant indicating 3 finger are to be detected / were detected. Value is 3. + * @property {string} FOUR Constant indicating 4 finger are to be detected / were detected. Not all devices support this. Value is 4. + * @property {string} FIVE Constant indicating 5 finger are to be detected / were detected. Not all devices support this. Value is 5. + * @property {string} ALL Constant indicating any combination of finger are to be detected. Value is "all". + */ + $.fn.swipe.fingers = { + ONE: 1, + TWO: 2, + THREE: 3, + FOUR: 4, + FIVE: 5, + ALL: ALL_FINGERS + }; + + /** + * Initialise the plugin for each DOM element matched + * This creates a new instance of the main TouchSwipe class for each DOM element, and then + * saves a reference to that instance in the elements data property. + * @internal + */ + function init(options) { + //Prep and extend the options + if (options && (options.allowPageScroll === undefined && (options.swipe !== undefined || options.swipeStatus !== undefined))) { + options.allowPageScroll = NONE; + } + + //Check for deprecated options + //Ensure that any old click handlers are assigned to the new tap, unless we have a tap + if(options.click!==undefined && options.tap===undefined) { + options.tap = options.click; + } + + if (!options) { + options = {}; + } + + //pass empty object so we dont modify the defaults + options = $.extend({}, $.fn.swipe.defaults, options); + + //For each element instantiate the plugin + return this.each(function () { + var $this = $(this); + + //Check we havent already initialised the plugin + var plugin = $this.data(PLUGIN_NS); + + if (!plugin) { + plugin = new TouchSwipe(this, options); + $this.data(PLUGIN_NS, plugin); + } + }); + } + + /** + * Main TouchSwipe Plugin Class. + * Do not use this to construct your TouchSwipe object, use the jQuery plugin method $.fn.swipe(); {@link $.fn.swipe} + * @private + * @name TouchSwipe + * @param {DOMNode} element The HTML DOM object to apply to plugin to + * @param {Object} options The options to configure the plugin with. @link {$.fn.swipe.defaults} + * @see $.fh.swipe.defaults + * @see $.fh.swipe + * @class + */ + function TouchSwipe(element, options) { + + //take a local/instacne level copy of the options - should make it this.options really... + var options = $.extend({}, options); + + var useTouchEvents = (SUPPORTS_TOUCH || SUPPORTS_POINTER || !options.fallbackToMouseEvents), + START_EV = useTouchEvents ? (SUPPORTS_POINTER ? (SUPPORTS_POINTER_IE10 ? 'MSPointerDown' : 'pointerdown') : 'touchstart') : 'mousedown', + MOVE_EV = useTouchEvents ? (SUPPORTS_POINTER ? (SUPPORTS_POINTER_IE10 ? 'MSPointerMove' : 'pointermove') : 'touchmove') : 'mousemove', + END_EV = useTouchEvents ? (SUPPORTS_POINTER ? (SUPPORTS_POINTER_IE10 ? 'MSPointerUp' : 'pointerup') : 'touchend') : 'mouseup', + LEAVE_EV = useTouchEvents ? null : 'mouseleave', //we manually detect leave on touch devices, so null event here + CANCEL_EV = (SUPPORTS_POINTER ? (SUPPORTS_POINTER_IE10 ? 'MSPointerCancel' : 'pointercancel') : 'touchcancel'); + + + + //touch properties + var distance = 0, + direction = null, + duration = 0, + startTouchesDistance = 0, + endTouchesDistance = 0, + pinchZoom = 1, + pinchDistance = 0, + pinchDirection = 0, + maximumsMap=null; + + + + //jQuery wrapped element for this instance + var $element = $(element); + + //Current phase of th touch cycle + var phase = "start"; + + // the current number of fingers being used. + var fingerCount = 0; + + //track mouse points / delta + var fingerData = {}; + + //track times + var startTime = 0, + endTime = 0, + previousTouchEndTime=0, + fingerCountAtRelease=0, + doubleTapStartTime=0; + + //Timeouts + var singleTapTimeout=null, + holdTimeout=null; + + // Add gestures to all swipable areas if supported + try { + $element.bind(START_EV, touchStart); + $element.bind(CANCEL_EV, touchCancel); + } + catch (e) { + $.error('events not supported ' + START_EV + ',' + CANCEL_EV + ' on jQuery.swipe'); + } + + // + //Public methods + // + + /** + * re-enables the swipe plugin with the previous configuration + * @function + * @name $.fn.swipe#enable + * @return {DOMNode} The Dom element that was registered with TouchSwipe + * @example $("#element").swipe("enable"); + */ + this.enable = function () { + $element.bind(START_EV, touchStart); + $element.bind(CANCEL_EV, touchCancel); + return $element; + }; + + /** + * disables the swipe plugin + * @function + * @name $.fn.swipe#disable + * @return {DOMNode} The Dom element that is now registered with TouchSwipe + * @example $("#element").swipe("disable"); + */ + this.disable = function () { + removeListeners(); + return $element; + }; + + /** + * Destroy the swipe plugin completely. To use any swipe methods, you must re initialise the plugin. + * @function + * @name $.fn.swipe#destroy + * @example $("#element").swipe("destroy"); + */ + this.destroy = function () { + removeListeners(); + $element.data(PLUGIN_NS, null); + $element = null; + }; + + + /** + * Allows run time updating of the swipe configuration options. + * @function + * @name $.fn.swipe#option + * @param {String} property The option property to get or set, or a has of multiple options to set + * @param {Object} [value] The value to set the property to + * @return {Object} If only a property name is passed, then that property value is returned. If nothing is passed the current options hash is returned. + * @example $("#element").swipe("option", "threshold"); // return the threshold + * @example $("#element").swipe("option", "threshold", 100); // set the threshold after init + * @example $("#element").swipe("option", {threshold:100, fingers:3} ); // set multiple properties after init + * @example $("#element").swipe({threshold:100, fingers:3} ); // set multiple properties after init - the "option" method is optional! + * @example $("#element").swipe("option"); // Return the current options hash + * @see $.fn.swipe.defaults + * + */ + this.option = function (property, value) { + + if(typeof property === 'object') { + options = $.extend(options, property); + } else if(options[property]!==undefined) { + if(value===undefined) { + return options[property]; + } else { + options[property] = value; + } + } else if (!property) { + return options; + } else { + $.error('Option ' + property + ' does not exist on jQuery.swipe.options'); + } + + return null; + } + + + + // + // Private methods + // + + // + // EVENTS + // + /** + * Event handler for a touch start event. + * Stops the default click event from triggering and stores where we touched + * @inner + * @param {object} jqEvent The normalised jQuery event object. + */ + function touchStart(jqEvent) { + + //If we already in a touch event (a finger already in use) then ignore subsequent ones.. + if( getTouchInProgress() ) + return; + + //Check if this element matches any in the excluded elements selectors, or its parent is excluded, if so, DON'T swipe + if( $(jqEvent.target).closest( options.excludedElements, $element ).length>0 ) + return; + + //As we use Jquery bind for events, we need to target the original event object + //If these events are being programmatically triggered, we don't have an original event object, so use the Jq one. + var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent; + + var ret, + touches = event.touches, + evt = touches ? touches[0] : event; + + phase = PHASE_START; + + //If we support touches, get the finger count + if (touches) { + // get the total number of fingers touching the screen + fingerCount = touches.length; + } + //Else this is the desktop, so stop the browser from dragging content + else if(options.preventDefaultEvents !== false) { + jqEvent.preventDefault(); //call this on jq event so we are cross browser + } + + //clear vars.. + distance = 0; + direction = null; + pinchDirection=null; + duration = 0; + startTouchesDistance=0; + endTouchesDistance=0; + pinchZoom = 1; + pinchDistance = 0; + maximumsMap=createMaximumsData(); + cancelMultiFingerRelease(); + + //Create the default finger data + createFingerData( 0, evt ); + + // check the number of fingers is what we are looking for, or we are capturing pinches + if (!touches || (fingerCount === options.fingers || options.fingers === ALL_FINGERS) || hasPinches()) { + // get the coordinates of the touch + startTime = getTimeStamp(); + + if(fingerCount==2) { + //Keep track of the initial pinch distance, so we can calculate the diff later + //Store second finger data as start + createFingerData( 1, touches[1] ); + startTouchesDistance = endTouchesDistance = calculateTouchesDistance(fingerData[0].start, fingerData[1].start); + } + + if (options.swipeStatus || options.pinchStatus) { + ret = triggerHandler(event, phase); + } + } + else { + //A touch with more or less than the fingers we are looking for, so cancel + ret = false; + } + + //If we have a return value from the users handler, then return and cancel + if (ret === false) { + phase = PHASE_CANCEL; + triggerHandler(event, phase); + return ret; + } + else { + if (options.hold) { + holdTimeout = setTimeout($.proxy(function() { + //Trigger the event + $element.trigger('hold', [event.target]); + //Fire the callback + if(options.hold) { + ret = options.hold.call($element, event, event.target); + } + }, this), options.longTapThreshold ); + } + + setTouchInProgress(true); + } + + return null; + }; + + + + /** + * Event handler for a touch move event. + * If we change fingers during move, then cancel the event + * @inner + * @param {object} jqEvent The normalised jQuery event object. + */ + function touchMove(jqEvent) { + + //As we use Jquery bind for events, we need to target the original event object + //If these events are being programmatically triggered, we don't have an original event object, so use the Jq one. + var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent; + + //If we are ending, cancelling, or within the threshold of 2 fingers being released, don't track anything.. + if (phase === PHASE_END || phase === PHASE_CANCEL || inMultiFingerRelease()) + return; + + var ret, + touches = event.touches, + evt = touches ? touches[0] : event; + + + //Update the finger data + var currentFinger = updateFingerData(evt); + endTime = getTimeStamp(); + + if (touches) { + fingerCount = touches.length; + } + + if (options.hold) + clearTimeout(holdTimeout); + + phase = PHASE_MOVE; + + //If we have 2 fingers get Touches distance as well + if(fingerCount==2) { + + //Keep track of the initial pinch distance, so we can calculate the diff later + //We do this here as well as the start event, in case they start with 1 finger, and the press 2 fingers + if(startTouchesDistance==0) { + //Create second finger if this is the first time... + createFingerData( 1, touches[1] ); + + startTouchesDistance = endTouchesDistance = calculateTouchesDistance(fingerData[0].start, fingerData[1].start); + } else { + //Else just update the second finger + updateFingerData(touches[1]); + + endTouchesDistance = calculateTouchesDistance(fingerData[0].end, fingerData[1].end); + pinchDirection = calculatePinchDirection(fingerData[0].end, fingerData[1].end); + } + + + pinchZoom = calculatePinchZoom(startTouchesDistance, endTouchesDistance); + pinchDistance = Math.abs(startTouchesDistance - endTouchesDistance); + } + + + + + if ( (fingerCount === options.fingers || options.fingers === ALL_FINGERS) || !touches || hasPinches() ) { + + direction = calculateDirection(currentFinger.start, currentFinger.end); + + //Check if we need to prevent default event (page scroll / pinch zoom) or not + validateDefaultEvent(jqEvent, direction); + + //Distance and duration are all off the main finger + distance = calculateDistance(currentFinger.start, currentFinger.end); + duration = calculateDuration(); + + //Cache the maximum distance we made in this direction + setMaxDistance(direction, distance); + + + if (options.swipeStatus || options.pinchStatus) { + ret = triggerHandler(event, phase); + } + + + //If we trigger end events when threshold are met, or trigger events when touch leaves element + if(!options.triggerOnTouchEnd || options.triggerOnTouchLeave) { + + var inBounds = true; + + //If checking if we leave the element, run the bounds check (we can use touchleave as its not supported on webkit) + if(options.triggerOnTouchLeave) { + var bounds = getbounds( this ); + inBounds = isInBounds( currentFinger.end, bounds ); + } + + //Trigger end handles as we swipe if thresholds met or if we have left the element if the user has asked to check these.. + if(!options.triggerOnTouchEnd && inBounds) { + phase = getNextPhase( PHASE_MOVE ); + } + //We end if out of bounds here, so set current phase to END, and check if its modified + else if(options.triggerOnTouchLeave && !inBounds ) { + phase = getNextPhase( PHASE_END ); + } + + if(phase==PHASE_CANCEL || phase==PHASE_END) { + triggerHandler(event, phase); + } + } + } + else { + phase = PHASE_CANCEL; + triggerHandler(event, phase); + } + + if (ret === false) { + phase = PHASE_CANCEL; + triggerHandler(event, phase); + } + } + + + + + /** + * Event handler for a touch end event. + * Calculate the direction and trigger events + * @inner + * @param {object} jqEvent The normalised jQuery event object. + */ + function touchEnd(jqEvent) { + //As we use Jquery bind for events, we need to target the original event object + //If these events are being programmatically triggered, we don't have an original event object, so use the Jq one. + var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent, + touches = event.touches; + + //If we are still in a touch with the device wait a fraction and see if the other finger comes up + //if it does within the threshold, then we treat it as a multi release, not a single release and end the touch / swipe + if (touches) { + if(touches.length && !inMultiFingerRelease()) { + startMultiFingerRelease(); + return true; + } else if (touches.length && inMultiFingerRelease()) { + return true; + } + } + + //If a previous finger has been released, check how long ago, if within the threshold, then assume it was a multifinger release. + //This is used to allow 2 fingers to release fractionally after each other, whilst maintainig the event as containg 2 fingers, not 1 + if(inMultiFingerRelease()) { + fingerCount=fingerCountAtRelease; + } + + //Set end of swipe + endTime = getTimeStamp(); + + //Get duration incase move was never fired + duration = calculateDuration(); + + //If we trigger handlers at end of swipe OR, we trigger during, but they didnt trigger and we are still in the move phase + if(didSwipeBackToCancel() || !validateSwipeDistance()) { + phase = PHASE_CANCEL; + triggerHandler(event, phase); + } else if (options.triggerOnTouchEnd || (options.triggerOnTouchEnd == false && phase === PHASE_MOVE)) { + //call this on jq event so we are cross browser + if(options.preventDefaultEvents !== false) { + jqEvent.preventDefault(); + } + phase = PHASE_END; + triggerHandler(event, phase); + } + //Special cases - A tap should always fire on touch end regardless, + //So here we manually trigger the tap end handler by itself + //We dont run trigger handler as it will re-trigger events that may have fired already + else if (!options.triggerOnTouchEnd && hasTap()) { + //Trigger the pinch events... + phase = PHASE_END; + triggerHandlerForGesture(event, phase, TAP); + } + else if (phase === PHASE_MOVE) { + phase = PHASE_CANCEL; + triggerHandler(event, phase); + } + + setTouchInProgress(false); + + return null; + } + + + + /** + * Event handler for a touch cancel event. + * Clears current vars + * @inner + */ + function touchCancel() { + // reset the variables back to default values + fingerCount = 0; + endTime = 0; + startTime = 0; + startTouchesDistance=0; + endTouchesDistance=0; + pinchZoom=1; + + //If we were in progress of tracking a possible multi touch end, then re set it. + cancelMultiFingerRelease(); + + setTouchInProgress(false); + } + + + /** + * Event handler for a touch leave event. + * This is only triggered on desktops, in touch we work this out manually + * as the touchleave event is not supported in webkit + * @inner + */ + function touchLeave(jqEvent) { + //If these events are being programmatically triggered, we don't have an original event object, so use the Jq one. + var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent; + + //If we have the trigger on leave property set.... + if(options.triggerOnTouchLeave) { + phase = getNextPhase( PHASE_END ); + triggerHandler(event, phase); + } + } + + /** + * Removes all listeners that were associated with the plugin + * @inner + */ + function removeListeners() { + $element.unbind(START_EV, touchStart); + $element.unbind(CANCEL_EV, touchCancel); + $element.unbind(MOVE_EV, touchMove); + $element.unbind(END_EV, touchEnd); + + //we only have leave events on desktop, we manually calculate leave on touch as its not supported in webkit + if(LEAVE_EV) { + $element.unbind(LEAVE_EV, touchLeave); + } + + setTouchInProgress(false); + } + + + /** + * Checks if the time and distance thresholds have been met, and if so then the appropriate handlers are fired. + */ + function getNextPhase(currentPhase) { + + var nextPhase = currentPhase; + + // Ensure we have valid swipe (under time and over distance and check if we are out of bound...) + var validTime = validateSwipeTime(); + var validDistance = validateSwipeDistance(); + var didCancel = didSwipeBackToCancel(); + + //If we have exceeded our time, then cancel + if(!validTime || didCancel) { + nextPhase = PHASE_CANCEL; + } + //Else if we are moving, and have reached distance then end + else if (validDistance && currentPhase == PHASE_MOVE && (!options.triggerOnTouchEnd || options.triggerOnTouchLeave) ) { + nextPhase = PHASE_END; + } + //Else if we have ended by leaving and didn't reach distance, then cancel + else if (!validDistance && currentPhase==PHASE_END && options.triggerOnTouchLeave) { + nextPhase = PHASE_CANCEL; + } + + return nextPhase; + } + + + /** + * Trigger the relevant event handler + * The handlers are passed the original event, the element that was swiped, and in the case of the catch all handler, the direction that was swiped, "left", "right", "up", or "down" + * @param {object} event the original event object + * @param {string} phase the phase of the swipe (start, end cancel etc) {@link $.fn.swipe.phases} + * @inner + */ + function triggerHandler(event, phase) { + + var ret, + touches = event.touches; + + //Swipes and pinches are not mutually exclusive - can happend at same time, so need to trigger 2 events potentially + if( (didSwipe() && hasSwipes()) || (didPinch() && hasPinches()) ) { + // SWIPE GESTURES + if(didSwipe() && hasSwipes()) { //hasSwipes as status needs to fire even if swipe is invalid + //Trigger the swipe events... + ret = triggerHandlerForGesture(event, phase, SWIPE); + } + + // PINCH GESTURES (if the above didn't cancel) + if((didPinch() && hasPinches()) && ret!==false) { + //Trigger the pinch events... + ret = triggerHandlerForGesture(event, phase, PINCH); + } + } + else { + + // CLICK / TAP (if the above didn't cancel) + if(didDoubleTap() && ret!==false) { + //Trigger the tap events... + ret = triggerHandlerForGesture(event, phase, DOUBLE_TAP); + } + + // CLICK / TAP (if the above didn't cancel) + else if(didLongTap() && ret!==false) { + //Trigger the tap events... + ret = triggerHandlerForGesture(event, phase, LONG_TAP); + } + + // CLICK / TAP (if the above didn't cancel) + else if(didTap() && ret!==false) { + //Trigger the tap event.. + ret = triggerHandlerForGesture(event, phase, TAP); + } + } + + // If we are cancelling the gesture, then manually trigger the reset handler + if (phase === PHASE_CANCEL) { + if(hasSwipes() ) { + ret = triggerHandlerForGesture(event, phase, SWIPE); + } + + if(hasPinches()) { + ret = triggerHandlerForGesture(event, phase, PINCH); + } + touchCancel(event); + } + + // If we are ending the gesture, then manually trigger the reset handler IF all fingers are off + if(phase === PHASE_END) { + //If we support touch, then check that all fingers are off before we cancel + if (touches) { + if(!touches.length) { + touchCancel(event); + } + } + else { + touchCancel(event); + } + } + + return ret; + } + + + + /** + * Trigger the relevant event handler + * The handlers are passed the original event, the element that was swiped, and in the case of the catch all handler, the direction that was swiped, "left", "right", "up", or "down" + * @param {object} event the original event object + * @param {string} phase the phase of the swipe (start, end cancel etc) {@link $.fn.swipe.phases} + * @param {string} gesture the gesture to trigger a handler for : PINCH or SWIPE {@link $.fn.swipe.gestures} + * @return Boolean False, to indicate that the event should stop propagation, or void. + * @inner + */ + function triggerHandlerForGesture(event, phase, gesture) { + + var ret; + + //SWIPES.... + if(gesture==SWIPE) { + //Trigger status every time.. + + //Trigger the event... + $element.trigger('swipeStatus', [phase, direction || null, distance || 0, duration || 0, fingerCount, fingerData]); + + //Fire the callback + if (options.swipeStatus) { + ret = options.swipeStatus.call($element, event, phase, direction || null, distance || 0, duration || 0, fingerCount, fingerData); + //If the status cancels, then dont run the subsequent event handlers.. + if(ret===false) return false; + } + + + + + if (phase == PHASE_END && validateSwipe()) { + //Fire the catch all event + $element.trigger('swipe', [direction, distance, duration, fingerCount, fingerData]); + + //Fire catch all callback + if (options.swipe) { + ret = options.swipe.call($element, event, direction, distance, duration, fingerCount, fingerData); + //If the status cancels, then dont run the subsequent event handlers.. + if(ret===false) return false; + } + + //trigger direction specific event handlers + switch (direction) { + case LEFT: + //Trigger the event + $element.trigger('swipeLeft', [direction, distance, duration, fingerCount, fingerData]); + + //Fire the callback + if (options.swipeLeft) { + ret = options.swipeLeft.call($element, event, direction, distance, duration, fingerCount, fingerData); + } + break; + + case RIGHT: + //Trigger the event + $element.trigger('swipeRight', [direction, distance, duration, fingerCount, fingerData]); + + //Fire the callback + if (options.swipeRight) { + ret = options.swipeRight.call($element, event, direction, distance, duration, fingerCount, fingerData); + } + break; + + case UP: + //Trigger the event + $element.trigger('swipeUp', [direction, distance, duration, fingerCount, fingerData]); + + //Fire the callback + if (options.swipeUp) { + ret = options.swipeUp.call($element, event, direction, distance, duration, fingerCount, fingerData); + } + break; + + case DOWN: + //Trigger the event + $element.trigger('swipeDown', [direction, distance, duration, fingerCount, fingerData]); + + //Fire the callback + if (options.swipeDown) { + ret = options.swipeDown.call($element, event, direction, distance, duration, fingerCount, fingerData); + } + break; + } + } + } + + + //PINCHES.... + if(gesture==PINCH) { + //Trigger the event + $element.trigger('pinchStatus', [phase, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData]); + + //Fire the callback + if (options.pinchStatus) { + ret = options.pinchStatus.call($element, event, phase, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData); + //If the status cancels, then dont run the subsequent event handlers.. + if(ret===false) return false; + } + + if(phase==PHASE_END && validatePinch()) { + + switch (pinchDirection) { + case IN: + //Trigger the event + $element.trigger('pinchIn', [pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData]); + + //Fire the callback + if (options.pinchIn) { + ret = options.pinchIn.call($element, event, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData); + } + break; + + case OUT: + //Trigger the event + $element.trigger('pinchOut', [pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData]); + + //Fire the callback + if (options.pinchOut) { + ret = options.pinchOut.call($element, event, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData); + } + break; + } + } + } + + + + + + if(gesture==TAP) { + if(phase === PHASE_CANCEL || phase === PHASE_END) { + + + //Cancel any existing double tap + clearTimeout(singleTapTimeout); + //Cancel hold timeout + clearTimeout(holdTimeout); + + //If we are also looking for doubelTaps, wait incase this is one... + if(hasDoubleTap() && !inDoubleTap()) { + //Cache the time of this tap + doubleTapStartTime = getTimeStamp(); + + //Now wait for the double tap timeout, and trigger this single tap + //if its not cancelled by a double tap + singleTapTimeout = setTimeout($.proxy(function() { + doubleTapStartTime=null; + //Trigger the event + $element.trigger('tap', [event.target]); + + + //Fire the callback + if(options.tap) { + ret = options.tap.call($element, event, event.target); + } + }, this), options.doubleTapThreshold ); + + } else { + doubleTapStartTime=null; + + //Trigger the event + $element.trigger('tap', [event.target]); + + + //Fire the callback + if(options.tap) { + ret = options.tap.call($element, event, event.target); + } + } + } + } + + else if (gesture==DOUBLE_TAP) { + if(phase === PHASE_CANCEL || phase === PHASE_END) { + //Cancel any pending singletap + clearTimeout(singleTapTimeout); + doubleTapStartTime=null; + + //Trigger the event + $element.trigger('doubletap', [event.target]); + + //Fire the callback + if(options.doubleTap) { + ret = options.doubleTap.call($element, event, event.target); + } + } + } + + else if (gesture==LONG_TAP) { + if(phase === PHASE_CANCEL || phase === PHASE_END) { + //Cancel any pending singletap (shouldnt be one) + clearTimeout(singleTapTimeout); + doubleTapStartTime=null; + + //Trigger the event + $element.trigger('longtap', [event.target]); + + //Fire the callback + if(options.longTap) { + ret = options.longTap.call($element, event, event.target); + } + } + } + + return ret; + } + + + + + // + // GESTURE VALIDATION + // + + /** + * Checks the user has swipe far enough + * @return Boolean if threshold has been set, return true if the threshold was met, else false. + * If no threshold was set, then we return true. + * @inner + */ + function validateSwipeDistance() { + var valid = true; + //If we made it past the min swipe distance.. + if (options.threshold !== null) { + valid = distance >= options.threshold; + } + + return valid; + } + + /** + * Checks the user has swiped back to cancel. + * @return Boolean if cancelThreshold has been set, return true if the cancelThreshold was met, else false. + * If no cancelThreshold was set, then we return true. + * @inner + */ + function didSwipeBackToCancel() { + var cancelled = false; + if(options.cancelThreshold !== null && direction !==null) { + cancelled = (getMaxDistance( direction ) - distance) >= options.cancelThreshold; + } + + return cancelled; + } + + /** + * Checks the user has pinched far enough + * @return Boolean if pinchThreshold has been set, return true if the threshold was met, else false. + * If no threshold was set, then we return true. + * @inner + */ + function validatePinchDistance() { + if (options.pinchThreshold !== null) { + return pinchDistance >= options.pinchThreshold; + } + return true; + } + + /** + * Checks that the time taken to swipe meets the minimum / maximum requirements + * @return Boolean + * @inner + */ + function validateSwipeTime() { + var result; + //If no time set, then return true + + if (options.maxTimeThreshold) { + if (duration >= options.maxTimeThreshold) { + result = false; + } else { + result = true; + } + } + else { + result = true; + } + + return result; + } + + + + /** + * Checks direction of the swipe and the value allowPageScroll to see if we should allow or prevent the default behaviour from occurring. + * This will essentially allow page scrolling or not when the user is swiping on a touchSwipe object. + * @param {object} jqEvent The normalised jQuery representation of the event object. + * @param {string} direction The direction of the event. See {@link $.fn.swipe.directions} + * @see $.fn.swipe.directions + * @inner + */ + function validateDefaultEvent(jqEvent, direction) { + + //If we have no pinches, then do this + //If we have a pinch, and we we have 2 fingers or more down, then dont allow page scroll. + + //If the option is set, allways allow the event to bubble up (let user handle wiredness) + if( options.preventDefaultEvents === false) { + return; + } + + if (options.allowPageScroll === NONE) { + jqEvent.preventDefault(); + } else { + var auto = options.allowPageScroll === AUTO; + + switch (direction) { + case LEFT: + if ((options.swipeLeft && auto) || (!auto && options.allowPageScroll != HORIZONTAL)) { + jqEvent.preventDefault(); + } + break; + + case RIGHT: + if ((options.swipeRight && auto) || (!auto && options.allowPageScroll != HORIZONTAL)) { + jqEvent.preventDefault(); + } + break; + + case UP: + if ((options.swipeUp && auto) || (!auto && options.allowPageScroll != VERTICAL)) { + jqEvent.preventDefault(); + } + break; + + case DOWN: + if ((options.swipeDown && auto) || (!auto && options.allowPageScroll != VERTICAL)) { + jqEvent.preventDefault(); + } + break; + } + } + + } + + + // PINCHES + /** + * Returns true of the current pinch meets the thresholds + * @return Boolean + * @inner + */ + function validatePinch() { + var hasCorrectFingerCount = validateFingers(); + var hasEndPoint = validateEndPoint(); + var hasCorrectDistance = validatePinchDistance(); + return hasCorrectFingerCount && hasEndPoint && hasCorrectDistance; + + } + + /** + * Returns true if any Pinch events have been registered + * @return Boolean + * @inner + */ + function hasPinches() { + //Enure we dont return 0 or null for false values + return !!(options.pinchStatus || options.pinchIn || options.pinchOut); + } + + /** + * Returns true if we are detecting pinches, and have one + * @return Boolean + * @inner + */ + function didPinch() { + //Enure we dont return 0 or null for false values + return !!(validatePinch() && hasPinches()); + } + + + + + // SWIPES + /** + * Returns true if the current swipe meets the thresholds + * @return Boolean + * @inner + */ + function validateSwipe() { + //Check validity of swipe + var hasValidTime = validateSwipeTime(); + var hasValidDistance = validateSwipeDistance(); + var hasCorrectFingerCount = validateFingers(); + var hasEndPoint = validateEndPoint(); + var didCancel = didSwipeBackToCancel(); + + // if the user swiped more than the minimum length, perform the appropriate action + // hasValidDistance is null when no distance is set + var valid = !didCancel && hasEndPoint && hasCorrectFingerCount && hasValidDistance && hasValidTime; + + return valid; + } + + /** + * Returns true if any Swipe events have been registered + * @return Boolean + * @inner + */ + function hasSwipes() { + //Enure we dont return 0 or null for false values + return !!(options.swipe || options.swipeStatus || options.swipeLeft || options.swipeRight || options.swipeUp || options.swipeDown); + } + + + /** + * Returns true if we are detecting swipes and have one + * @return Boolean + * @inner + */ + function didSwipe() { + //Enure we dont return 0 or null for false values + return !!(validateSwipe() && hasSwipes()); + } + + /** + * Returns true if we have matched the number of fingers we are looking for + * @return Boolean + * @inner + */ + function validateFingers() { + //The number of fingers we want were matched, or on desktop we ignore + return ((fingerCount === options.fingers || options.fingers === ALL_FINGERS) || !SUPPORTS_TOUCH); + } + + /** + * Returns true if we have an end point for the swipe + * @return Boolean + * @inner + */ + function validateEndPoint() { + //We have an end value for the finger + return fingerData[0].end.x !== 0; + } + + // TAP / CLICK + /** + * Returns true if a click / tap events have been registered + * @return Boolean + * @inner + */ + function hasTap() { + //Enure we dont return 0 or null for false values + return !!(options.tap) ; + } + + /** + * Returns true if a double tap events have been registered + * @return Boolean + * @inner + */ + function hasDoubleTap() { + //Enure we dont return 0 or null for false values + return !!(options.doubleTap) ; + } + + /** + * Returns true if any long tap events have been registered + * @return Boolean + * @inner + */ + function hasLongTap() { + //Enure we dont return 0 or null for false values + return !!(options.longTap) ; + } + + /** + * Returns true if we could be in the process of a double tap (one tap has occurred, we are listening for double taps, and the threshold hasn't past. + * @return Boolean + * @inner + */ + function validateDoubleTap() { + if(doubleTapStartTime==null){ + return false; + } + var now = getTimeStamp(); + return (hasDoubleTap() && ((now-doubleTapStartTime) <= options.doubleTapThreshold)); + } + + /** + * Returns true if we could be in the process of a double tap (one tap has occurred, we are listening for double taps, and the threshold hasn't past. + * @return Boolean + * @inner + */ + function inDoubleTap() { + return validateDoubleTap(); + } + + + /** + * Returns true if we have a valid tap + * @return Boolean + * @inner + */ + function validateTap() { + return ((fingerCount === 1 || !SUPPORTS_TOUCH) && (isNaN(distance) || distance < options.threshold)); + } + + /** + * Returns true if we have a valid long tap + * @return Boolean + * @inner + */ + function validateLongTap() { + //slight threshold on moving finger + return ((duration > options.longTapThreshold) && (distance < DOUBLE_TAP_THRESHOLD)); + } + + /** + * Returns true if we are detecting taps and have one + * @return Boolean + * @inner + */ + function didTap() { + //Enure we dont return 0 or null for false values + return !!(validateTap() && hasTap()); + } + + + /** + * Returns true if we are detecting double taps and have one + * @return Boolean + * @inner + */ + function didDoubleTap() { + //Enure we dont return 0 or null for false values + return !!(validateDoubleTap() && hasDoubleTap()); + } + + /** + * Returns true if we are detecting long taps and have one + * @return Boolean + * @inner + */ + function didLongTap() { + //Enure we dont return 0 or null for false values + return !!(validateLongTap() && hasLongTap()); + } + + + + + // MULTI FINGER TOUCH + /** + * Starts tracking the time between 2 finger releases, and keeps track of how many fingers we initially had up + * @inner + */ + function startMultiFingerRelease() { + previousTouchEndTime = getTimeStamp(); + fingerCountAtRelease = event.touches.length+1; + } + + /** + * Cancels the tracking of time between 2 finger releases, and resets counters + * @inner + */ + function cancelMultiFingerRelease() { + previousTouchEndTime = 0; + fingerCountAtRelease = 0; + } + + /** + * Checks if we are in the threshold between 2 fingers being released + * @return Boolean + * @inner + */ + function inMultiFingerRelease() { + + var withinThreshold = false; + + if(previousTouchEndTime) { + var diff = getTimeStamp() - previousTouchEndTime + if( diff<=options.fingerReleaseThreshold ) { + withinThreshold = true; + } + } + + return withinThreshold; + } + + + /** + * gets a data flag to indicate that a touch is in progress + * @return Boolean + * @inner + */ + function getTouchInProgress() { + //strict equality to ensure only true and false are returned + return !!($element.data(PLUGIN_NS+'_intouch') === true); + } + + /** + * Sets a data flag to indicate that a touch is in progress + * @param {boolean} val The value to set the property to + * @inner + */ + function setTouchInProgress(val) { + + //Add or remove event listeners depending on touch status + if(val===true) { + $element.bind(MOVE_EV, touchMove); + $element.bind(END_EV, touchEnd); + + //we only have leave events on desktop, we manually calcuate leave on touch as its not supported in webkit + if(LEAVE_EV) { + $element.bind(LEAVE_EV, touchLeave); + } + } else { + + $element.unbind(MOVE_EV, touchMove, false); + $element.unbind(END_EV, touchEnd, false); + + //we only have leave events on desktop, we manually calcuate leave on touch as its not supported in webkit + if(LEAVE_EV) { + $element.unbind(LEAVE_EV, touchLeave, false); + } + } + + + //strict equality to ensure only true and false can update the value + $element.data(PLUGIN_NS+'_intouch', val === true); + } + + + /** + * Creates the finger data for the touch/finger in the event object. + * @param {int} id The id to store the finger data under (usually the order the fingers were pressed) + * @param {object} evt The event object containing finger data + * @return finger data object + * @inner + */ + function createFingerData(id, evt) { + var f = { + start:{ x: 0, y: 0 }, + end:{ x: 0, y: 0 } + }; + f.start.x = f.end.x = evt.pageX||evt.clientX; + f.start.y = f.end.y = evt.pageY||evt.clientY; + fingerData[id] = f; + return f; + } + + /** + * Updates the finger data for a particular event object + * @param {object} evt The event object containing the touch/finger data to upadte + * @return a finger data object. + * @inner + */ + function updateFingerData(evt) { + var id = evt.identifier!==undefined ? evt.identifier : 0; + var f = getFingerData( id ); + + if (f === null) { + f = createFingerData(id, evt); + } + + f.end.x = evt.pageX||evt.clientX; + f.end.y = evt.pageY||evt.clientY; + + return f; + } + + /** + * Returns a finger data object by its event ID. + * Each touch event has an identifier property, which is used + * to track repeat touches + * @param {int} id The unique id of the finger in the sequence of touch events. + * @return a finger data object. + * @inner + */ + function getFingerData(id) { + return fingerData[id] || null; + } + + + /** + * Sets the maximum distance swiped in the given direction. + * If the new value is lower than the current value, the max value is not changed. + * @param {string} direction The direction of the swipe + * @param {int} distance The distance of the swipe + * @inner + */ + function setMaxDistance(direction, distance) { + distance = Math.max(distance, getMaxDistance(direction) ); + maximumsMap[direction].distance = distance; + } + + /** + * gets the maximum distance swiped in the given direction. + * @param {string} direction The direction of the swipe + * @return int The distance of the swipe + * @inner + */ + function getMaxDistance(direction) { + if (maximumsMap[direction]) return maximumsMap[direction].distance; + return undefined; + } + + /** + * Creats a map of directions to maximum swiped values. + * @return Object A dictionary of maximum values, indexed by direction. + * @inner + */ + function createMaximumsData() { + var maxData={}; + maxData[LEFT]=createMaximumVO(LEFT); + maxData[RIGHT]=createMaximumVO(RIGHT); + maxData[UP]=createMaximumVO(UP); + maxData[DOWN]=createMaximumVO(DOWN); + + return maxData; + } + + /** + * Creates a map maximum swiped values for a given swipe direction + * @param {string} The direction that these values will be associated with + * @return Object Maximum values + * @inner + */ + function createMaximumVO(dir) { + return { + direction:dir, + distance:0 + } + } + + + // + // MATHS / UTILS + // + + /** + * Calculate the duration of the swipe + * @return int + * @inner + */ + function calculateDuration() { + return endTime - startTime; + } + + /** + * Calculate the distance between 2 touches (pinch) + * @param {point} startPoint A point object containing x and y co-ordinates + * @param {point} endPoint A point object containing x and y co-ordinates + * @return int; + * @inner + */ + function calculateTouchesDistance(startPoint, endPoint) { + var diffX = Math.abs(startPoint.x - endPoint.x); + var diffY = Math.abs(startPoint.y - endPoint.y); + + return Math.round(Math.sqrt(diffX*diffX+diffY*diffY)); + } + + /** + * Calculate the zoom factor between the start and end distances + * @param {int} startDistance Distance (between 2 fingers) the user started pinching at + * @param {int} endDistance Distance (between 2 fingers) the user ended pinching at + * @return float The zoom value from 0 to 1. + * @inner + */ + function calculatePinchZoom(startDistance, endDistance) { + var percent = (endDistance/startDistance) * 1; + return percent.toFixed(2); + } + + + /** + * Returns the pinch direction, either IN or OUT for the given points + * @return string Either {@link $.fn.swipe.directions.IN} or {@link $.fn.swipe.directions.OUT} + * @see $.fn.swipe.directions + * @inner + */ + function calculatePinchDirection() { + if(pinchZoom<1) { + return OUT; + } + else { + return IN; + } + } + + + /** + * Calculate the length / distance of the swipe + * @param {point} startPoint A point object containing x and y co-ordinates + * @param {point} endPoint A point object containing x and y co-ordinates + * @return int + * @inner + */ + function calculateDistance(startPoint, endPoint) { + return Math.round(Math.sqrt(Math.pow(endPoint.x - startPoint.x, 2) + Math.pow(endPoint.y - startPoint.y, 2))); + } + + /** + * Calculate the angle of the swipe + * @param {point} startPoint A point object containing x and y co-ordinates + * @param {point} endPoint A point object containing x and y co-ordinates + * @return int + * @inner + */ + function calculateAngle(startPoint, endPoint) { + var x = startPoint.x - endPoint.x; + var y = endPoint.y - startPoint.y; + var r = Math.atan2(y, x); //radians + var angle = Math.round(r * 180 / Math.PI); //degrees + + //ensure value is positive + if (angle < 0) { + angle = 360 - Math.abs(angle); + } + + return angle; + } + + /** + * Calculate the direction of the swipe + * This will also call calculateAngle to get the latest angle of swipe + * @param {point} startPoint A point object containing x and y co-ordinates + * @param {point} endPoint A point object containing x and y co-ordinates + * @return string Either {@link $.fn.swipe.directions.LEFT} / {@link $.fn.swipe.directions.RIGHT} / {@link $.fn.swipe.directions.DOWN} / {@link $.fn.swipe.directions.UP} + * @see $.fn.swipe.directions + * @inner + */ + function calculateDirection(startPoint, endPoint ) { + var angle = calculateAngle(startPoint, endPoint); + + if ((angle <= 45) && (angle >= 0)) { + return LEFT; + } else if ((angle <= 360) && (angle >= 315)) { + return LEFT; + } else if ((angle >= 135) && (angle <= 225)) { + return RIGHT; + } else if ((angle > 45) && (angle < 135)) { + return DOWN; + } else { + return UP; + } + } + + + /** + * Returns a MS time stamp of the current time + * @return int + * @inner + */ + function getTimeStamp() { + var now = new Date(); + return now.getTime(); + } + + + + /** + * Returns a bounds object with left, right, top and bottom properties for the element specified. + * @param {DomNode} The DOM node to get the bounds for. + */ + function getbounds( el ) { + el = $(el); + var offset = el.offset(); + + var bounds = { + left:offset.left, + right:offset.left+el.outerWidth(), + top:offset.top, + bottom:offset.top+el.outerHeight() + } + + return bounds; + } + + + /** + * Checks if the point object is in the bounds object. + * @param {object} point A point object. + * @param {int} point.x The x value of the point. + * @param {int} point.y The x value of the point. + * @param {object} bounds The bounds object to test + * @param {int} bounds.left The leftmost value + * @param {int} bounds.right The righttmost value + * @param {int} bounds.top The topmost value + * @param {int} bounds.bottom The bottommost value + */ + function isInBounds(point, bounds) { + return (point.x > bounds.left && point.x < bounds.right && point.y > bounds.top && point.y < bounds.bottom); + }; + + + } + + + + +/** + * A catch all handler that is triggered for all swipe directions. + * @name $.fn.swipe#swipe + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user swiped in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user swiped + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {object} fingerData The coordinates of fingers in event + */ + + + + +/** + * A handler that is triggered for "left" swipes. + * @name $.fn.swipe#swipeLeft + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user swiped in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user swiped + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler that is triggered for "right" swipes. + * @name $.fn.swipe#swipeRight + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user swiped in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user swiped + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler that is triggered for "up" swipes. + * @name $.fn.swipe#swipeUp + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user swiped in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user swiped + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler that is triggered for "down" swipes. + * @name $.fn.swipe#swipeDown + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user swiped in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user swiped + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler triggered for every phase of the swipe. This handler is constantly fired for the duration of the pinch. + * This is triggered regardless of swipe thresholds. + * @name $.fn.swipe#swipeStatus + * @event + * @default null + * @param {EventObject} event The original event object + * @param {string} phase The phase of the swipe event. See {@link $.fn.swipe.phases} + * @param {string} direction The direction the user swiped in. This is null if the user has yet to move. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user swiped. This is 0 if the user has yet to move. + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler triggered for pinch in events. + * @name $.fn.swipe#pinchIn + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user pinched in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user pinched + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {int} zoom The zoom/scale level the user pinched too, 0-1. + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler triggered for pinch out events. + * @name $.fn.swipe#pinchOut + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user pinched in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user pinched + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {int} zoom The zoom/scale level the user pinched too, 0-1. + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A handler triggered for all pinch events. This handler is constantly fired for the duration of the pinch. This is triggered regardless of thresholds. + * @name $.fn.swipe#pinchStatus + * @event + * @default null + * @param {EventObject} event The original event object + * @param {int} direction The direction the user pinched in. See {@link $.fn.swipe.directions} + * @param {int} distance The distance the user pinched + * @param {int} duration The duration of the swipe in milliseconds + * @param {int} fingerCount The number of fingers used. See {@link $.fn.swipe.fingers} + * @param {int} zoom The zoom/scale level the user pinched too, 0-1. + * @param {object} fingerData The coordinates of fingers in event + */ + +/** + * A click handler triggered when a user simply clicks, rather than swipes on an element. + * This is deprecated since version 1.6.2, any assignment to click will be assigned to the tap handler. + * You cannot use on to bind to this event as the default jQ click event will be triggered. + * Use the tap event instead. + * @name $.fn.swipe#click + * @event + * @deprecated since version 1.6.2, please use {@link $.fn.swipe#tap} instead + * @default null + * @param {EventObject} event The original event object + * @param {DomObject} target The element clicked on. + */ + + /** + * A click / tap handler triggered when a user simply clicks or taps, rather than swipes on an element. + * @name $.fn.swipe#tap + * @event + * @default null + * @param {EventObject} event The original event object + * @param {DomObject} target The element clicked on. + */ + +/** + * A double tap handler triggered when a user double clicks or taps on an element. + * You can set the time delay for a double tap with the {@link $.fn.swipe.defaults#doubleTapThreshold} property. + * Note: If you set both doubleTap and tap handlers, the tap event will be delayed by the doubleTapThreshold + * as the script needs to check if its a double tap. + * @name $.fn.swipe#doubleTap + * @see $.fn.swipe.defaults#doubleTapThreshold + * @event + * @default null + * @param {EventObject} event The original event object + * @param {DomObject} target The element clicked on. + */ + + /** + * A long tap handler triggered once a tap has been release if the tap was longer than the longTapThreshold. + * You can set the time delay for a long tap with the {@link $.fn.swipe.defaults#longTapThreshold} property. + * @name $.fn.swipe#longTap + * @see $.fn.swipe.defaults#longTapThreshold + * @event + * @default null + * @param {EventObject} event The original event object + * @param {DomObject} target The element clicked on. + */ + + /** + * A hold tap handler triggered as soon as the longTapThreshold is reached + * You can set the time delay for a long tap with the {@link $.fn.swipe.defaults#longTapThreshold} property. + * @name $.fn.swipe#hold + * @see $.fn.swipe.defaults#longTapThreshold + * @event + * @default null + * @param {EventObject} event The original event object + * @param {DomObject} target The element clicked on. + */ + +})); + + +// THEMEPUNCH INTERNAL HANDLINGS +if(typeof(console) === 'undefined') { + var console = {}; + console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = console.groupCollapsed = function() {}; +} + +// THEMEPUNCH LOGS +if (window.tplogs==true) + try { + console.groupCollapsed("ThemePunch GreenSocks Logs"); + } catch(e) { } + +// SANDBOX GREENSOCK +var oldgs = window.GreenSockGlobals; + oldgs_queue = window._gsQueue; + +var punchgs = window.GreenSockGlobals = {}; + +if (window.tplogs==true) + try { + console.info("Build GreenSock SandBox for ThemePunch Plugins"); + console.info("GreenSock TweenLite Engine Initalised by ThemePunch Plugin"); + } catch(e) {} + +/*! + * VERSION: 1.18.0 + * DATE: 2015-09-03 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ +(function(window, moduleName) { + + "use strict"; + var _globals = window.GreenSockGlobals = window.GreenSockGlobals || window; + if (_globals.TweenLite) { + return; //in case the core set of classes is already loaded, don't instantiate twice. + } + var _namespace = function(ns) { + var a = ns.split("."), + p = _globals, i; + for (i = 0; i < a.length; i++) { + p[a[i]] = p = p[a[i]] || {}; + } + return p; + }, + gs = _namespace("com.greensock"), + _tinyNum = 0.0000000001, + _slice = function(a) { //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])) {} + return b; + }, + _emptyFunc = function() {}, + _isArray = (function() { //works around issues in iframe environments where the Array global isn't shared, thus if the object originates in a different window/iframe, "(obj instanceof Array)" will evaluate false. We added some speed optimizations to avoid Object.prototype.toString.call() unless it's absolutely necessary because it's VERY slow (like 20x slower) + var toString = Object.prototype.toString, + array = toString.call([]); + return function(obj) { + return obj != null && (obj instanceof Array || (typeof(obj) === "object" && !!obj.push && toString.call(obj) === array)); + }; + }()), + a, i, p, _ticker, _tickerActive, + _defLookup = {}, + + /** + * @constructor + * Defines a GreenSock class, optionally with an array of dependencies that must be instantiated first and passed into the definition. + * This allows users to load GreenSock JS files in any order even if they have interdependencies (like CSSPlugin extends TweenPlugin which is + * inside TweenLite.js, but if CSSPlugin is loaded first, it should wait to run its code until TweenLite.js loads and instantiates TweenPlugin + * and then pass TweenPlugin to CSSPlugin's definition). This is all done automatically and internally. + * + * Every definition will be added to a "com.greensock" global object (typically window, but if a window.GreenSockGlobals object is found, + * it will go there as of v1.7). For example, TweenLite will be found at window.com.greensock.TweenLite and since it's a global class that should be available anywhere, + * it is ALSO referenced at window.TweenLite. However some classes aren't considered global, like the base com.greensock.core.Animation class, so + * those will only be at the package like window.com.greensock.core.Animation. Again, if you define a GreenSockGlobals object on the window, everything + * gets tucked neatly inside there instead of on the window directly. This allows you to do advanced things like load multiple versions of GreenSock + * files and put them into distinct objects (imagine a banner ad uses a newer version but the main site uses an older one). In that case, you could + * sandbox the banner one like: + * + * + * + * + * + * + * + * @param {!string} ns The namespace of the class definition, leaving off "com.greensock." as that's assumed. For example, "TweenLite" or "plugins.CSSPlugin" or "easing.Back". + * @param {!Array.} dependencies An array of dependencies (described as their namespaces minus "com.greensock." prefix). For example ["TweenLite","plugins.TweenPlugin","core.Animation"] + * @param {!function():Object} func The function that should be called and passed the resolved dependencies which will return the actual class for this definition. + * @param {boolean=} global If true, the class will be added to the global scope (typically window unless you define a window.GreenSockGlobals object) + */ + Definition = function(ns, dependencies, func, global) { + this.sc = (_defLookup[ns]) ? _defLookup[ns].sc : []; //subclasses + _defLookup[ns] = this; + this.gsClass = null; + this.func = func; + var _classes = []; + this.check = function(init) { + var i = dependencies.length, + missing = i, + cur, a, n, cl, hasModule; + while (--i > -1) { + if ((cur = _defLookup[dependencies[i]] || new Definition(dependencies[i], [])).gsClass) { + _classes[i] = cur.gsClass; + missing--; + } else if (init) { + cur.sc.push(this); + } + } + if (missing === 0 && func) { + a = ("com.greensock." + ns).split("."); + n = a.pop(); + cl = _namespace(a.join("."))[n] = this.gsClass = func.apply(func, _classes); + + //exports to multiple environments + if (global) { + _globals[n] = cl; //provides a way to avoid global namespace pollution. By default, the main classes like TweenLite, Power1, Strong, etc. are added to window unless a GreenSockGlobals is defined. So if you want to have things added to a custom object instead, just do something like window.GreenSockGlobals = {} before loading any GreenSock files. You can even set up an alias like window.GreenSockGlobals = windows.gs = {} so that you can access everything like gs.TweenLite. Also remember that ALL classes are added to the window.com.greensock object (in their respective packages, like com.greensock.easing.Power1, com.greensock.TweenLite, etc.) + hasModule = (typeof(module) !== "undefined" && module.exports); + if (!hasModule && typeof(define) === "function" && define.amd){ //AMD + define((window.GreenSockAMDPath ? window.GreenSockAMDPath + "/" : "") + ns.split(".").pop(), [], function() { return cl; }); + } else if (ns === moduleName && hasModule){ //node + module.exports = cl; + } + } + for (i = 0; i < this.sc.length; i++) { + this.sc[i].check(); + } + } + }; + this.check(true); + }, + + //used to create Definition instances (which basically registers a class that has dependencies). + _gsDefine = window._gsDefine = function(ns, dependencies, func, global) { + return new Definition(ns, dependencies, func, global); + }, + + //a quick way to create a class that doesn't have any dependencies. Returns the class, but first registers it in the GreenSock namespace so that other classes can grab it (other classes might be dependent on the class). + _class = gs._class = function(ns, func, global) { + func = func || function() {}; + _gsDefine(ns, [], function(){ return func; }, global); + return func; + }; + + _gsDefine.globals = _globals; + + + +/* + * ---------------------------------------------------------------- + * Ease + * ---------------------------------------------------------------- + */ + var _baseParams = [0, 0, 1, 1], + _blankArray = [], + Ease = _class("easing.Ease", function(func, extraParams, type, power) { + this._func = func; + this._type = type || 0; + this._power = power || 0; + this._params = extraParams ? _baseParams.concat(extraParams) : _baseParams; + }, true), + _easeMap = Ease.map = {}, + _easeReg = Ease.register = function(ease, names, types, create) { + var na = names.split(","), + i = na.length, + ta = (types || "easeIn,easeOut,easeInOut").split(","), + e, name, j, type; + while (--i > -1) { + name = na[i]; + e = create ? _class("easing."+name, null, true) : gs.easing[name] || {}; + j = ta.length; + while (--j > -1) { + type = ta[j]; + _easeMap[name + "." + type] = _easeMap[type + name] = e[type] = ease.getRatio ? ease : ease[type] || new ease(); + } + } + }; + + p = Ease.prototype; + p._calcEnd = false; + p.getRatio = function(p) { + if (this._func) { + this._params[0] = p; + return this._func.apply(null, this._params); + } + var t = this._type, + pw = this._power, + r = (t === 1) ? 1 - p : (t === 2) ? p : (p < 0.5) ? p * 2 : (1 - p) * 2; + if (pw === 1) { + r *= r; + } else if (pw === 2) { + r *= r * r; + } else if (pw === 3) { + r *= r * r * r; + } else if (pw === 4) { + r *= r * r * r * r; + } + return (t === 1) ? 1 - r : (t === 2) ? r : (p < 0.5) ? r / 2 : 1 - (r / 2); + }; + + //create all the standard eases like Linear, Quad, Cubic, Quart, Quint, Strong, Power0, Power1, Power2, Power3, and Power4 (each with easeIn, easeOut, and easeInOut) + a = ["Linear","Quad","Cubic","Quart","Quint,Strong"]; + i = a.length; + while (--i > -1) { + p = a[i]+",Power"+i; + _easeReg(new Ease(null,null,1,i), p, "easeOut", true); + _easeReg(new Ease(null,null,2,i), p, "easeIn" + ((i === 0) ? ",easeNone" : "")); + _easeReg(new Ease(null,null,3,i), p, "easeInOut"); + } + _easeMap.linear = gs.easing.Linear.easeIn; + _easeMap.swing = gs.easing.Quad.easeInOut; //for jQuery folks + + +/* + * ---------------------------------------------------------------- + * EventDispatcher + * ---------------------------------------------------------------- + */ + var EventDispatcher = _class("events.EventDispatcher", function(target) { + this._listeners = {}; + this._eventTarget = target || this; + }); + p = EventDispatcher.prototype; + + p.addEventListener = function(type, callback, scope, useParam, priority) { + priority = priority || 0; + var list = this._listeners[type], + index = 0, + listener, i; + if (list == null) { + this._listeners[type] = list = []; + } + i = list.length; + while (--i > -1) { + listener = list[i]; + if (listener.c === callback && listener.s === scope) { + list.splice(i, 1); + } else if (index === 0 && listener.pr < priority) { + index = i + 1; + } + } + list.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority}); + if (this === _ticker && !_tickerActive) { + _ticker.wake(); + } + }; + + p.removeEventListener = function(type, callback) { + var list = this._listeners[type], i; + if (list) { + i = list.length; + while (--i > -1) { + if (list[i].c === callback) { + list.splice(i, 1); + return; + } + } + } + }; + + p.dispatchEvent = function(type) { + var list = this._listeners[type], + i, t, listener; + if (list) { + i = list.length; + t = this._eventTarget; + while (--i > -1) { + listener = list[i]; + if (listener) { + if (listener.up) { + listener.c.call(listener.s || t, {type:type, target:t}); + } else { + listener.c.call(listener.s || t); + } + } + } + } + }; + + +/* + * ---------------------------------------------------------------- + * Ticker + * ---------------------------------------------------------------- + */ + var _reqAnimFrame = window.requestAnimationFrame, + _cancelAnimFrame = window.cancelAnimationFrame, + _getTime = Date.now || function() {return new Date().getTime();}, + _lastUpdate = _getTime(); + + //now try to determine the requestAnimationFrame and cancelAnimationFrame functions and if none are found, we'll use a setTimeout()/clearTimeout() polyfill. + a = ["ms","moz","webkit","o"]; + i = a.length; + while (--i > -1 && !_reqAnimFrame) { + _reqAnimFrame = window[a[i] + "RequestAnimationFrame"]; + _cancelAnimFrame = window[a[i] + "CancelAnimationFrame"] || window[a[i] + "CancelRequestAnimationFrame"]; + } + + _class("Ticker", function(fps, useRAF) { + var _self = this, + _startTime = _getTime(), + _useRAF = (useRAF !== false && _reqAnimFrame), + _lagThreshold = 500, + _adjustedLag = 33, + _tickWord = "tick", //helps reduce gc burden + _fps, _req, _id, _gap, _nextTime, + _tick = function(manual) { + var elapsed = _getTime() - _lastUpdate, + overlap, dispatch; + if (elapsed > _lagThreshold) { + _startTime += elapsed - _adjustedLag; + } + _lastUpdate += elapsed; + _self.time = (_lastUpdate - _startTime) / 1000; + overlap = _self.time - _nextTime; + if (!_fps || overlap > 0 || manual === true) { + _self.frame++; + _nextTime += overlap + (overlap >= _gap ? 0.004 : _gap - overlap); + dispatch = true; + } + if (manual !== true) { //make sure the request is made before we dispatch the "tick" event so that timing is maintained. Otherwise, if processing the "tick" requires a bunch of time (like 15ms) and we're using a setTimeout() that's based on 16.7ms, it'd technically take 31.7ms between frames otherwise. + _id = _req(_tick); + } + if (dispatch) { + _self.dispatchEvent(_tickWord); + } + }; + + EventDispatcher.call(_self); + _self.time = _self.frame = 0; + _self.tick = function() { + _tick(true); + }; + + _self.lagSmoothing = function(threshold, adjustedLag) { + _lagThreshold = threshold || (1 / _tinyNum); //zero should be interpreted as basically unlimited + _adjustedLag = Math.min(adjustedLag, _lagThreshold, 0); + }; + + _self.sleep = function() { + if (_id == null) { + return; + } + if (!_useRAF || !_cancelAnimFrame) { + clearTimeout(_id); + } else { + _cancelAnimFrame(_id); + } + _req = _emptyFunc; + _id = null; + if (_self === _ticker) { + _tickerActive = false; + } + }; + + _self.wake = function() { + if (_id !== null) { + _self.sleep(); + } else if (_self.frame > 10) { //don't trigger lagSmoothing if we're just waking up, and make sure that at least 10 frames have elapsed because of the iOS bug that we work around below with the 1.5-second setTimout(). + _lastUpdate = _getTime() - _lagThreshold + 5; + } + _req = (_fps === 0) ? _emptyFunc : (!_useRAF || !_reqAnimFrame) ? function(f) { return setTimeout(f, ((_nextTime - _self.time) * 1000 + 1) | 0); } : _reqAnimFrame; + if (_self === _ticker) { + _tickerActive = true; + } + _tick(2); + }; + + _self.fps = function(value) { + if (!arguments.length) { + return _fps; + } + _fps = value; + _gap = 1 / (_fps || 60); + _nextTime = this.time + _gap; + _self.wake(); + }; + + _self.useRAF = function(value) { + if (!arguments.length) { + return _useRAF; + } + _self.sleep(); + _useRAF = value; + _self.fps(_fps); + }; + _self.fps(fps); + + //a bug in iOS 6 Safari occasionally prevents the requestAnimationFrame from working initially, so we use a 1.5-second timeout that automatically falls back to setTimeout() if it senses this condition. + setTimeout(function() { + if (_useRAF && _self.frame < 5) { + _self.useRAF(false); + } + }, 1500); + }); + + p = gs.Ticker.prototype = new gs.events.EventDispatcher(); + p.constructor = gs.Ticker; + + +/* + * ---------------------------------------------------------------- + * Animation + * ---------------------------------------------------------------- + */ + var Animation = _class("core.Animation", function(duration, vars) { + this.vars = vars = vars || {}; + this._duration = this._totalDuration = duration || 0; + this._delay = Number(vars.delay) || 0; + this._timeScale = 1; + this._active = (vars.immediateRender === true); + this.data = vars.data; + this._reversed = (vars.reversed === true); + + if (!_rootTimeline) { + return; + } + if (!_tickerActive) { //some browsers (like iOS 6 Safari) shut down JavaScript execution when the tab is disabled and they [occasionally] neglect to start up requestAnimationFrame again when returning - this code ensures that the engine starts up again properly. + _ticker.wake(); + } + + var tl = this.vars.useFrames ? _rootFramesTimeline : _rootTimeline; + tl.add(this, tl._time); + + if (this.vars.paused) { + this.paused(true); + } + }); + + _ticker = Animation.ticker = new gs.Ticker(); + p = Animation.prototype; + p._dirty = p._gc = p._initted = p._paused = false; + p._totalTime = p._time = 0; + p._rawPrevTime = -1; + p._next = p._last = p._onUpdate = p._timeline = p.timeline = null; + p._paused = false; + + + //some browsers (like iOS) occasionally drop the requestAnimationFrame event when the user switches to a different tab and then comes back again, so we use a 2-second setTimeout() to sense if/when that condition occurs and then wake() the ticker. + var _checkTimeout = function() { + if (_tickerActive && _getTime() - _lastUpdate > 2000) { + _ticker.wake(); + } + setTimeout(_checkTimeout, 2000); + }; + _checkTimeout(); + + + p.play = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.reversed(false).paused(false); + }; + + p.pause = function(atTime, suppressEvents) { + if (atTime != null) { + this.seek(atTime, suppressEvents); + } + return this.paused(true); + }; + + p.resume = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.paused(false); + }; + + p.seek = function(time, suppressEvents) { + return this.totalTime(Number(time), suppressEvents !== false); + }; + + p.restart = function(includeDelay, suppressEvents) { + return this.reversed(false).paused(false).totalTime(includeDelay ? -this._delay : 0, (suppressEvents !== false), true); + }; + + p.reverse = function(from, suppressEvents) { + if (from != null) { + this.seek((from || this.totalDuration()), suppressEvents); + } + return this.reversed(true).paused(false); + }; + + p.render = function(time, suppressEvents, force) { + //stub - we override this method in subclasses. + }; + + p.invalidate = function() { + this._time = this._totalTime = 0; + this._initted = this._gc = false; + this._rawPrevTime = -1; + if (this._gc || !this.timeline) { + this._enabled(true); + } + return this; + }; + + p.isActive = function() { + var tl = this._timeline, //the 2 root timelines won't have a _timeline; they're always active. + startTime = this._startTime, + rawTime; + return (!tl || (!this._gc && !this._paused && tl.isActive() && (rawTime = tl.rawTime()) >= startTime && rawTime < startTime + this.totalDuration() / this._timeScale)); + }; + + p._enabled = function (enabled, ignoreTimeline) { + if (!_tickerActive) { + _ticker.wake(); + } + this._gc = !enabled; + this._active = this.isActive(); + if (ignoreTimeline !== true) { + if (enabled && !this.timeline) { + this._timeline.add(this, this._startTime - this._delay); + } else if (!enabled && this.timeline) { + this._timeline._remove(this, true); + } + } + return false; + }; + + + p._kill = function(vars, target) { + return this._enabled(false, false); + }; + + p.kill = function(vars, target) { + this._kill(vars, target); + return this; + }; + + p._uncache = function(includeSelf) { + var tween = includeSelf ? this : this.timeline; + while (tween) { + tween._dirty = true; + tween = tween.timeline; + } + return this; + }; + + p._swapSelfInParams = function(params) { + var i = params.length, + copy = params.concat(); + while (--i > -1) { + if (params[i] === "{self}") { + copy[i] = this; + } + } + return copy; + }; + + p._callback = function(type) { + var v = this.vars; + v[type].apply(v[type + "Scope"] || v.callbackScope || this, v[type + "Params"] || _blankArray); + }; + +//----Animation getters/setters -------------------------------------------------------- + + p.eventCallback = function(type, callback, params, scope) { + if ((type || "").substr(0,2) === "on") { + var v = this.vars; + if (arguments.length === 1) { + return v[type]; + } + if (callback == null) { + delete v[type]; + } else { + v[type] = callback; + v[type + "Params"] = (_isArray(params) && params.join("").indexOf("{self}") !== -1) ? this._swapSelfInParams(params) : params; + v[type + "Scope"] = scope; + } + if (type === "onUpdate") { + this._onUpdate = callback; + } + } + return this; + }; + + p.delay = function(value) { + if (!arguments.length) { + return this._delay; + } + if (this._timeline.smoothChildTiming) { + this.startTime( this._startTime + value - this._delay ); + } + this._delay = value; + return this; + }; + + p.duration = function(value) { + if (!arguments.length) { + this._dirty = false; + return this._duration; + } + this._duration = this._totalDuration = value; + this._uncache(true); //true in case it's a TweenMax or TimelineMax that has a repeat - we'll need to refresh the totalDuration. + if (this._timeline.smoothChildTiming) if (this._time > 0) if (this._time < this._duration) if (value !== 0) { + this.totalTime(this._totalTime * (value / this._duration), true); + } + return this; + }; + + p.totalDuration = function(value) { + this._dirty = false; + return (!arguments.length) ? this._totalDuration : this.duration(value); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + return this.totalTime((value > this._duration) ? this._duration : value, suppressEvents); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + if (!_tickerActive) { + _ticker.wake(); + } + if (!arguments.length) { + return this._totalTime; + } + if (this._timeline) { + if (time < 0 && !uncapped) { + time += this.totalDuration(); + } + if (this._timeline.smoothChildTiming) { + if (this._dirty) { + this.totalDuration(); + } + var totalDuration = this._totalDuration, + tl = this._timeline; + if (time > totalDuration && !uncapped) { + time = totalDuration; + } + this._startTime = (this._paused ? this._pauseTime : tl._time) - ((!this._reversed ? time : totalDuration - time) / this._timeScale); + if (!tl._dirty) { //for performance improvement. If the parent's cache is already dirty, it already took care of marking the ancestors as dirty too, so skip the function call here. + this._uncache(false); + } + //in case any of the ancestor timelines had completed but should now be enabled, we should reset their totalTime() which will also ensure that they're lined up properly and enabled. Skip for animations that are on the root (wasteful). Example: a TimelineLite.exportRoot() is performed when there's a paused tween on the root, the export will not complete until that tween is unpaused, but imagine a child gets restarted later, after all [unpaused] tweens have completed. The startTime of that child would get pushed out, but one of the ancestors may have completed. + if (tl._timeline) { + while (tl._timeline) { + if (tl._timeline._time !== (tl._startTime + tl._totalTime) / tl._timeScale) { + tl.totalTime(tl._totalTime, true); + } + tl = tl._timeline; + } + } + } + if (this._gc) { + this._enabled(true, false); + } + if (this._totalTime !== time || this._duration === 0) { + if (_lazyTweens.length) { + _lazyRender(); + } + this.render(time, suppressEvents, false); + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when someone calls seek() or time() or progress(), they expect an immediate render. + _lazyRender(); + } + } + } + return this; + }; + + p.progress = p.totalProgress = function(value, suppressEvents) { + var duration = this.duration(); + return (!arguments.length) ? (duration ? this._time / duration : this.ratio) : this.totalTime(duration * value, suppressEvents); + }; + + p.startTime = function(value) { + if (!arguments.length) { + return this._startTime; + } + if (value !== this._startTime) { + this._startTime = value; + if (this.timeline) if (this.timeline._sortChildren) { + this.timeline.add(this, value - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + return this; + }; + + p.endTime = function(includeRepeats) { + return this._startTime + ((includeRepeats != false) ? this.totalDuration() : this.duration()) / this._timeScale; + }; + + p.timeScale = function(value) { + if (!arguments.length) { + return this._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + if (this._timeline && this._timeline.smoothChildTiming) { + var pauseTime = this._pauseTime, + t = (pauseTime || pauseTime === 0) ? pauseTime : this._timeline.totalTime(); + this._startTime = t - ((t - this._startTime) * this._timeScale / value); + } + this._timeScale = value; + return this._uncache(false); + }; + + p.reversed = function(value) { + if (!arguments.length) { + return this._reversed; + } + if (value != this._reversed) { + this._reversed = value; + this.totalTime(((this._timeline && !this._timeline.smoothChildTiming) ? this.totalDuration() - this._totalTime : this._totalTime), true); + } + return this; + }; + + p.paused = function(value) { + if (!arguments.length) { + return this._paused; + } + var tl = this._timeline, + raw, elapsed; + if (value != this._paused) if (tl) { + if (!_tickerActive && !value) { + _ticker.wake(); + } + raw = tl.rawTime(); + elapsed = raw - this._pauseTime; + if (!value && tl.smoothChildTiming) { + this._startTime += elapsed; + this._uncache(false); + } + this._pauseTime = value ? raw : null; + this._paused = value; + this._active = this.isActive(); + if (!value && elapsed !== 0 && this._initted && this.duration()) { + raw = tl.smoothChildTiming ? this._totalTime : (raw - this._startTime) / this._timeScale; + this.render(raw, (raw === this._totalTime), true); //in case the target's properties changed via some other tween or manual update by the user, we should force a render. + } + } + if (this._gc && !value) { + this._enabled(true, false); + } + return this; + }; + + +/* + * ---------------------------------------------------------------- + * SimpleTimeline + * ---------------------------------------------------------------- + */ + var SimpleTimeline = _class("core.SimpleTimeline", function(vars) { + Animation.call(this, 0, vars); + this.autoRemoveChildren = this.smoothChildTiming = true; + }); + + p = SimpleTimeline.prototype = new Animation(); + p.constructor = SimpleTimeline; + p.kill()._gc = false; + p._first = p._last = p._recent = null; + p._sortChildren = false; + + p.add = p.insert = function(child, position, align, stagger) { + var prevTween, st; + child._startTime = Number(position || 0) + child._delay; + if (child._paused) if (this !== child._timeline) { //we only adjust the _pauseTime if it wasn't in this timeline already. Remember, sometimes a tween will be inserted again into the same timeline when its startTime is changed so that the tweens in the TimelineLite/Max are re-ordered properly in the linked list (so everything renders in the proper order). + child._pauseTime = child._startTime + ((this.rawTime() - child._startTime) / child._timeScale); + } + if (child.timeline) { + child.timeline._remove(child, true); //removes from existing timeline so that it can be properly added to this one. + } + child.timeline = child._timeline = this; + if (child._gc) { + child._enabled(true, true); + } + prevTween = this._last; + if (this._sortChildren) { + st = child._startTime; + while (prevTween && prevTween._startTime > st) { + prevTween = prevTween._prev; + } + } + if (prevTween) { + child._next = prevTween._next; + prevTween._next = child; + } else { + child._next = this._first; + this._first = child; + } + if (child._next) { + child._next._prev = child; + } else { + this._last = child; + } + child._prev = prevTween; + this._recent = child; + if (this._timeline) { + this._uncache(true); + } + return this; + }; + + p._remove = function(tween, skipDisable) { + if (tween.timeline === this) { + if (!skipDisable) { + tween._enabled(false, true); + } + + if (tween._prev) { + tween._prev._next = tween._next; + } else if (this._first === tween) { + this._first = tween._next; + } + if (tween._next) { + tween._next._prev = tween._prev; + } else if (this._last === tween) { + this._last = tween._prev; + } + tween._next = tween._prev = tween.timeline = null; + if (tween === this._recent) { + this._recent = this._last; + } + + if (this._timeline) { + this._uncache(true); + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + var tween = this._first, + next; + this._totalTime = this._time = this._rawPrevTime = time; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (tween._active || (time >= tween._startTime && !tween._paused)) { + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + }; + + p.rawTime = function() { + if (!_tickerActive) { + _ticker.wake(); + } + return this._totalTime; + }; + +/* + * ---------------------------------------------------------------- + * TweenLite + * ---------------------------------------------------------------- + */ + var TweenLite = _class("TweenLite", function(target, duration, vars) { + Animation.call(this, duration, vars); + this.render = TweenLite.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + + if (target == null) { + throw "Cannot tween a null target."; + } + + this.target = target = (typeof(target) !== "string") ? target : TweenLite.selector(target) || target; + + var isSelector = (target.jquery || (target.length && target !== window && target[0] && (target[0] === window || (target[0].nodeType && target[0].style && !target.nodeType)))), + overwrite = this.vars.overwrite, + i, targ, targets; + + this._overwrite = overwrite = (overwrite == null) ? _overwriteLookup[TweenLite.defaultOverwrite] : (typeof(overwrite) === "number") ? overwrite >> 0 : _overwriteLookup[overwrite]; + + if ((isSelector || target instanceof Array || (target.push && _isArray(target))) && typeof(target[0]) !== "number") { + this._targets = targets = _slice(target); //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + this._propLookup = []; + this._siblings = []; + for (i = 0; i < targets.length; i++) { + targ = targets[i]; + if (!targ) { + targets.splice(i--, 1); + continue; + } else if (typeof(targ) === "string") { + targ = targets[i--] = TweenLite.selector(targ); //in case it's an array of strings + if (typeof(targ) === "string") { + targets.splice(i+1, 1); //to avoid an endless loop (can't imagine why the selector would return a string, but just in case) + } + continue; + } else if (targ.length && targ !== window && targ[0] && (targ[0] === window || (targ[0].nodeType && targ[0].style && !targ.nodeType))) { //in case the user is passing in an array of selector objects (like jQuery objects), we need to check one more level and pull things out if necessary. Also note that + + + +
+
+
+ + +
+
+
+ + + + + + + + + {% endif %} + + + diff --git a/server/www/templates/www/index.html b/server/www/templates/www/index.html new file mode 100644 index 0000000..1091f3a --- /dev/null +++ b/server/www/templates/www/index.html @@ -0,0 +1,171 @@ +{% extends 'www/base_site.html' %} +{% load staticfiles %} + +{% block content %} +
+
+
+ + +
+ +
+ +
+
+
+ +
+
+
+ +
+
+

+ Welcome to First +

+
+
+
+ +
+
+

About Us

+

+ The Function Identification and Recover Signature Tool (FIRST) developed by + Talos, is an IDA Pro + plugin that + allows reverse engineers to more quickly complete static analysis. It makes + finding similar + functions faster and easier by removing the need to synchronize function + metadata.  +

+

+ FIRST’s extensible framework allows users to submit function metadata to a + repository and + search the repository for function metadata similar to the function +

+
+
+ +
+
+

Goals

+

+ Users can contribute function metadata and search for function metadata + similar to the function(s) being analyzed in IDA. FIRST’s framework allows + developers to create new ways to derive similarities between functions. +

+
    +
  • + Save function metadata (name, prototype, and comment) + +
  • +
  • + Provide way to find similar functions +
  • +
  • + Allow users to apply function metadata in IDA Pro +
  • +
  • + Reduce reverse engineering time +
  • +
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ + + Users +
+
+
+ +
+
+
+ + + Functions +
+
+
+ +
+
+
+{% endblock %} diff --git a/server/www/templates/www/profile.html b/server/www/templates/www/profile.html new file mode 100644 index 0000000..d01c56d --- /dev/null +++ b/server/www/templates/www/profile.html @@ -0,0 +1,105 @@ +{% extends 'www/base_site.html' %} + +{% block nav_block %} + +{% endblock %} +{% block content %} +
+
+
+
+
+

+ + Welcome {{ user.name }} + +

+
+
+
+
+
+ +
+
+
+ +
+
+
+ +

+ {{ user.api_key }} +

+ API Key +
+
+
+ +
+
+
+ +

+ {{ user.handle }} +

+ Handle +
+
+
+ +
+
+
+ +

+ {{ user.rank }} +

+ Karma LVL +
+
+
+ +
+
+
+ +

+ {{ metadata_count | default:'0' }} +

+ MetaData +
+
+
+ +
+
+
+{% endblock %} diff --git a/server/www/tests.py b/server/www/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/server/www/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/server/www/urls.py b/server/www/urls.py new file mode 100644 index 0000000..03d2c32 --- /dev/null +++ b/server/www/urls.py @@ -0,0 +1,16 @@ +from django.conf.urls import url + +from . import views + +app_name = 'www' +urlpatterns = [ + url(r'^$', views.index, name='index'), + url(r'^profile$', views.profile, name='profile'), + + url(r'^login$', views.login, name='login'), + url(r'^login/(?P[a-z]+)$', views.login, name='login'), + url(r'^oauth/(?P[a-z]+)$', views.oauth, name='oauth'), + url(r'^logout$', views.logout, name='logout'), + + url(r'^register$', views.register, name='register') +] diff --git a/server/www/views.py b/server/www/views.py new file mode 100644 index 0000000..289e9b6 --- /dev/null +++ b/server/www/views.py @@ -0,0 +1,161 @@ +# Python Modules +import re + +# Django Modules +from django.shortcuts import render, redirect +from django.http import HttpResponse +from django.urls import reverse +from django.views.decorators.http import require_GET, require_POST, require_http_methods + + +# FIRST Modules +from www.models import Function, User +from first.auth import Authentication, require_login, FIRSTAuthError + +def handler404(request): + return render(request, 'www/404.html', None) + + +def index(request): + data = {'title' : 'Home', + 'user_num' : User.objects.count(), + 'function_num' : Function.objects.count(), + 'register_html' : True, + 'login_html' : True,} + return render(request, 'www/index.html', data) + +@require_login +def profile(request): + ''' + Should show the user's name, email, ranking and API key + ''' + if 'info' not in request.session: + return redirect(reverse('www:login')) + + info = request.session['info'] + user = Authentication.get_user_data(info['email']) + + if not user: + return redirect(reverse('www:index')) + + count = Function.objects(metadata__user=user).count() + data = {'title' : 'Profile', + 'user' : user.dump(True), + 'metadata_count' : count} + return render(request, 'www/profile.html', data) + +def logout(request): + request.session.flush() + return HttpResponse('Logout') + + +@require_GET +def login(request, service=None): + + # Check for errors + #+++++++++++++++++++ + if request.GET.get('error'): + return 'Access Denied' + + auth = Authentication(request) + if auth.is_logged_in: + return redirect('www:profile') + + if None == service: + return redirect('www:index') + + request.session['redirect'] = 'www:profile' + + try: + return auth.login_step_1(service, request.build_absolute_uri(reverse('www:oauth', kwargs={'service' : service}))) + + except FIRSTAuthError as e: + return HttpResponse(('Error: {}
Try logging ' + 'in again').format(e)) + + +@require_GET +def oauth(request, service): + try: + uri = 'www:profile' + if 'redirect' in request.session: + uri = request.session['redirect'] + del request.session['redirect'] + + logging_in = uri == 'www:profile' + if request.GET.get('code'): + auth_code = request.GET['code'] + + auth = Authentication(request) + return auth.login_step_2(auth_code, reverse(uri), logging_in) + + except FIRSTAuthError as e: + if 'registered' in str(e): + return HttpResponse(('Error: {}
Register to use ' + 'FIRST').format(e)) + + return HttpResponse(('Error: {}
Try logging in ' + 'again').format(e)) + + except RuntimeError as e: + return redirect('www:profile') + + return redirect('www:index') + +@require_GET +def logout(request): + request.session.flush() + return redirect('www:index') + +@require_http_methods(['POST', 'GET']) +def register(request): + ''' + Required: handle + Get name and email from sign in service + ''' + + # Check for errors + #+++++++++++++++++++ + if 'error' in request.GET: + return HttpResponse('Access Denied') + + auth = Authentication(request) + if request.method == 'POST': + if not request.POST.get('service') or not request.POST.get('handle'): + return redirect('www:index', _anchor='registration') + + # TODO: Input Validation + request.session['redirect'] = 'www:register' + if not re.match('^[A-Za-z_\d]+$', request.POST.get('handle')): + return HttpResponse('Invalid handle') + + request.session['handle'] = request.POST.get('handle') + service = request.POST.get('service') + + try: + return auth.login_step_1(service, reverse('www:oauth', kwargs={'service' : service})) + + except FIRSTAuthError as e: + return HttpResponse(('Error: {}
Try logging ' + 'in again').format(e)) + + return HttpResponse('No post data provided') + + + if request.method == 'GET': + if auth.is_logged_in: + if ('info' not in request.session or 'email' not in request.session['info']): + raise FIRSTAuthError('Email not set') + + user = Authentication.get_user_data(request.session['info']['email']) + if not user: + if 'handle' in request.session: + user = auth.register_user() + if not user: + return HttpResponse('Error creating user') + + return redirect(reverse('www:profile')) + + return HttpResponse('User already exists') + + return HttpResponse('Not logged in')