diff --git a/core/simple_index_view.py b/core/simple_index_view.py index df0bdcb2..d4ee1095 100644 --- a/core/simple_index_view.py +++ b/core/simple_index_view.py @@ -1,11 +1,15 @@ import json -from django.views.generic import TemplateView + +from article.models import Article +from django.http import HttpResponse, HttpResponseNotAllowed from django.shortcuts import HttpResponse -#from forms import CallbackForm -from service.order_forms import CallBackForm -from meta.views import MetadataMixin +from django.views.generic import FormView, TemplateView +from emencia.django.newsletter.models import Contact from functions.cache_mixin import JitterCacheMixin -from settings.models import LandingComment +from meta.views import MetadataMixin +#from forms import CallbackForm +from service.order_forms import CallBackForm, ParticipationLandingForm +from settings.models import LandingComment, LandingParticipationComment class AdvertisingView(MetadataMixin, TemplateView): @@ -21,6 +25,41 @@ class AdvertisingViewLanding(JitterCacheMixin, AdvertisingView): return context +class ParticipationViewLanding(JitterCacheMixin, MetadataMixin, FormView): + template_name = 'simple_pages/participation_landing.html' + form_class = ParticipationLandingForm + + def get_initial(self): + data = super(ParticipationViewLanding, self).get_initial() + if self.request.user.is_authenticated(): + data['person'] = getattr(self.request.user, 'email') + data['person_inf'] = getattr(self.request.user, 'first_name') + return data + + def make_json_response(self, data): + return HttpResponse(json.dumps(data), content_type='application/json') + + def post(self, request, *args, **kwargs): + if not request.is_ajax(): + return HttpResponseNotAllowed() + return super(ParticipationViewLanding, self).post(request, *args, **kwargs) + + def form_valid(self, form): + form.save() + return self.make_json_response({'success': True}) + + def form_invalid(self, form): + data = {'success': False, 'errors': form.errors} + return self.make_json_response(data) + + def get_context_data(self, **kwargs): + context = super(ParticipationViewLanding, self).get_context_data(**kwargs) + context['comments'] = LandingParticipationComment.objects.language().all() + context['articles'] = Article.objects.blogs().filter(theme__url='praktikum-eksponenta')[:4] + context['specialist_count'] = Contact.objects.all().count() + return context + + class AboutView(MetadataMixin, TemplateView): template_name = 'simple_pages/about.html' diff --git a/emencia/django/newsletter/urls/__init__.py b/emencia/django/newsletter/urls/__init__.py index 75de6854..c9bf4298 100644 --- a/emencia/django/newsletter/urls/__init__.py +++ b/emencia/django/newsletter/urls/__init__.py @@ -20,6 +20,8 @@ urlpatterns = patterns('', url(r'^activate/(?P.*)/$', ActivationView.as_view(), name='subscription_activation'), url(r'^popup/validate/$', 'emencia.django.newsletter.views.expo_views.popup_validate', name='newsletter_subscription_popup_validate'), + url(r'^partisipation/validate/$', 'emencia.django.newsletter.views.expo_views.landing_partisipation_validate', + name='landing_partisipation_validate'), url(r'^subsribe/aside/$', 'emencia.django.newsletter.views.expo_views.subscribe_aside', name='newsletter_subscription_aside'), url(r'^$', SubscribeView.as_view(), name='newsletter_subscription'), diff --git a/emencia/django/newsletter/views/expo_views.py b/emencia/django/newsletter/views/expo_views.py index 6a3928a6..7d06434b 100644 --- a/emencia/django/newsletter/views/expo_views.py +++ b/emencia/django/newsletter/views/expo_views.py @@ -167,3 +167,22 @@ def popup_validate(request): return HttpResponse(json.dumps(response, indent=2), content_type='application/json') +def landing_partisipation_validate(request): + response = {'success': False} + if request.method == 'POST' and request.is_ajax(): + form = ContactForm(request.POST) + if form.is_valid(): + contact = form.save() + form2 = ContactSettingsForm(request.POST) + if form2.is_valid(): + contact_setting = form2.save(commit=False) + contact_setting.contact = contact + contact_setting.exponent_practicum = True + contact_setting.save() + form2.save_m2m() + + contact.send_activation() + response['success'] = True + else: + response['errors'] = form.errors + return HttpResponse(json.dumps(response), content_type='application/json') diff --git a/expobanner/admin.py b/expobanner/admin.py index 2781aba4..3320ca1b 100644 --- a/expobanner/admin.py +++ b/expobanner/admin.py @@ -33,8 +33,8 @@ from expobanner.forms import ( ) from expobanner.models import URL, Banner, BannerGroup, MainPage, Paid, Top from exposition.models import Exposition -from settings.forms import CommentForm, HtmlForm -from settings.models import Html, LandingComment +from settings.forms import CommentForm, HtmlForm, ParticipationCommentForm +from settings.models import Html, LandingComment, LandingParticipationComment class BannersControl(TemplateView): @@ -162,6 +162,9 @@ class BannerStat(DetailView): return context +############################################################################### +# LANGING COMMENTS +############################################################################### class CommentMixin(object): form_class = CommentForm model = LandingComment @@ -177,6 +180,12 @@ class CommentMixin(object): return self.success_url +class ParticipationMixin(CommentMixin): + form_class = ParticipationCommentForm + model = LandingParticipationComment + success_url = reverse_lazy('expobaner-pcomment_list') + + class CommentList(CommentMixin, ListView): template_name = 'admin/expobanner/comment_list.html' @@ -184,19 +193,35 @@ class CommentList(CommentMixin, ListView): return self.model.objects.language() +class ParticipationCommentList(ParticipationMixin, CommentList): + template_name = 'admin/expobanner/pcomment_list.html' + + class CommentCreate(CommentMixin, CreateView): pass +class ParticipationCommentCreate(ParticipationMixin, CreateView): + pass + + class CommentUpdate(CommentMixin, UpdateView): pass +class ParticipationCommentUpdate(ParticipationMixin, UpdateView): + pass + + class CommentDelete(CommentMixin, DeleteView): def get(self, request, *args, **kwargs): return self.post(request, *args, **kwargs) +class ParticipationCommentDelete(ParticipationMixin, CommentDelete): + pass + + class PaidList(ListView): expo = { 'model': Exposition, diff --git a/expobanner/admin_urls.py b/expobanner/admin_urls.py index 330f239a..497f58e2 100644 --- a/expobanner/admin_urls.py +++ b/expobanner/admin_urls.py @@ -56,8 +56,14 @@ urlpatterns = patterns('expobanner.admin', #url(r'^main/conf/(?P\d+)/stat/$', MainStat.as_view(), name='expobanner_stat_main'), url(r'^main/block/(?P\d+)/$', MainPageBlock.as_view()), # comments + ## advertising landing url(r'^comments/new/$', CommentCreate.as_view(), name='expobaner-comment_add'), url(r'^comments/(?P\d+)/delete/$', CommentDelete.as_view(), name='expobaner-comment_delete'), url(r'^comments/(?P\d+)/$', CommentUpdate.as_view(), name='expobaner-comment_edit'), url(r'^comments/$', CommentList.as_view(), name='expobaner-comment_list'), + ## participation landing + url(r'^pcomments/new/$', ParticipationCommentCreate.as_view(), name='expobaner-pcomment_add'), + url(r'^pcomments/(?P\d+)/delete/$', ParticipationCommentDelete.as_view(), name='expobaner-pcomment_delete'), + url(r'^pcomments/(?P\d+)/$', ParticipationCommentUpdate.as_view(), name='expobaner-pcomment_edit'), + url(r'^pcomments/$', ParticipationCommentList.as_view(), name='expobaner-pcomment_list'), ) diff --git a/proj/settings.py b/proj/settings.py index 390ea646..5ac8b21f 100644 --- a/proj/settings.py +++ b/proj/settings.py @@ -395,6 +395,8 @@ CRONJOBS = [ ('40 6 * * * ', 'django.core.management.call_command', ['newsletter_contacts_remove_notactivated']), ('41 5 * * *', 'django.core.management.call_command', ['newsletter_create_announce']), + ('12 4 * * *', 'django.core.management.call_command', ['stats_daily']), + ] PYMORPHY_DICTS = { diff --git a/proj/urls.py b/proj/urls.py index bddbffa4..e4bd3dd7 100644 --- a/proj/urls.py +++ b/proj/urls.py @@ -3,7 +3,8 @@ import debug_toolbar from core.simple_index_view import ( AboutView, AdvertisingView, - AdvertisingViewLanding + AdvertisingViewLanding, + ParticipationViewLanding ) from django.conf import settings from django.conf.urls import include, patterns, url @@ -89,8 +90,11 @@ urlpatterns += solid_i18n_patterns('', url(r'^gallery/', include('photologue.client_urls')), url(r'^', include('file.urls')), url(r'^', include('django_messages.expomap_urls')), + # url(r'^advertising/$', AdvertisingView.as_view(), {'meta_id':58}, name='expomap_advertising'), url(r'^advertising/$', AdvertisingViewLanding.as_view(), {'meta_id':94}, name='expomap_advertising_landing'), + url(r'^service/participation/$', ParticipationViewLanding.as_view(), {'meta_id':94}, name='expomap_participation_landing'), + url(r'^about/$', AboutView.as_view(), {'meta_id':56}, name='expomap_about'), url(r'^partners/$', AboutView.as_view(), {'meta_id':57}, name='expomap_partners'), url(r'^contacts/$', AboutView.as_view(), {'meta_id':59}, name='expomap_contacts'), diff --git a/service/order_forms.py b/service/order_forms.py index 77e6a9f6..c1f7a708 100644 --- a/service/order_forms.py +++ b/service/order_forms.py @@ -199,4 +199,14 @@ class AdvertiseForm(AbstractOrderForm): class CallBackForm(forms.ModelForm): class Meta: model = CallBack - fields=('phone', 'person_inf') \ No newline at end of file + fields=('phone', 'person_inf') + + +class ParticipationLandingForm(ParticipationForm): + def __init__(self, *args, **kwargs): + super(ParticipationLandingForm, self).__init__(*args, **kwargs) + self.fields['city'].required = False + self.fields['country'].required = False + self.fields['area'].required = False + self.fields['person_inf'].widget.attrs['placeholder'] = _(u'Ваше имя') + self.fields['person'].widget.attrs['placeholder'] = _(u'Ваш e-mail') diff --git a/settings/forms.py b/settings/forms.py index 3646f94e..a2e37d16 100644 --- a/settings/forms.py +++ b/settings/forms.py @@ -2,7 +2,7 @@ from django import forms from ckeditor.widgets import CKEditorWidget from theme.models import Theme -from .models import Html, LandingComment +from .models import Html, LandingComment, LandingParticipationComment from article.models import Article from functions.forms import ExpoTranslatableModelForm, ExpoTranslatableModelForm_ @@ -24,6 +24,11 @@ class CommentForm(ExpoTranslatableModelForm_): return u'Редактировать комментарий' if self.instance.pk else u'Создать комментарий' +class ParticipationCommentForm(CommentForm): + class Meta: + model = LandingParticipationComment + + class MainPageThemes(forms.Form): exposition_themes = forms.ModelMultipleChoiceField(queryset=Theme.objects.filter(types=Theme.types.exposition), required=False) diff --git a/settings/migrations/0003_auto__add_landingparticipationcommenttranslation__add_unique_landingpa.py b/settings/migrations/0003_auto__add_landingparticipationcommenttranslation__add_unique_landingpa.py new file mode 100644 index 00000000..b93bef6a --- /dev/null +++ b/settings/migrations/0003_auto__add_landingparticipationcommenttranslation__add_unique_landingpa.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'LandingParticipationCommentTranslation' + db.create_table(u'settings_landingparticipationcomment_translation', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('position', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('language_code', self.gf('django.db.models.fields.CharField')(max_length=15, db_index=True)), + ('master', self.gf('django.db.models.fields.related.ForeignKey')(related_name='translations', null=True, to=orm['settings.LandingParticipationComment'])), + )) + db.send_create_signal(u'settings', ['LandingParticipationCommentTranslation']) + + # Adding unique constraint on 'LandingParticipationCommentTranslation', fields ['language_code', 'master'] + db.create_unique(u'settings_landingparticipationcomment_translation', ['language_code', 'master_id']) + + # Adding model 'LandingParticipationComment' + db.create_table(u'settings_landingparticipationcomment', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('logo', self.gf('django.db.models.fields.files.ImageField')(max_length=255)), + )) + db.send_create_signal(u'settings', ['LandingParticipationComment']) + + + def backwards(self, orm): + # Removing unique constraint on 'LandingParticipationCommentTranslation', fields ['language_code', 'master'] + db.delete_unique(u'settings_landingparticipationcomment_translation', ['language_code', 'master_id']) + + # Deleting model 'LandingParticipationCommentTranslation' + db.delete_table(u'settings_landingparticipationcomment_translation') + + # Deleting model 'LandingParticipationComment' + db.delete_table(u'settings_landingparticipationcomment') + + + models = { + u'settings.html': { + 'Meta': {'unique_together': '()', 'object_name': 'Html', 'index_together': '()'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}) + }, + u'settings.htmltranslation': { + 'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'HtmlTranslation', 'db_table': "u'settings_html_translation'", 'index_together': '()'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), + 'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['settings.Html']"}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + u'settings.landingcomment': { + 'Meta': {'unique_together': '()', 'object_name': 'LandingComment', 'index_together': '()'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '255'}) + }, + u'settings.landingcommenttranslation': { + 'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'LandingCommentTranslation', 'db_table': "u'settings_landingcomment_translation'", 'index_together': '()'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), + 'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['settings.LandingComment']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'position': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + u'settings.landingparticipationcomment': { + 'Meta': {'unique_together': '()', 'object_name': 'LandingParticipationComment', 'index_together': '()'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '255'}) + }, + u'settings.landingparticipationcommenttranslation': { + 'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'LandingParticipationCommentTranslation', 'db_table': "u'settings_landingparticipationcomment_translation'", 'index_together': '()'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), + 'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['settings.LandingParticipationComment']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'position': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {}) + } + } + + complete_apps = ['settings'] \ No newline at end of file diff --git a/settings/models.py b/settings/models.py index f7b4911c..0feb7c6c 100644 --- a/settings/models.py +++ b/settings/models.py @@ -60,3 +60,15 @@ class LandingComment(TranslatableModel): self.var_cache = {var: copy.copy(getattr(self, var)) for var in self.cache_fields} self.is_new = False return self + + +class LandingParticipationComment(TranslatableModel): + translations = TranslatedFields( + text=models.TextField(verbose_name=_(u'Комментарий')), + name=models.CharField(verbose_name=_(u'Имя Фамилия'), max_length=255), + position=models.CharField(verbose_name=_(u'Должность'), max_length=255), + ) + logo = models.ImageField(verbose_name=_(u'Лого'), upload_to='landing/comments/', max_length=255) + + def __unicode__(self): + return self.lazy_translation_getter('name', self.pk) diff --git a/static/participation_landing/css/main.css b/static/participation_landing/css/main.css new file mode 100755 index 00000000..ac4fc9aa --- /dev/null +++ b/static/participation_landing/css/main.css @@ -0,0 +1,917 @@ +@font-face { + font-family: 'DinPro'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THIN.TTF); + font-style: normal; + font-weight: 100; +} + +@font-face { + font-family: 'DinPro'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHT.TTF); + font-style: normal; + font-weight: 300; +} + +@font-face { + font-family: 'DinPro'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHTITAL.TTF); + font-style: italic; + font-weight: 300; +} + +@font-face { + font-family: 'DinPro'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-REG.TTF); + font-style: normal; + font-weight: 400; +} + +@font-face { + font-family: 'DinPro'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MED.TTF); + font-style: normal; + font-weight: 500; +} + +@font-face { + font-family: 'DinPro'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLD.TTF); + font-style: normal; + font-weight: 700; +} + +@font-face { + font-family: 'DinProBlack'; + src: url(../fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACK.TTF); + font-style: normal; + font-weight: 400; +} + +*{ + margin: 0px; + padding: 0px; + font-family: 'DinPro'; + color: #0b0301; +} + +html, body{ + height: 100%; +} + +.container{ + width: 1110px; + margin: 0px auto; +} + +header{ + min-height: 780px; + background: url(../images/header.jpg) no-repeat top center; + background-size: auto; +} + +.logo_block{ + padding-top: 40px; +} + +.logo_block:after{ + content: ""; + display: block; + clear: both; +} + +.logo_block ul{ + list-style: none; + float: right; +} + +.logo_block li{ + float: left; + margin-left: 5px; +} + +.logo_block li a{ + color: #fff; + display: block; + width: 40px; + height: 40px; + border-radius: 20px; + background: rgba(255, 255, 255, 0.25); + transition: background .3s; + text-align: center; + line-height: 40px; +} + +.logo_block li a:hover{ + background: #ff6600; + transition: background .3s; +} + +.logo_block li .fa{ + font-size: 18px; + line-height: 18px; + vertical-align: middle; + color: #fff; +} + +.main_logo{ + float: left; +} + +h1{ + font-size: 60px; + padding-top: 230px; + font-weight: normal; +} + +h1 .light{ + display: block; + font-weight: 100; + color: #fff; + letter-spacing: 2px; +} + +h1 .white{ + display: inline-block; + font-family: 'DinProBlack', sans-serif; + text-transform: uppercase; + border-bottom: 1px solid #fff; + color: #fff; + line-height: 60px; + letter-spacing: 7px; + width: calc(50% - 2px); +} + +h1 .orange{ + display: inline-block; + font-family: 'DinProBlack', sans-serif; + text-transform: uppercase; + border-bottom: 1px solid #ff6600; + color: #ff6600; + line-height: 60px; + letter-spacing: 7px; +} + +.factors{ + padding: 50px 0px 70px; +} + +.block_header { + text-align: center; + font: 45px 'DinPro', sans-serif; + font-weight: 500; + color: #0b0301; + text-transform: uppercase; +} + +.block_header span{ + color: #ff6600; +} + +.factors h5{ + font: 400 24px 'DinPro', sans-serif; + text-align: center; +} + +.factors ul{ + text-align: center; + padding-top: 50px; +} + +.factors li{ + list-style-type: none; + display: inline-block; + vertical-align: top; + text-align: center; + width: 160px; + margin: 0px 30px 30px; +} + +.factors .circle{ + display: block; + margin: 0px auto 15px; + width: 120px; + height: 120px; + border-radius: 50%; + background: #fbfbfb url(../images/factors.png); + box-shadow: 0px 8px 20px #f5f5f5, 8px 0px 20px #f5f5f5; + transition: background .3s, box-shadow .5s; +} + +.factors .circle.icon1{background-position: 0px 0px} +.factors .circle.icon2{background-position: -120px 0px} +.factors .circle.icon3{background-position: -240px 0px} +.factors .circle.icon4{background-position: -360px 0px} +.factors .circle.icon5{background-position: -480px 0px} +.factors .circle.icon6{background-position: -600px 0px} +.factors .circle.icon7{background-position: -720px 0px} + +.factors li:hover .circle{ + background: #ff6600 url(../images/factors.png); + box-shadow: 0px 8px 20px #ffd1a0, 8px 0px 20px #ffd1a0; + transition: background .3s, box-shadow .5s; +} + +.factors li:hover .circle.icon1{background-position: 0px 120px} +.factors li:hover .circle.icon2{background-position: -120px 120px} +.factors li:hover .circle.icon3{background-position: -240px 120px} +.factors li:hover .circle.icon4{background-position: -360px 120px} +.factors li:hover .circle.icon5{background-position: -480px 120px} +.factors li:hover .circle.icon6{background-position: -600px 120px} +.factors li:hover .circle.icon7{background-position: -720px 120px} + +.factors li:hover .st1{ + fill: #fff; +} + +.factors li:hover span{ + color: #999999; + transition-duration: .5s; +} + +.factors p{ + font-weight: 700; + font-size: 24px; + color: #ff6600; + text-align: center; +} + +.what_to_do{ + padding: 60px 0px 80px; + background: #f5f5f5; +} + +.variants{ + padding-top: 50px; +} + +.variants:after{ + content: ""; + display: block; + clear: both; +} + +.variant{ + padding: 15px; + width: 500px; + float: left; +} + +.variant:last-child{ + float: right; + width: 530px; + background: #fff; + box-shadow: 0px 8px 20px #e3e3e3, 8px 0px 20px #e3e3e3; +} + +.variant h3{ + text-align: center; + font-size: 30px; + text-transform: uppercase; + margin-bottom: 20px; +} + +.variant p{ + font-size: 22px; + font-weight: 300; + margin-bottom: 20px; +} + +.variant small{ + font-size: 16px; + display: block; + padding-top: 10px; + background: url(../images/quote.png) no-repeat top right; +} + +.variant a{ + color: #ff6600; + text-decoration: none; + border-bottom: 1px dotted #ff6600; +} + +.variant a:hover{ + border-bottom-color: transparent; +} + +.expomap p a{ + color: #0b0301; + border-bottom: 0px; +} + +.expomap p a:hover{ + color: #ff6600; +} + +.variant .person{ + width: 255px; + float: left; + font-size: 0px; + border-bottom: 0px; +} + +.person:last-child{ + margin-left: 20px; +} + +.person img{ + display: inline-block; + margin-right: 15px; + vertical-align: top; + box-shadow: 0px 8px 20px #e3e3e3, 8px 0px 20px #e3e3e3; + transition: box-shadow .3s; +} + +.person:hover img{ + box-shadow: 0px 8px 20px #ffd1a0, 8px 0px 20px #ffd1a0; + transition: box-shadow .3s; +} + +.person span{ + display: inline-block; + width: calc(100% - 110px); +} + +.person span{ + font-size: 18px; + line-height: 18px; + font-weight: 500; + color: #ff6600; +} + +.person span i{ + display: inline-block; + padding-top: 5px; + color: #999999; + font-size: 16px; +} + +.why{ + padding: 50px 0px 70px; + background: url(../images/why.jpg) no-repeat top center; + background-size: cover; +} + +.why .block_header{ + color: #fff; +} + +.why ul{ + list-style: none; + text-align: center; + font-size: 0px; + padding-top: 50px; +} + +.why li{ + display: inline-block; + vertical-align: top; + background: #ffffff; + padding: 20px 10px; + width: 330px; + margin-left: 30px; + transition: box-shadow .3s; +} + +.why li:first-child{ + margin-left: 0px; +} + +.why li:hover{ + box-shadow: 0px 8px 30px rgba(255, 132, 0, 0.4), 8px 0px 30px rgba(255, 132, 0, 0.4); + transition: box-shadow .3s; +} + +.why li b{ + display: block; + font-size: 22px; + padding-top: 15px; + margin-bottom: 10px; +} + +.why li span{ + display: block; + font-size: 16px; + line-height: 20px; + color: #999999; + height: 60px; +} + +.why .btn, .articles .btn{ + display: block; + width: 350px; + font-size: 19px; + font-weight: 300; + line-height: 19px; + text-transform: uppercase; + text-align: center; + text-decoration: none; + color: #fff; + background: #ff6600; + margin: 30px auto 0px; + padding: 16px 0px 14px; +} + +.steps{ + padding: 60px 0px 70px; +} + +.steps .block_header span{ + display: block; +} + +.steps ul{ + list-style: none; + text-align: center; + font-size: 0px; + padding-top: 50px; + padding-bottom: 10px; +} + +.steps li{ + display: inline-block; + vertical-align: top; + width: 350px; + margin-left: 30px; + margin-bottom: 30px; + font-weight: 400; + position: relative; +} + +.steps li:nth-child(3n+1){ + margin-left: 0px; +} + +.steps li:hover .number, +.steps li:hover .name{ + color: #ff6600; + transition-duration: .5s; +} + +.steps li span{ + display: block; + font-size: 16px; + color: #999999; +} + +.steps li .number{ + font-family: 'DinProBlack', sans-serif; + font-size: 80px; + color: #efefef; + transition: color .5s; +} + +.steps li .name{ + font-size: 22px; + color: #0b0301; + margin-bottom: 10px; + transition: color .5s; +} + +.steps li:nth-child(1):after, +.steps li:nth-child(2):after, +.steps li:nth-child(4):after, +.steps li:nth-child(5):after{ + content: ""; + display: block; + width: 129px; + height: 33px; + background: url(../images/arrows.png); + position: absolute; + top: 0px; + right: -75px; +} + +.steps li:nth-child(2):after, +.steps li:nth-child(4):after{ + transform: rotate(180deg); + top: 33px; +} + +.not_end{ + font-size: 24px; + font-weight: 700; +} + +.not_end a{ + float: right; + width: 285px; + font-size: 19px; + font-weight: 300; + line-height: 19px; + text-transform: uppercase; + text-align: center; + text-decoration: none; + color: #fff; + background: #ff6600; + margin-left: 100px; + padding: 16px 0px 14px; +} + +.reviews{ + padding: 30px 0px; + background: #f5f5f5; +} + +.reviews:after{ + content: ""; + display: block; + clear: both; +} + +.reviews_block, +.learn_block{ + width: calc(50% - 45px); + float: left; + padding: 40px 15px; +} + +.learn_block{ + background: #fff; + float: right; + margin-left: 30px; + box-shadow: 0px 19px 32px rgba(0, 0, 0, 0.1), 19px 0px 32px rgba(0, 0, 0, 0.1); +} + +.learn_block h3{ + font-size: 30px; + text-align: left; + margin-bottom: 10px; +} + +.learn_block h3 span{ + display: block; +} + +.learn_block p{ + font-size: 24px; + margin-bottom: 20px; +} + +.learn{ + display: block; + border: 5px solid #f5f5f5; + padding: 10px; + background: #f5f5f5; + transition: background .5s; + text-decoration: none; +} + +.learn:hover{ + background: #fff; + transition: background .5s; +} + +.learn:not(:last-child){ + margin-bottom: 10px; +} + +.learn:after{ + content: ""; + display: block; + clear: both; +} + +.learn img{ + float: left; + margin-right: 15px; +} + +.learn h5{ + font-size: 18px; + font-weight: 400; + transition-duration: .5s; +} + +.learn:hover h5{ + color: #ff6600; + transition-duration: .5s; +} + +.stars{ + padding: 10px 0px; + font-size: 0px; +} + +.stars img{ + float: none; + margin-right: 0px; +} + +.learn .start{ + font-size: 16px; + text-transform: uppercase; + text-decoration: none; + color: #999999; +} + +.learn .start span{ + text-decoration: underline; + color: #999999; +} + +.learn:hover .start{ + color: #ff6600; +} + +.learn:hover .start span{ + color: #ff6600; + text-decoration: none; +} + +.reviews_slider{ + padding: 50px 0px 35px; + border-bottom: 1px solid #e7e7e7; +} + +.reviews_slider > .review:not(:first-child){ + display: none; +} + +.review h5{ + font-size: 22px; + margin-bottom: 5px; +} + +.review i{ + color: #999; + font-size: 16px; +} + +.review p{ + padding-top: 10px; + font-size: 16px; +} + +.review img{ + float: left; + margin-right: 40px; +} + +.review .review_text{ + float: right; + width: calc(100% - 160px); +} + +.slick-dots li button:before{ + font-size: 12px; +} + +.articles{ + padding: 60px 0px 70px; +} + +.articles .block_header span{ + display: block; +} + +.articles ul{ + list-style: none; + font-size: 0px; + padding: 50px 0px 30px; +} + +.articles li{ + display: inline-block; + vertical-align: top; + width: 253px; + margin-left: 32px; +} + +.articles li:nth-child(4n+1){ + margin-left: 0px; +} + +.articles li a{ + display: block; +} + +.articles li img{ + display: block; + margin-bottom: 15px; + box-shadow: none; + transition: box-shadow .3s; + width: 250px; + height: 180px; +} + +.articles li span{ + font-size: 18px; + transition: color .3s; +} + +.articles li a:hover{ + text-decoration: none; +} + +.articles li a:hover img{ + box-shadow: 0px 8px 18px rgba(255, 132, 0, 0.48), 8px 0px 18px rgba(255, 132, 0, 0.48); + transition: box-shadow .3s; +} + +.articles li a:hover span{ + text-decoration: none; + color: #ff6600; + transition: color .3s; +} + +.articles .btn{ + width: 190px; +} + +footer{ + background: url(../images/footer.jpg) no-repeat top; + background-size: cover; + padding: 75px 0px; +} + +footer .block_header{ + color: #fff; +} + +footer h5{ + font: 400 24px 'DinPro', sans-serif; + color: #fff; + text-align: center; + padding-top: 10px; +} + +.subscribe_form{ + font-size: 0px; + padding: 50px 0px; +} + +.subscribe_form input{ + display: inline-block; + vertical-align: top; + width: 395px; + height: 45px; + padding: 0px 25px; + font: inherit; + border: 0px; + border-radius: 3px; + font-size: 18px; + margin-right: 15px; +} + +.subscribe_form button{ + display: inline-block; + vertical-align: top; + width: 190px; + height: 45px; + font-size: 19px; + font-weight: 300; + line-height: 19px; + text-transform: uppercase; + text-align: center; + text-decoration: none; + color: #fff; + background: #ff6600; + border: 0px; + border-radius: 3px; + cursor: pointer; +} + +footer p{ + font-size: 36px; + font-weight: 400; + text-align: center; + color: #fff; +} + +footer p span{ + color: #ff6600; +} + + /*modal*/ + +.fancybox-skin { + border-radius: 0px; + background: rgba(19,22,26,1); + background: -moz-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(19,22,26,1)), color-stop(100%, rgba(29,22,29,1))); + background: -webkit-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: -o-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: -ms-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: linear-gradient(to bottom, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#13161a', endColorstr='#1d161d', GradientType=0 ); +} + +.fancybox-opened .fancybox-skin { + box-shadow: none; +} + +.modal { + display: none; + width: 380px; + text-align: center; + padding: 10px 20px 30px; + margin: 0px auto; + background: rgba(19,22,26,1); + background: -moz-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(19,22,26,1)), color-stop(100%, rgba(29,22,29,1))); + background: -webkit-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: -o-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: -ms-linear-gradient(top, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + background: linear-gradient(to bottom, rgba(19,22,26,1) 0%, rgba(29,22,29,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#13161a', endColorstr='#1d161d', GradientType=0 ); +} + +.modal h2 { + font: 33px 'DinProBlack', sans-serif; + color: #fff; +} + +.modal h3 { + font: 300 18px 'DinPro', sans-serif; + color: #fff; + padding: 10px 0px 20px; +} + +.modal input { + display: block; + width: 310px; + font: 300 15px/43px 'DinPro', sans-serif; + padding: 0px 18px 0px; + background: #eaeaea; + border: 1px solid #dcdcdc; + color: #666666; + margin: 0px auto 14px; + outline: none; +} + +input.error { + box-shadow: 0px 0px 2px 2px #f00; +} + +.modal button { + display: block; + width: 348px; + background: #ff6600; + border: none; + font: 300 19px/46px 'DinPro', sans-serif; + color: #fff; + text-transform: uppercase; + cursor: pointer; + outline: none; + margin: 30px auto 0px; + transition-duration: 0.2s; +} + +.modal button:hover { + -webkit-box-shadow: 0px 7px 20px -1px rgba(255,132,0,0.48); + -moz-box-shadow: 0px 7px 20px -1px rgba(255,132,0,0.48); + box-shadow: 0px 7px 20px -1px rgba(255,132,0,0.48); + transition-duration: 0.2s; +} + +.fancybox-item.fancybox-close { + background: url(../images/close_bg.png) no-repeat; + right: 10px; + top: 10px; + width: 17px; + height: 18px; +} + +.btn.fancybox { + transition-duration: 0.2s; +} + +.btn.fancybox:hover { + -webkit-box-shadow: 0px 7px 20px -1px rgba(255,132,0,0.48); + -moz-box-shadow: 0px 7px 20px -1px rgba(255,132,0,0.48); + box-shadow: 0px 7px 20px -1px rgba(255,132,0,0.48); + transition-duration: 0.2s; +} + +.slick-dots li{ + vertical-align: middle; +} + +.slick-dots li button:before{ + opacity: 1; + color: #d4d4d4; +} + +.slick-dots .prev button:before{ + display: inline-block; + vertical-align: middle; + content: '←'; + font-family: Arial, sans-serif; + font-size: 24px; + line-height: 16px; +} + +.slick-dots .next button:before{ + display: inline-block; + vertical-align: middle; + content: '→'; + font-family: Arial, sans-serif; + font-size: 24px; + line-height: 16px; +} + +.slick-dots li.slick-active button:before, +.slick-dots li button:hover:before{ + color: #ff6600; +} + diff --git a/static/participation_landing/font-awesome-4.6.2/css/font-awesome.css b/static/participation_landing/font-awesome-4.6.2/css/font-awesome.css new file mode 100755 index 00000000..525d3a20 --- /dev/null +++ b/static/participation_landing/font-awesome-4.6.2/css/font-awesome.css @@ -0,0 +1,2191 @@ +/*! + * Font Awesome 4.6.2 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.6.2'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.2') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.6.2') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.6.2') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.6.2') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.6.2#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; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.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: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + 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; +} +/* Deprecated as of 4.4.0 */ +.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: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.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-pp: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-resistance: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"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.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; +} diff --git a/static/participation_landing/font-awesome-4.6.2/css/font-awesome.min.css b/static/participation_landing/font-awesome-4.6.2/css/font-awesome.min.css new file mode 100755 index 00000000..0c8b3900 --- /dev/null +++ b/static/participation_landing/font-awesome-4.6.2/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.6.2 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.2');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.2') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.6.2') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.6.2') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.6.2') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.6.2#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-pp: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-resistance: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"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.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} diff --git a/static/participation_landing/font-awesome-4.6.2/fonts/FontAwesome.otf b/static/participation_landing/font-awesome-4.6.2/fonts/FontAwesome.otf new file mode 100755 index 00000000..5e1fc3aa Binary files /dev/null and b/static/participation_landing/font-awesome-4.6.2/fonts/FontAwesome.otf differ diff --git a/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.eot b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.eot new file mode 100755 index 00000000..4faa4860 Binary files /dev/null and b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.eot differ diff --git a/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.svg b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.svg new file mode 100755 index 00000000..b1d897de --- /dev/null +++ b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.ttf b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.ttf new file mode 100755 index 00000000..9d02852c Binary files /dev/null and b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.ttf differ diff --git a/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.woff b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.woff new file mode 100755 index 00000000..1b92d42f Binary files /dev/null and b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.woff differ diff --git a/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.woff2 b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.woff2 new file mode 100755 index 00000000..88095c76 Binary files /dev/null and b/static/participation_landing/font-awesome-4.6.2/fonts/fontawesome-webfont.woff2 differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACK.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACK.TTF new file mode 100755 index 00000000..9ad8bdf8 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACK.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACKIT.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACKIT.TTF new file mode 100755 index 00000000..fb57ceae Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BLACKIT.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLD.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLD.TTF new file mode 100755 index 00000000..e88e882e Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLD.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLDITAL.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLDITAL.TTF new file mode 100755 index 00000000..c1633469 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-BOLDITAL.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-ITALIC.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-ITALIC.TTF new file mode 100755 index 00000000..7608ffe4 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-ITALIC.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHT.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHT.TTF new file mode 100755 index 00000000..a4eaa446 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHT.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHTITAL.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHTITAL.TTF new file mode 100755 index 00000000..5374d633 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-LIGHTITAL.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MED.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MED.TTF new file mode 100755 index 00000000..03b2dcdc Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MED.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MEDITAL.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MEDITAL.TTF new file mode 100755 index 00000000..8e8a8b87 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-MEDITAL.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-REG.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-REG.TTF new file mode 100755 index 00000000..befd8af5 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-REG.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THIN.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THIN.TTF new file mode 100755 index 00000000..1b2531d7 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THIN.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THINITAL.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THINITAL.TTF new file mode 100755 index 00000000..09287c52 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-THINITAL.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-XTHIN.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-XTHIN.TTF new file mode 100755 index 00000000..3b2401cd Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-XTHIN.TTF differ diff --git a/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-XTHINIT.TTF b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-XTHINIT.TTF new file mode 100755 index 00000000..925eefe5 Binary files /dev/null and b/static/participation_landing/fonts/PFDINDISPLAYPRO/PFDINDISPLAYPRO-XTHINIT.TTF differ diff --git a/static/participation_landing/images/arrows.png b/static/participation_landing/images/arrows.png new file mode 100755 index 00000000..7534440a Binary files /dev/null and b/static/participation_landing/images/arrows.png differ diff --git a/static/participation_landing/images/article.png b/static/participation_landing/images/article.png new file mode 100755 index 00000000..805d6da0 Binary files /dev/null and b/static/participation_landing/images/article.png differ diff --git a/static/participation_landing/images/close_bg.png b/static/participation_landing/images/close_bg.png new file mode 100755 index 00000000..d5518d3e Binary files /dev/null and b/static/participation_landing/images/close_bg.png differ diff --git a/static/participation_landing/images/factors.png b/static/participation_landing/images/factors.png new file mode 100755 index 00000000..d1ea5634 Binary files /dev/null and b/static/participation_landing/images/factors.png differ diff --git a/static/participation_landing/images/footer.jpg b/static/participation_landing/images/footer.jpg new file mode 100755 index 00000000..5c5474fb Binary files /dev/null and b/static/participation_landing/images/footer.jpg differ diff --git a/static/participation_landing/images/header.jpg b/static/participation_landing/images/header.jpg new file mode 100755 index 00000000..314a7c99 Binary files /dev/null and b/static/participation_landing/images/header.jpg differ diff --git a/static/participation_landing/images/header.png b/static/participation_landing/images/header.png new file mode 100755 index 00000000..86c868ee Binary files /dev/null and b/static/participation_landing/images/header.png differ diff --git a/static/participation_landing/images/icons.png b/static/participation_landing/images/icons.png new file mode 100755 index 00000000..da3ebd8d Binary files /dev/null and b/static/participation_landing/images/icons.png differ diff --git a/static/participation_landing/images/learn1.png b/static/participation_landing/images/learn1.png new file mode 100755 index 00000000..c010f068 Binary files /dev/null and b/static/participation_landing/images/learn1.png differ diff --git a/static/participation_landing/images/learn2.png b/static/participation_landing/images/learn2.png new file mode 100755 index 00000000..b5cc619c Binary files /dev/null and b/static/participation_landing/images/learn2.png differ diff --git a/static/participation_landing/images/logo.png b/static/participation_landing/images/logo.png new file mode 100755 index 00000000..27cde1d3 Binary files /dev/null and b/static/participation_landing/images/logo.png differ diff --git a/static/participation_landing/images/person1.jpg b/static/participation_landing/images/person1.jpg new file mode 100755 index 00000000..26529626 Binary files /dev/null and b/static/participation_landing/images/person1.jpg differ diff --git a/static/participation_landing/images/person2.jpg b/static/participation_landing/images/person2.jpg new file mode 100755 index 00000000..2dda1087 Binary files /dev/null and b/static/participation_landing/images/person2.jpg differ diff --git a/static/participation_landing/images/quote.png b/static/participation_landing/images/quote.png new file mode 100755 index 00000000..ce2a0c05 Binary files /dev/null and b/static/participation_landing/images/quote.png differ diff --git a/static/participation_landing/images/review.png b/static/participation_landing/images/review.png new file mode 100755 index 00000000..f802aaf7 Binary files /dev/null and b/static/participation_landing/images/review.png differ diff --git a/static/participation_landing/images/star_off.png b/static/participation_landing/images/star_off.png new file mode 100755 index 00000000..ddab59fa Binary files /dev/null and b/static/participation_landing/images/star_off.png differ diff --git a/static/participation_landing/images/star_on.png b/static/participation_landing/images/star_on.png new file mode 100755 index 00000000..2da7574d Binary files /dev/null and b/static/participation_landing/images/star_on.png differ diff --git a/static/participation_landing/images/why.jpg b/static/participation_landing/images/why.jpg new file mode 100755 index 00000000..30d9d815 Binary files /dev/null and b/static/participation_landing/images/why.jpg differ diff --git a/static/participation_landing/images/why1.png b/static/participation_landing/images/why1.png new file mode 100755 index 00000000..d69cb964 Binary files /dev/null and b/static/participation_landing/images/why1.png differ diff --git a/static/participation_landing/images/why2.png b/static/participation_landing/images/why2.png new file mode 100755 index 00000000..2e2ae582 Binary files /dev/null and b/static/participation_landing/images/why2.png differ diff --git a/static/participation_landing/images/why3.png b/static/participation_landing/images/why3.png new file mode 100755 index 00000000..46df1e71 Binary files /dev/null and b/static/participation_landing/images/why3.png differ diff --git a/static/participation_landing/js/main.js b/static/participation_landing/js/main.js new file mode 100755 index 00000000..c21cea11 --- /dev/null +++ b/static/participation_landing/js/main.js @@ -0,0 +1,100 @@ +$(function(){ + $('.reviews_slider').on('init', function(event, slick){ + slick.$dots.prepend('') + slick.$dots.append('') + }); + + $('.reviews_slider').on('click', '.slick-dots .next', function(event) { + event.preventDefault(); + $('.reviews_slider').slick('slickNext'); + }); + + $('.reviews_slider').on('click', '.slick-dots .prev', function(event) { + event.preventDefault(); + $('.reviews_slider').slick('slickPrev'); + }); + + $('.reviews_slider').slick({ + arrows: false, + fade: true, + dots: true + }) + + $('a[data-scroll]').on('click', function(event) { + event.preventDefault(); + var target = $(this).data('scroll'); + $('html, body').animate({scrollTop: $(target).offset().top}, 700) + }); + + $('input[name=phone]').mask("+7 (999) 999-99-99"); + + $('.fancybox').fancybox({ + helpers:{ + overlay: { + locked: false, + css: { + 'background' : 'rgba(255, 255, 255, 0.9)', + } + } + } + }); +}) + +$(document).ready(function(){ + $("form#advertise").on("submit", function(e){ + e.preventDefault(); + var $form = $(this), + url = $form.attr("action"), + data = $form.serialize(), + type = $form.attr('method'); + + $form.find('.error').removeClass('error'); + + $.ajax({ + url: url, + type: type, + data: data, + success: function(data){ + if (data.success) { + $.fancybox.close(); + $.fancybox.open($('#modal_thanks')); + } + + if (data.errors) { + $.each(data.errors, function(i, val) { + $form.find('input[name="' + i + '"]').addClass('error') + }); + } + } + }); + }); + + $("form.subscribe_form").on("submit", function(e){ + e.preventDefault(); + var $form = $(this), + url = $form.attr("action"), + data = $form.serialize(), + type = $form.attr('method'); + + $form.find('.error').removeClass('error'); + + $.ajax({ + url: url, + type: type, + data: data, + success: function(data){ + if (data.success) { + $.fancybox.close(); + $.fancybox.open($('#modal_subscribe_thanks')); + } + + if (data.errors) { + $.each(data.errors, function(i, val) { + $form.find('input[name="' + i + '"]').addClass('error') + }); + } + } + }); + }); + +}); diff --git a/static/participation_landing/js/slick.js b/static/participation_landing/js/slick.js new file mode 100644 index 00000000..792edb0d --- /dev/null +++ b/static/participation_landing/js/slick.js @@ -0,0 +1,2669 @@ +/* + _ _ _ _ + ___| (_) ___| | __ (_)___ +/ __| | |/ __| |/ / | / __| +\__ \ | | (__| < _ | \__ \ +|___/_|_|\___|_|\_(_)/ |___/ + |__/ + + Version: 1.5.9 + Author: Ken Wheeler + Website: http://kenwheeler.github.io + Docs: http://kenwheeler.github.io/slick + Repo: http://github.com/kenwheeler/slick + Issues: http://github.com/kenwheeler/slick/issues + + */ +/* global window, document, define, jQuery, setInterval, clearInterval */ +(function(factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports !== 'undefined') { + module.exports = factory(require('jquery')); + } else { + factory(jQuery); + } + +}(function($) { + 'use strict'; + var Slick = window.Slick || {}; + + Slick = (function() { + + var instanceUid = 0; + + function Slick(element, settings) { + + var _ = this, dataSettings; + + _.defaults = { + accessibility: true, + adaptiveHeight: false, + appendArrows: $(element), + appendDots: $(element), + arrows: true, + asNavFor: null, + prevArrow: '', + nextArrow: '', + autoplay: false, + autoplaySpeed: 3000, + centerMode: false, + centerPadding: '50px', + cssEase: 'ease', + customPaging: function(slider, i) { + return ''; + }, + dots: false, + dotsClass: 'slick-dots', + draggable: true, + easing: 'linear', + edgeFriction: 0.35, + fade: false, + focusOnSelect: false, + infinite: true, + initialSlide: 0, + lazyLoad: 'ondemand', + mobileFirst: false, + pauseOnHover: true, + pauseOnDotsHover: false, + respondTo: 'window', + responsive: null, + rows: 1, + rtl: false, + slide: '', + slidesPerRow: 1, + slidesToShow: 1, + slidesToScroll: 1, + speed: 500, + swipe: true, + swipeToSlide: false, + touchMove: true, + touchThreshold: 5, + useCSS: true, + useTransform: false, + variableWidth: false, + vertical: false, + verticalSwiping: false, + waitForAnimate: true, + zIndex: 1000 + }; + + _.initials = { + animating: false, + dragging: false, + autoPlayTimer: null, + currentDirection: 0, + currentLeft: null, + currentSlide: 0, + direction: 1, + $dots: null, + listWidth: null, + listHeight: null, + loadIndex: 0, + $nextArrow: null, + $prevArrow: null, + slideCount: null, + slideWidth: null, + $slideTrack: null, + $slides: null, + sliding: false, + slideOffset: 0, + swipeLeft: null, + $list: null, + touchObject: {}, + transformsEnabled: false, + unslicked: false + }; + + $.extend(_, _.initials); + + _.activeBreakpoint = null; + _.animType = null; + _.animProp = null; + _.breakpoints = []; + _.breakpointSettings = []; + _.cssTransitions = false; + _.hidden = 'hidden'; + _.paused = false; + _.positionProp = null; + _.respondTo = null; + _.rowCount = 1; + _.shouldClick = true; + _.$slider = $(element); + _.$slidesCache = null; + _.transformType = null; + _.transitionType = null; + _.visibilityChange = 'visibilitychange'; + _.windowWidth = 0; + _.windowTimer = null; + + dataSettings = $(element).data('slick') || {}; + + _.options = $.extend({}, _.defaults, dataSettings, settings); + + _.currentSlide = _.options.initialSlide; + + _.originalSettings = _.options; + + if (typeof document.mozHidden !== 'undefined') { + _.hidden = 'mozHidden'; + _.visibilityChange = 'mozvisibilitychange'; + } else if (typeof document.webkitHidden !== 'undefined') { + _.hidden = 'webkitHidden'; + _.visibilityChange = 'webkitvisibilitychange'; + } + + _.autoPlay = $.proxy(_.autoPlay, _); + _.autoPlayClear = $.proxy(_.autoPlayClear, _); + _.changeSlide = $.proxy(_.changeSlide, _); + _.clickHandler = $.proxy(_.clickHandler, _); + _.selectHandler = $.proxy(_.selectHandler, _); + _.setPosition = $.proxy(_.setPosition, _); + _.swipeHandler = $.proxy(_.swipeHandler, _); + _.dragHandler = $.proxy(_.dragHandler, _); + _.keyHandler = $.proxy(_.keyHandler, _); + _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); + + _.instanceUid = instanceUid++; + + // A simple way to check for HTML strings + // Strict HTML recognition (must start with <) + // Extracted from jQuery v1.11 source + _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; + + + _.registerBreakpoints(); + _.init(true); + _.checkResponsive(true); + + } + + return Slick; + + }()); + + Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { + + var _ = this; + + if (typeof(index) === 'boolean') { + addBefore = index; + index = null; + } else if (index < 0 || (index >= _.slideCount)) { + return false; + } + + _.unload(); + + if (typeof(index) === 'number') { + if (index === 0 && _.$slides.length === 0) { + $(markup).appendTo(_.$slideTrack); + } else if (addBefore) { + $(markup).insertBefore(_.$slides.eq(index)); + } else { + $(markup).insertAfter(_.$slides.eq(index)); + } + } else { + if (addBefore === true) { + $(markup).prependTo(_.$slideTrack); + } else { + $(markup).appendTo(_.$slideTrack); + } + } + + _.$slides = _.$slideTrack.children(this.options.slide); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slideTrack.append(_.$slides); + + _.$slides.each(function(index, element) { + $(element).attr('data-slick-index', index); + }); + + _.$slidesCache = _.$slides; + + _.reinit(); + + }; + + Slick.prototype.animateHeight = function() { + var _ = this; + if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { + var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); + _.$list.animate({ + height: targetHeight + }, _.options.speed); + } + }; + + Slick.prototype.animateSlide = function(targetLeft, callback) { + + var animProps = {}, + _ = this; + + _.animateHeight(); + + if (_.options.rtl === true && _.options.vertical === false) { + targetLeft = -targetLeft; + } + if (_.transformsEnabled === false) { + if (_.options.vertical === false) { + _.$slideTrack.animate({ + left: targetLeft + }, _.options.speed, _.options.easing, callback); + } else { + _.$slideTrack.animate({ + top: targetLeft + }, _.options.speed, _.options.easing, callback); + } + + } else { + + if (_.cssTransitions === false) { + if (_.options.rtl === true) { + _.currentLeft = -(_.currentLeft); + } + $({ + animStart: _.currentLeft + }).animate({ + animStart: targetLeft + }, { + duration: _.options.speed, + easing: _.options.easing, + step: function(now) { + now = Math.ceil(now); + if (_.options.vertical === false) { + animProps[_.animType] = 'translate(' + + now + 'px, 0px)'; + _.$slideTrack.css(animProps); + } else { + animProps[_.animType] = 'translate(0px,' + + now + 'px)'; + _.$slideTrack.css(animProps); + } + }, + complete: function() { + if (callback) { + callback.call(); + } + } + }); + + } else { + + _.applyTransition(); + targetLeft = Math.ceil(targetLeft); + + if (_.options.vertical === false) { + animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; + } else { + animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; + } + _.$slideTrack.css(animProps); + + if (callback) { + setTimeout(function() { + + _.disableTransition(); + + callback.call(); + }, _.options.speed); + } + + } + + } + + }; + + Slick.prototype.asNavFor = function(index) { + + var _ = this, + asNavFor = _.options.asNavFor; + + if ( asNavFor && asNavFor !== null ) { + asNavFor = $(asNavFor).not(_.$slider); + } + + if ( asNavFor !== null && typeof asNavFor === 'object' ) { + asNavFor.each(function() { + var target = $(this).slick('getSlick'); + if(!target.unslicked) { + target.slideHandler(index, true); + } + }); + } + + }; + + Slick.prototype.applyTransition = function(slide) { + + var _ = this, + transition = {}; + + if (_.options.fade === false) { + transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; + } else { + transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; + } + + if (_.options.fade === false) { + _.$slideTrack.css(transition); + } else { + _.$slides.eq(slide).css(transition); + } + + }; + + Slick.prototype.autoPlay = function() { + + var _ = this; + + if (_.autoPlayTimer) { + clearInterval(_.autoPlayTimer); + } + + if (_.slideCount > _.options.slidesToShow && _.paused !== true) { + _.autoPlayTimer = setInterval(_.autoPlayIterator, + _.options.autoplaySpeed); + } + + }; + + Slick.prototype.autoPlayClear = function() { + + var _ = this; + if (_.autoPlayTimer) { + clearInterval(_.autoPlayTimer); + } + + }; + + Slick.prototype.autoPlayIterator = function() { + + var _ = this; + + if (_.options.infinite === false) { + + if (_.direction === 1) { + + if ((_.currentSlide + 1) === _.slideCount - + 1) { + _.direction = 0; + } + + _.slideHandler(_.currentSlide + _.options.slidesToScroll); + + } else { + + if ((_.currentSlide - 1 === 0)) { + + _.direction = 1; + + } + + _.slideHandler(_.currentSlide - _.options.slidesToScroll); + + } + + } else { + + _.slideHandler(_.currentSlide + _.options.slidesToScroll); + + } + + }; + + Slick.prototype.buildArrows = function() { + + var _ = this; + + if (_.options.arrows === true ) { + + _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); + _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); + + if( _.slideCount > _.options.slidesToShow ) { + + _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); + _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); + + if (_.htmlExpr.test(_.options.prevArrow)) { + _.$prevArrow.prependTo(_.options.appendArrows); + } + + if (_.htmlExpr.test(_.options.nextArrow)) { + _.$nextArrow.appendTo(_.options.appendArrows); + } + + if (_.options.infinite !== true) { + _.$prevArrow + .addClass('slick-disabled') + .attr('aria-disabled', 'true'); + } + + } else { + + _.$prevArrow.add( _.$nextArrow ) + + .addClass('slick-hidden') + .attr({ + 'aria-disabled': 'true', + 'tabindex': '-1' + }); + + } + + } + + }; + + Slick.prototype.buildDots = function() { + + var _ = this, + i, dotString; + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + + dotString = '
    '; + + for (i = 0; i <= _.getDotCount(); i += 1) { + dotString += '
  • ' + _.options.customPaging.call(this, _, i) + '
  • '; + } + + dotString += '
'; + + _.$dots = $(dotString).appendTo( + _.options.appendDots); + + _.$dots.find('.dot').first().addClass('slick-active').attr('aria-hidden', 'false'); + + } + + }; + + Slick.prototype.buildOut = function() { + + var _ = this; + + _.$slides = + _.$slider + .children( _.options.slide + ':not(.slick-cloned)') + .addClass('slick-slide'); + + _.slideCount = _.$slides.length; + + _.$slides.each(function(index, element) { + $(element) + .attr('data-slick-index', index) + .data('originalStyling', $(element).attr('style') || ''); + }); + + _.$slider.addClass('slick-slider'); + + _.$slideTrack = (_.slideCount === 0) ? + $('
').appendTo(_.$slider) : + _.$slides.wrapAll('
').parent(); + + _.$list = _.$slideTrack.wrap( + '
').parent(); + _.$slideTrack.css('opacity', 0); + + if (_.options.centerMode === true || _.options.swipeToSlide === true) { + _.options.slidesToScroll = 1; + } + + $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); + + _.setupInfinite(); + + _.buildArrows(); + + _.buildDots(); + + _.updateDots(); + + + _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); + + if (_.options.draggable === true) { + _.$list.addClass('draggable'); + } + + }; + + Slick.prototype.buildRows = function() { + + var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; + + newSlides = document.createDocumentFragment(); + originalSlides = _.$slider.children(); + + if(_.options.rows > 1) { + + slidesPerSection = _.options.slidesPerRow * _.options.rows; + numOfSlides = Math.ceil( + originalSlides.length / slidesPerSection + ); + + for(a = 0; a < numOfSlides; a++){ + var slide = document.createElement('div'); + for(b = 0; b < _.options.rows; b++) { + var row = document.createElement('div'); + for(c = 0; c < _.options.slidesPerRow; c++) { + var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); + if (originalSlides.get(target)) { + row.appendChild(originalSlides.get(target)); + } + } + slide.appendChild(row); + } + newSlides.appendChild(slide); + } + + _.$slider.html(newSlides); + _.$slider.children().children().children() + .css({ + 'width':(100 / _.options.slidesPerRow) + '%', + 'display': 'inline-block' + }); + + } + + }; + + Slick.prototype.checkResponsive = function(initial, forceUpdate) { + + var _ = this, + breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; + var sliderWidth = _.$slider.width(); + var windowWidth = window.innerWidth || $(window).width(); + + if (_.respondTo === 'window') { + respondToWidth = windowWidth; + } else if (_.respondTo === 'slider') { + respondToWidth = sliderWidth; + } else if (_.respondTo === 'min') { + respondToWidth = Math.min(windowWidth, sliderWidth); + } + + if ( _.options.responsive && + _.options.responsive.length && + _.options.responsive !== null) { + + targetBreakpoint = null; + + for (breakpoint in _.breakpoints) { + if (_.breakpoints.hasOwnProperty(breakpoint)) { + if (_.originalSettings.mobileFirst === false) { + if (respondToWidth < _.breakpoints[breakpoint]) { + targetBreakpoint = _.breakpoints[breakpoint]; + } + } else { + if (respondToWidth > _.breakpoints[breakpoint]) { + targetBreakpoint = _.breakpoints[breakpoint]; + } + } + } + } + + if (targetBreakpoint !== null) { + if (_.activeBreakpoint !== null) { + if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { + _.activeBreakpoint = + targetBreakpoint; + if (_.breakpointSettings[targetBreakpoint] === 'unslick') { + _.unslick(targetBreakpoint); + } else { + _.options = $.extend({}, _.originalSettings, + _.breakpointSettings[ + targetBreakpoint]); + if (initial === true) { + _.currentSlide = _.options.initialSlide; + } + _.refresh(initial); + } + triggerBreakpoint = targetBreakpoint; + } + } else { + _.activeBreakpoint = targetBreakpoint; + if (_.breakpointSettings[targetBreakpoint] === 'unslick') { + _.unslick(targetBreakpoint); + } else { + _.options = $.extend({}, _.originalSettings, + _.breakpointSettings[ + targetBreakpoint]); + if (initial === true) { + _.currentSlide = _.options.initialSlide; + } + _.refresh(initial); + } + triggerBreakpoint = targetBreakpoint; + } + } else { + if (_.activeBreakpoint !== null) { + _.activeBreakpoint = null; + _.options = _.originalSettings; + if (initial === true) { + _.currentSlide = _.options.initialSlide; + } + _.refresh(initial); + triggerBreakpoint = targetBreakpoint; + } + } + + // only trigger breakpoints during an actual break. not on initialize. + if( !initial && triggerBreakpoint !== false ) { + _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); + } + } + + }; + + Slick.prototype.changeSlide = function(event, dontAnimate) { + + var _ = this, + $target = $(event.target), + indexOffset, slideOffset, unevenOffset; + + // If target is a link, prevent default action. + if($target.is('a')) { + event.preventDefault(); + } + + // If target is not the
  • element (ie: a child), find the
  • . + if(!$target.is('.dot')) { + $target = $target.closest('.dot'); + } + + unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); + indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; + + switch (event.data.message) { + + case 'previous': + slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; + if (_.slideCount > _.options.slidesToShow) { + _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); + } + break; + + case 'next': + slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; + if (_.slideCount > _.options.slidesToShow) { + _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); + } + break; + + case 'index': + var index = event.data.index === 0 ? 0 : + event.data.index || $target.index() * _.options.slidesToScroll; + + _.slideHandler(_.checkNavigable(index-1), false, dontAnimate); + $target.children().trigger('focus'); + break; + + default: + return; + } + + }; + + Slick.prototype.checkNavigable = function(index) { + var _ = this, + navigables, prevNavigable; + + navigables = _.getNavigableIndexes(); + prevNavigable = 0; + if (index > navigables[navigables.length - 1]) { + index = navigables[navigables.length - 1]; + } else { + for (var n in navigables) { + if (index < navigables[n]) { + index = prevNavigable; + break; + } + prevNavigable = navigables[n]; + } + } + + return index; + }; + + Slick.prototype.cleanUpEvents = function() { + + var _ = this; + + if (_.options.dots && _.$dots !== null) { + + $('.dot', _.$dots).off('click.slick', _.changeSlide); + + if (_.options.pauseOnDotsHover === true && _.options.autoplay === true) { + + $('.dot', _.$dots) + .off('mouseenter.slick', $.proxy(_.setPaused, _, true)) + .off('mouseleave.slick', $.proxy(_.setPaused, _, false)); + + } + + } + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); + _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); + } + + _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); + _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); + _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); + _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); + + _.$list.off('click.slick', _.clickHandler); + + $(document).off(_.visibilityChange, _.visibility); + + _.$list.off('mouseenter.slick', $.proxy(_.setPaused, _, true)); + _.$list.off('mouseleave.slick', $.proxy(_.setPaused, _, false)); + + if (_.options.accessibility === true) { + _.$list.off('keydown.slick', _.keyHandler); + } + + if (_.options.focusOnSelect === true) { + $(_.$slideTrack).children().off('click.slick', _.selectHandler); + } + + $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); + + $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); + + $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); + + $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); + $(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition); + }; + + Slick.prototype.cleanUpRows = function() { + + var _ = this, originalSlides; + + if(_.options.rows > 1) { + originalSlides = _.$slides.children().children(); + originalSlides.removeAttr('style'); + _.$slider.html(originalSlides); + } + + }; + + Slick.prototype.clickHandler = function(event) { + + var _ = this; + + if (_.shouldClick === false) { + event.stopImmediatePropagation(); + event.stopPropagation(); + event.preventDefault(); + } + + }; + + Slick.prototype.destroy = function(refresh) { + + var _ = this; + + _.autoPlayClear(); + + _.touchObject = {}; + + _.cleanUpEvents(); + + $('.slick-cloned', _.$slider).detach(); + + if (_.$dots) { + _.$dots.remove(); + } + + + if ( _.$prevArrow && _.$prevArrow.length ) { + + _.$prevArrow + .removeClass('slick-disabled slick-arrow slick-hidden') + .removeAttr('aria-hidden aria-disabled tabindex') + .css("display",""); + + if ( _.htmlExpr.test( _.options.prevArrow )) { + _.$prevArrow.remove(); + } + } + + if ( _.$nextArrow && _.$nextArrow.length ) { + + _.$nextArrow + .removeClass('slick-disabled slick-arrow slick-hidden') + .removeAttr('aria-hidden aria-disabled tabindex') + .css("display",""); + + if ( _.htmlExpr.test( _.options.nextArrow )) { + _.$nextArrow.remove(); + } + + } + + + if (_.$slides) { + + _.$slides + .removeClass('slick-slide slick-active slick-center slick-visible slick-current') + .removeAttr('aria-hidden') + .removeAttr('data-slick-index') + .each(function(){ + $(this).attr('style', $(this).data('originalStyling')); + }); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slideTrack.detach(); + + _.$list.detach(); + + _.$slider.append(_.$slides); + } + + _.cleanUpRows(); + + _.$slider.removeClass('slick-slider'); + _.$slider.removeClass('slick-initialized'); + + _.unslicked = true; + + if(!refresh) { + _.$slider.trigger('destroy', [_]); + } + + }; + + Slick.prototype.disableTransition = function(slide) { + + var _ = this, + transition = {}; + + transition[_.transitionType] = ''; + + if (_.options.fade === false) { + _.$slideTrack.css(transition); + } else { + _.$slides.eq(slide).css(transition); + } + + }; + + Slick.prototype.fadeSlide = function(slideIndex, callback) { + + var _ = this; + + if (_.cssTransitions === false) { + + _.$slides.eq(slideIndex).css({ + zIndex: _.options.zIndex + }); + + _.$slides.eq(slideIndex).animate({ + opacity: 1 + }, _.options.speed, _.options.easing, callback); + + } else { + + _.applyTransition(slideIndex); + + _.$slides.eq(slideIndex).css({ + opacity: 1, + zIndex: _.options.zIndex + }); + + if (callback) { + setTimeout(function() { + + _.disableTransition(slideIndex); + + callback.call(); + }, _.options.speed); + } + + } + + }; + + Slick.prototype.fadeSlideOut = function(slideIndex) { + + var _ = this; + + if (_.cssTransitions === false) { + + _.$slides.eq(slideIndex).animate({ + opacity: 0, + zIndex: _.options.zIndex - 2 + }, _.options.speed, _.options.easing); + + } else { + + _.applyTransition(slideIndex); + + _.$slides.eq(slideIndex).css({ + opacity: 0, + zIndex: _.options.zIndex - 2 + }); + + } + + }; + + Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { + + var _ = this; + + if (filter !== null) { + + _.$slidesCache = _.$slides; + + _.unload(); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slidesCache.filter(filter).appendTo(_.$slideTrack); + + _.reinit(); + + } + + }; + + Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { + + var _ = this; + return _.currentSlide; + + }; + + Slick.prototype.getDotCount = function() { + + var _ = this; + + var breakPoint = 0; + var counter = 0; + var pagerQty = 0; + + if (_.options.infinite === true) { + while (breakPoint < _.slideCount) { + ++pagerQty; + breakPoint = counter + _.options.slidesToScroll; + counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; + } + } else if (_.options.centerMode === true) { + pagerQty = _.slideCount; + } else { + while (breakPoint < _.slideCount) { + ++pagerQty; + breakPoint = counter + _.options.slidesToScroll; + counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; + } + } + + return pagerQty - 1; + + }; + + Slick.prototype.getLeft = function(slideIndex) { + + var _ = this, + targetLeft, + verticalHeight, + verticalOffset = 0, + targetSlide; + + _.slideOffset = 0; + verticalHeight = _.$slides.first().outerHeight(true); + + if (_.options.infinite === true) { + if (_.slideCount > _.options.slidesToShow) { + _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; + verticalOffset = (verticalHeight * _.options.slidesToShow) * -1; + } + if (_.slideCount % _.options.slidesToScroll !== 0) { + if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { + if (slideIndex > _.slideCount) { + _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; + verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; + } else { + _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; + verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; + } + } + } + } else { + if (slideIndex + _.options.slidesToShow > _.slideCount) { + _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; + verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; + } + } + + if (_.slideCount <= _.options.slidesToShow) { + _.slideOffset = 0; + verticalOffset = 0; + } + + if (_.options.centerMode === true && _.options.infinite === true) { + _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; + } else if (_.options.centerMode === true) { + _.slideOffset = 0; + _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); + } + + if (_.options.vertical === false) { + targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; + } else { + targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; + } + + if (_.options.variableWidth === true) { + + if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); + } else { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); + } + + if (_.options.rtl === true) { + if (targetSlide[0]) { + targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; + } else { + targetLeft = 0; + } + } else { + targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; + } + + if (_.options.centerMode === true) { + if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); + } else { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); + } + + if (_.options.rtl === true) { + if (targetSlide[0]) { + targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; + } else { + targetLeft = 0; + } + } else { + targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; + } + + targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; + } + } + + return targetLeft; + + }; + + Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { + + var _ = this; + + return _.options[option]; + + }; + + Slick.prototype.getNavigableIndexes = function() { + + var _ = this, + breakPoint = 0, + counter = 0, + indexes = [], + max; + + if (_.options.infinite === false) { + max = _.slideCount; + } else { + breakPoint = _.options.slidesToScroll * -1; + counter = _.options.slidesToScroll * -1; + max = _.slideCount * 2; + } + + while (breakPoint < max) { + indexes.push(breakPoint); + breakPoint = counter + _.options.slidesToScroll; + counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; + } + + return indexes; + + }; + + Slick.prototype.getSlick = function() { + + return this; + + }; + + Slick.prototype.getSlideCount = function() { + + var _ = this, + slidesTraversed, swipedSlide, centerOffset; + + centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0; + + if (_.options.swipeToSlide === true) { + _.$slideTrack.find('.slick-slide').each(function(index, slide) { + if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) { + swipedSlide = slide; + return false; + } + }); + + slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; + + return slidesTraversed; + + } else { + return _.options.slidesToScroll; + } + + }; + + Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { + + var _ = this; + + _.changeSlide({ + data: { + message: 'index', + index: parseInt(slide) + } + }, dontAnimate); + + }; + + Slick.prototype.init = function(creation) { + + var _ = this; + + if (!$(_.$slider).hasClass('slick-initialized')) { + + $(_.$slider).addClass('slick-initialized'); + + _.buildRows(); + _.buildOut(); + _.setProps(); + _.startLoad(); + _.loadSlider(); + _.initializeEvents(); + _.updateArrows(); + _.updateDots(); + + } + + if (creation) { + _.$slider.trigger('init', [_]); + } + + if (_.options.accessibility === true) { + _.initADA(); + } + + }; + + Slick.prototype.initArrowEvents = function() { + + var _ = this; + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + _.$prevArrow.on('click.slick', { + message: 'previous' + }, _.changeSlide); + _.$nextArrow.on('click.slick', { + message: 'next' + }, _.changeSlide); + } + + }; + + Slick.prototype.initDotEvents = function() { + + var _ = this; + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + $('.dot', _.$dots).on('click.slick', { + message: 'index' + }, _.changeSlide); + } + + if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.options.autoplay === true) { + $('.dot', _.$dots) + .on('mouseenter.slick', $.proxy(_.setPaused, _, true)) + .on('mouseleave.slick', $.proxy(_.setPaused, _, false)); + } + + }; + + Slick.prototype.initializeEvents = function() { + + var _ = this; + + _.initArrowEvents(); + + _.initDotEvents(); + + _.$list.on('touchstart.slick mousedown.slick', { + action: 'start' + }, _.swipeHandler); + _.$list.on('touchmove.slick mousemove.slick', { + action: 'move' + }, _.swipeHandler); + _.$list.on('touchend.slick mouseup.slick', { + action: 'end' + }, _.swipeHandler); + _.$list.on('touchcancel.slick mouseleave.slick', { + action: 'end' + }, _.swipeHandler); + + _.$list.on('click.slick', _.clickHandler); + + $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); + + _.$list.on('mouseenter.slick', $.proxy(_.setPaused, _, true)); + _.$list.on('mouseleave.slick', $.proxy(_.setPaused, _, false)); + + if (_.options.accessibility === true) { + _.$list.on('keydown.slick', _.keyHandler); + } + + if (_.options.focusOnSelect === true) { + $(_.$slideTrack).children().on('click.slick', _.selectHandler); + } + + $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); + + $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); + + $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); + + $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); + $(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition); + + }; + + Slick.prototype.initUI = function() { + + var _ = this; + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + + _.$prevArrow.show(); + _.$nextArrow.show(); + + } + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + + _.$dots.show(); + + } + + if (_.options.autoplay === true) { + + _.autoPlay(); + + } + + }; + + Slick.prototype.keyHandler = function(event) { + + var _ = this; + //Dont slide if the cursor is inside the form fields and arrow keys are pressed + if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { + if (event.keyCode === 37 && _.options.accessibility === true) { + _.changeSlide({ + data: { + message: 'previous' + } + }); + } else if (event.keyCode === 39 && _.options.accessibility === true) { + _.changeSlide({ + data: { + message: 'next' + } + }); + } + } + + }; + + Slick.prototype.lazyLoad = function() { + + var _ = this, + loadRange, cloneRange, rangeStart, rangeEnd; + + function loadImages(imagesScope) { + $('img[data-lazy]', imagesScope).each(function() { + + var image = $(this), + imageSource = $(this).attr('data-lazy'), + imageToLoad = document.createElement('img'); + + imageToLoad.onload = function() { + image + .animate({ opacity: 0 }, 100, function() { + image + .attr('src', imageSource) + .animate({ opacity: 1 }, 200, function() { + image + .removeAttr('data-lazy') + .removeClass('slick-loading'); + }); + }); + }; + + imageToLoad.src = imageSource; + + }); + } + + if (_.options.centerMode === true) { + if (_.options.infinite === true) { + rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); + rangeEnd = rangeStart + _.options.slidesToShow + 2; + } else { + rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); + rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; + } + } else { + rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; + rangeEnd = rangeStart + _.options.slidesToShow; + if (_.options.fade === true) { + if (rangeStart > 0) rangeStart--; + if (rangeEnd <= _.slideCount) rangeEnd++; + } + } + + loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); + loadImages(loadRange); + + if (_.slideCount <= _.options.slidesToShow) { + cloneRange = _.$slider.find('.slick-slide'); + loadImages(cloneRange); + } else + if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { + cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); + loadImages(cloneRange); + } else if (_.currentSlide === 0) { + cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); + loadImages(cloneRange); + } + + }; + + Slick.prototype.loadSlider = function() { + + var _ = this; + + _.setPosition(); + + _.$slideTrack.css({ + opacity: 1 + }); + + _.$slider.removeClass('slick-loading'); + + _.initUI(); + + if (_.options.lazyLoad === 'progressive') { + _.progressiveLazyLoad(); + } + + }; + + Slick.prototype.next = Slick.prototype.slickNext = function() { + + var _ = this; + + _.changeSlide({ + data: { + message: 'next' + } + }); + + }; + + Slick.prototype.orientationChange = function() { + + var _ = this; + + _.checkResponsive(); + _.setPosition(); + + }; + + Slick.prototype.pause = Slick.prototype.slickPause = function() { + + var _ = this; + + _.autoPlayClear(); + _.paused = true; + + }; + + Slick.prototype.play = Slick.prototype.slickPlay = function() { + + var _ = this; + + _.paused = false; + _.autoPlay(); + + }; + + Slick.prototype.postSlide = function(index) { + + var _ = this; + + _.$slider.trigger('afterChange', [_, index]); + + _.animating = false; + + _.setPosition(); + + _.swipeLeft = null; + + if (_.options.autoplay === true && _.paused === false) { + _.autoPlay(); + } + if (_.options.accessibility === true) { + _.initADA(); + } + + }; + + Slick.prototype.prev = Slick.prototype.slickPrev = function() { + + var _ = this; + + _.changeSlide({ + data: { + message: 'previous' + } + }); + + }; + + Slick.prototype.preventDefault = function(event) { + event.preventDefault(); + }; + + Slick.prototype.progressiveLazyLoad = function() { + + var _ = this, + imgCount, targetImage; + + imgCount = $('img[data-lazy]', _.$slider).length; + + if (imgCount > 0) { + targetImage = $('img[data-lazy]', _.$slider).first(); + targetImage.attr('src', null); + targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() { + targetImage.removeAttr('data-lazy'); + _.progressiveLazyLoad(); + + if (_.options.adaptiveHeight === true) { + _.setPosition(); + } + }) + .error(function() { + targetImage.removeAttr('data-lazy'); + _.progressiveLazyLoad(); + }); + } + + }; + + Slick.prototype.refresh = function( initializing ) { + + var _ = this, currentSlide, firstVisible; + + firstVisible = _.slideCount - _.options.slidesToShow; + + // check that the new breakpoint can actually accept the + // "current slide" as the current slide, otherwise we need + // to set it to the closest possible value. + if ( !_.options.infinite ) { + if ( _.slideCount <= _.options.slidesToShow ) { + _.currentSlide = 0; + } else if ( _.currentSlide > firstVisible ) { + _.currentSlide = firstVisible; + } + } + + currentSlide = _.currentSlide; + + _.destroy(true); + + $.extend(_, _.initials, { currentSlide: currentSlide }); + + _.init(); + + if( !initializing ) { + + _.changeSlide({ + data: { + message: 'index', + index: currentSlide + } + }, false); + + } + + }; + + Slick.prototype.registerBreakpoints = function() { + + var _ = this, breakpoint, currentBreakpoint, l, + responsiveSettings = _.options.responsive || null; + + if ( $.type(responsiveSettings) === "array" && responsiveSettings.length ) { + + _.respondTo = _.options.respondTo || 'window'; + + for ( breakpoint in responsiveSettings ) { + + l = _.breakpoints.length-1; + currentBreakpoint = responsiveSettings[breakpoint].breakpoint; + + if (responsiveSettings.hasOwnProperty(breakpoint)) { + + // loop through the breakpoints and cut out any existing + // ones with the same breakpoint number, we don't want dupes. + while( l >= 0 ) { + if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { + _.breakpoints.splice(l,1); + } + l--; + } + + _.breakpoints.push(currentBreakpoint); + _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; + + } + + } + + _.breakpoints.sort(function(a, b) { + return ( _.options.mobileFirst ) ? a-b : b-a; + }); + + } + + }; + + Slick.prototype.reinit = function() { + + var _ = this; + + _.$slides = + _.$slideTrack + .children(_.options.slide) + .addClass('slick-slide'); + + _.slideCount = _.$slides.length; + + if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { + _.currentSlide = _.currentSlide - _.options.slidesToScroll; + } + + if (_.slideCount <= _.options.slidesToShow) { + _.currentSlide = 0; + } + + _.registerBreakpoints(); + + _.setProps(); + _.setupInfinite(); + _.buildArrows(); + _.updateArrows(); + _.initArrowEvents(); + _.buildDots(); + _.updateDots(); + _.initDotEvents(); + + _.checkResponsive(false, true); + + if (_.options.focusOnSelect === true) { + $(_.$slideTrack).children().on('click.slick', _.selectHandler); + } + + _.setSlideClasses(0); + + _.setPosition(); + + _.$slider.trigger('reInit', [_]); + + if (_.options.autoplay === true) { + _.focusHandler(); + } + + }; + + Slick.prototype.resize = function() { + + var _ = this; + + if ($(window).width() !== _.windowWidth) { + clearTimeout(_.windowDelay); + _.windowDelay = window.setTimeout(function() { + _.windowWidth = $(window).width(); + _.checkResponsive(); + if( !_.unslicked ) { _.setPosition(); } + }, 50); + } + }; + + Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { + + var _ = this; + + if (typeof(index) === 'boolean') { + removeBefore = index; + index = removeBefore === true ? 0 : _.slideCount - 1; + } else { + index = removeBefore === true ? --index : index; + } + + if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { + return false; + } + + _.unload(); + + if (removeAll === true) { + _.$slideTrack.children().remove(); + } else { + _.$slideTrack.children(this.options.slide).eq(index).remove(); + } + + _.$slides = _.$slideTrack.children(this.options.slide); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slideTrack.append(_.$slides); + + _.$slidesCache = _.$slides; + + _.reinit(); + + }; + + Slick.prototype.setCSS = function(position) { + + var _ = this, + positionProps = {}, + x, y; + + if (_.options.rtl === true) { + position = -position; + } + x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; + y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; + + positionProps[_.positionProp] = position; + + if (_.transformsEnabled === false) { + _.$slideTrack.css(positionProps); + } else { + positionProps = {}; + if (_.cssTransitions === false) { + positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; + _.$slideTrack.css(positionProps); + } else { + positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; + _.$slideTrack.css(positionProps); + } + } + + }; + + Slick.prototype.setDimensions = function() { + + var _ = this; + + if (_.options.vertical === false) { + if (_.options.centerMode === true) { + _.$list.css({ + padding: ('0px ' + _.options.centerPadding) + }); + } + } else { + _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); + if (_.options.centerMode === true) { + _.$list.css({ + padding: (_.options.centerPadding + ' 0px') + }); + } + } + + _.listWidth = _.$list.width(); + _.listHeight = _.$list.height(); + + + if (_.options.vertical === false && _.options.variableWidth === false) { + _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); + _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); + + } else if (_.options.variableWidth === true) { + _.$slideTrack.width(5000 * _.slideCount); + } else { + _.slideWidth = Math.ceil(_.listWidth); + _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); + } + + var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); + if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); + + }; + + Slick.prototype.setFade = function() { + + var _ = this, + targetLeft; + + _.$slides.each(function(index, element) { + targetLeft = (_.slideWidth * index) * -1; + if (_.options.rtl === true) { + $(element).css({ + position: 'relative', + right: targetLeft, + top: 0, + zIndex: _.options.zIndex - 2, + opacity: 0 + }); + } else { + $(element).css({ + position: 'relative', + left: targetLeft, + top: 0, + zIndex: _.options.zIndex - 2, + opacity: 0 + }); + } + }); + + _.$slides.eq(_.currentSlide).css({ + zIndex: _.options.zIndex - 1, + opacity: 1 + }); + + }; + + Slick.prototype.setHeight = function() { + + var _ = this; + + if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { + var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); + _.$list.css('height', targetHeight); + } + + }; + + Slick.prototype.setOption = Slick.prototype.slickSetOption = function(option, value, refresh) { + + var _ = this, l, item; + + if( option === "responsive" && $.type(value) === "array" ) { + for ( item in value ) { + if( $.type( _.options.responsive ) !== "array" ) { + _.options.responsive = [ value[item] ]; + } else { + l = _.options.responsive.length-1; + // loop through the responsive object and splice out duplicates. + while( l >= 0 ) { + if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { + _.options.responsive.splice(l,1); + } + l--; + } + _.options.responsive.push( value[item] ); + } + } + } else { + _.options[option] = value; + } + + if (refresh === true) { + _.unload(); + _.reinit(); + } + + }; + + Slick.prototype.setPosition = function() { + + var _ = this; + + _.setDimensions(); + + _.setHeight(); + + if (_.options.fade === false) { + _.setCSS(_.getLeft(_.currentSlide)); + } else { + _.setFade(); + } + + _.$slider.trigger('setPosition', [_]); + + }; + + Slick.prototype.setProps = function() { + + var _ = this, + bodyStyle = document.body.style; + + _.positionProp = _.options.vertical === true ? 'top' : 'left'; + + if (_.positionProp === 'top') { + _.$slider.addClass('slick-vertical'); + } else { + _.$slider.removeClass('slick-vertical'); + } + + if (bodyStyle.WebkitTransition !== undefined || + bodyStyle.MozTransition !== undefined || + bodyStyle.msTransition !== undefined) { + if (_.options.useCSS === true) { + _.cssTransitions = true; + } + } + + if ( _.options.fade ) { + if ( typeof _.options.zIndex === 'number' ) { + if( _.options.zIndex < 3 ) { + _.options.zIndex = 3; + } + } else { + _.options.zIndex = _.defaults.zIndex; + } + } + + if (bodyStyle.OTransform !== undefined) { + _.animType = 'OTransform'; + _.transformType = '-o-transform'; + _.transitionType = 'OTransition'; + if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; + } + if (bodyStyle.MozTransform !== undefined) { + _.animType = 'MozTransform'; + _.transformType = '-moz-transform'; + _.transitionType = 'MozTransition'; + if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; + } + if (bodyStyle.webkitTransform !== undefined) { + _.animType = 'webkitTransform'; + _.transformType = '-webkit-transform'; + _.transitionType = 'webkitTransition'; + if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; + } + if (bodyStyle.msTransform !== undefined) { + _.animType = 'msTransform'; + _.transformType = '-ms-transform'; + _.transitionType = 'msTransition'; + if (bodyStyle.msTransform === undefined) _.animType = false; + } + if (bodyStyle.transform !== undefined && _.animType !== false) { + _.animType = 'transform'; + _.transformType = 'transform'; + _.transitionType = 'transition'; + } + _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); + }; + + + Slick.prototype.setSlideClasses = function(index) { + + var _ = this, + centerOffset, allSlides, indexOffset, remainder; + + allSlides = _.$slider + .find('.slick-slide') + .removeClass('slick-active slick-center slick-current') + .attr('aria-hidden', 'true'); + + _.$slides + .eq(index) + .addClass('slick-current'); + + if (_.options.centerMode === true) { + + centerOffset = Math.floor(_.options.slidesToShow / 2); + + if (_.options.infinite === true) { + + if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { + + _.$slides + .slice(index - centerOffset, index + centerOffset + 1) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else { + + indexOffset = _.options.slidesToShow + index; + allSlides + .slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } + + if (index === 0) { + + allSlides + .eq(allSlides.length - 1 - _.options.slidesToShow) + .addClass('slick-center'); + + } else if (index === _.slideCount - 1) { + + allSlides + .eq(_.options.slidesToShow) + .addClass('slick-center'); + + } + + } + + _.$slides + .eq(index) + .addClass('slick-center'); + + } else { + + if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { + + _.$slides + .slice(index, index + _.options.slidesToShow) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else if (allSlides.length <= _.options.slidesToShow) { + + allSlides + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else { + + remainder = _.slideCount % _.options.slidesToShow; + indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; + + if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { + + allSlides + .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else { + + allSlides + .slice(indexOffset, indexOffset + _.options.slidesToShow) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } + + } + + } + + if (_.options.lazyLoad === 'ondemand') { + _.lazyLoad(); + } + + }; + + Slick.prototype.setupInfinite = function() { + + var _ = this, + i, slideIndex, infiniteCount; + + if (_.options.fade === true) { + _.options.centerMode = false; + } + + if (_.options.infinite === true && _.options.fade === false) { + + slideIndex = null; + + if (_.slideCount > _.options.slidesToShow) { + + if (_.options.centerMode === true) { + infiniteCount = _.options.slidesToShow + 1; + } else { + infiniteCount = _.options.slidesToShow; + } + + for (i = _.slideCount; i > (_.slideCount - + infiniteCount); i -= 1) { + slideIndex = i - 1; + $(_.$slides[slideIndex]).clone(true).attr('id', '') + .attr('data-slick-index', slideIndex - _.slideCount) + .prependTo(_.$slideTrack).addClass('slick-cloned'); + } + for (i = 0; i < infiniteCount; i += 1) { + slideIndex = i; + $(_.$slides[slideIndex]).clone(true).attr('id', '') + .attr('data-slick-index', slideIndex + _.slideCount) + .appendTo(_.$slideTrack).addClass('slick-cloned'); + } + _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { + $(this).attr('id', ''); + }); + + } + + } + + }; + + Slick.prototype.setPaused = function(paused) { + + var _ = this; + + if (_.options.autoplay === true && _.options.pauseOnHover === true) { + _.paused = paused; + if (!paused) { + _.autoPlay(); + } else { + _.autoPlayClear(); + } + } + }; + + Slick.prototype.selectHandler = function(event) { + + var _ = this; + + var targetElement = + $(event.target).is('.slick-slide') ? + $(event.target) : + $(event.target).parents('.slick-slide'); + + var index = parseInt(targetElement.attr('data-slick-index')); + + if (!index) index = 0; + + if (_.slideCount <= _.options.slidesToShow) { + + _.setSlideClasses(index); + _.asNavFor(index); + return; + + } + + _.slideHandler(index); + + }; + + Slick.prototype.slideHandler = function(index, sync, dontAnimate) { + + var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, + _ = this; + + sync = sync || false; + + if (_.animating === true && _.options.waitForAnimate === true) { + return; + } + + if (_.options.fade === true && _.currentSlide === index) { + return; + } + + if (_.slideCount <= _.options.slidesToShow) { + return; + } + + if (sync === false) { + _.asNavFor(index); + } + + targetSlide = index; + targetLeft = _.getLeft(targetSlide); + slideLeft = _.getLeft(_.currentSlide); + + _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; + + if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { + if (_.options.fade === false) { + targetSlide = _.currentSlide; + if (dontAnimate !== true) { + _.animateSlide(slideLeft, function() { + _.postSlide(targetSlide); + }); + } else { + _.postSlide(targetSlide); + } + } + return; + } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { + if (_.options.fade === false) { + targetSlide = _.currentSlide; + if (dontAnimate !== true) { + _.animateSlide(slideLeft, function() { + _.postSlide(targetSlide); + }); + } else { + _.postSlide(targetSlide); + } + } + return; + } + + if (_.options.autoplay === true) { + clearInterval(_.autoPlayTimer); + } + + if (targetSlide < 0) { + if (_.slideCount % _.options.slidesToScroll !== 0) { + animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); + } else { + animSlide = _.slideCount + targetSlide; + } + } else if (targetSlide >= _.slideCount) { + if (_.slideCount % _.options.slidesToScroll !== 0) { + animSlide = 0; + } else { + animSlide = targetSlide - _.slideCount; + } + } else { + animSlide = targetSlide; + } + + _.animating = true; + + _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); + + oldSlide = _.currentSlide; + _.currentSlide = animSlide; + + _.setSlideClasses(_.currentSlide); + + _.updateDots(); + _.updateArrows(); + + if (_.options.fade === true) { + if (dontAnimate !== true) { + + _.fadeSlideOut(oldSlide); + + _.fadeSlide(animSlide, function() { + _.postSlide(animSlide); + }); + + } else { + _.postSlide(animSlide); + } + _.animateHeight(); + return; + } + + if (dontAnimate !== true) { + _.animateSlide(targetLeft, function() { + _.postSlide(animSlide); + }); + } else { + _.postSlide(animSlide); + } + + }; + + Slick.prototype.startLoad = function() { + + var _ = this; + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + + _.$prevArrow.hide(); + _.$nextArrow.hide(); + + } + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + + _.$dots.hide(); + + } + + _.$slider.addClass('slick-loading'); + + }; + + Slick.prototype.swipeDirection = function() { + + var xDist, yDist, r, swipeAngle, _ = this; + + xDist = _.touchObject.startX - _.touchObject.curX; + yDist = _.touchObject.startY - _.touchObject.curY; + r = Math.atan2(yDist, xDist); + + swipeAngle = Math.round(r * 180 / Math.PI); + if (swipeAngle < 0) { + swipeAngle = 360 - Math.abs(swipeAngle); + } + + if ((swipeAngle <= 45) && (swipeAngle >= 0)) { + return (_.options.rtl === false ? 'left' : 'right'); + } + if ((swipeAngle <= 360) && (swipeAngle >= 315)) { + return (_.options.rtl === false ? 'left' : 'right'); + } + if ((swipeAngle >= 135) && (swipeAngle <= 225)) { + return (_.options.rtl === false ? 'right' : 'left'); + } + if (_.options.verticalSwiping === true) { + if ((swipeAngle >= 35) && (swipeAngle <= 135)) { + return 'left'; + } else { + return 'right'; + } + } + + return 'vertical'; + + }; + + Slick.prototype.swipeEnd = function(event) { + + var _ = this, + slideCount; + + _.dragging = false; + + _.shouldClick = (_.touchObject.swipeLength > 10) ? false : true; + + if (_.touchObject.curX === undefined) { + return false; + } + + if (_.touchObject.edgeHit === true) { + _.$slider.trigger('edge', [_, _.swipeDirection()]); + } + + if (_.touchObject.swipeLength >= _.touchObject.minSwipe) { + + switch (_.swipeDirection()) { + case 'left': + slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide + _.getSlideCount()) : _.currentSlide + _.getSlideCount(); + _.slideHandler(slideCount); + _.currentDirection = 0; + _.touchObject = {}; + _.$slider.trigger('swipe', [_, 'left']); + break; + + case 'right': + slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide - _.getSlideCount()) : _.currentSlide - _.getSlideCount(); + _.slideHandler(slideCount); + _.currentDirection = 1; + _.touchObject = {}; + _.$slider.trigger('swipe', [_, 'right']); + break; + } + } else { + if (_.touchObject.startX !== _.touchObject.curX) { + _.slideHandler(_.currentSlide); + _.touchObject = {}; + } + } + + }; + + Slick.prototype.swipeHandler = function(event) { + + var _ = this; + + if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { + return; + } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { + return; + } + + _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? + event.originalEvent.touches.length : 1; + + _.touchObject.minSwipe = _.listWidth / _.options + .touchThreshold; + + if (_.options.verticalSwiping === true) { + _.touchObject.minSwipe = _.listHeight / _.options + .touchThreshold; + } + + switch (event.data.action) { + + case 'start': + _.swipeStart(event); + break; + + case 'move': + _.swipeMove(event); + break; + + case 'end': + _.swipeEnd(event); + break; + + } + + }; + + Slick.prototype.swipeMove = function(event) { + + var _ = this, + edgeWasHit = false, + curLeft, swipeDirection, swipeLength, positionOffset, touches; + + touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; + + if (!_.dragging || touches && touches.length !== 1) { + return false; + } + + curLeft = _.getLeft(_.currentSlide); + + _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; + _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; + + _.touchObject.swipeLength = Math.round(Math.sqrt( + Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); + + if (_.options.verticalSwiping === true) { + _.touchObject.swipeLength = Math.round(Math.sqrt( + Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); + } + + swipeDirection = _.swipeDirection(); + + if (swipeDirection === 'vertical') { + return; + } + + if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { + event.preventDefault(); + } + + positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); + if (_.options.verticalSwiping === true) { + positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; + } + + + swipeLength = _.touchObject.swipeLength; + + _.touchObject.edgeHit = false; + + if (_.options.infinite === false) { + if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { + swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; + _.touchObject.edgeHit = true; + } + } + + if (_.options.vertical === false) { + _.swipeLeft = curLeft + swipeLength * positionOffset; + } else { + _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; + } + if (_.options.verticalSwiping === true) { + _.swipeLeft = curLeft + swipeLength * positionOffset; + } + + if (_.options.fade === true || _.options.touchMove === false) { + return false; + } + + if (_.animating === true) { + _.swipeLeft = null; + return false; + } + + _.setCSS(_.swipeLeft); + + }; + + Slick.prototype.swipeStart = function(event) { + + var _ = this, + touches; + + if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { + _.touchObject = {}; + return false; + } + + if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { + touches = event.originalEvent.touches[0]; + } + + _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; + _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; + + _.dragging = true; + + }; + + Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { + + var _ = this; + + if (_.$slidesCache !== null) { + + _.unload(); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slidesCache.appendTo(_.$slideTrack); + + _.reinit(); + + } + + }; + + Slick.prototype.unload = function() { + + var _ = this; + + $('.slick-cloned', _.$slider).remove(); + + if (_.$dots) { + _.$dots.remove(); + } + + if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { + _.$prevArrow.remove(); + } + + if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { + _.$nextArrow.remove(); + } + + _.$slides + .removeClass('slick-slide slick-active slick-visible slick-current') + .attr('aria-hidden', 'true') + .css('width', ''); + + }; + + Slick.prototype.unslick = function(fromBreakpoint) { + + var _ = this; + _.$slider.trigger('unslick', [_, fromBreakpoint]); + _.destroy(); + + }; + + Slick.prototype.updateArrows = function() { + + var _ = this, + centerOffset; + + centerOffset = Math.floor(_.options.slidesToShow / 2); + + if ( _.options.arrows === true && + _.slideCount > _.options.slidesToShow && + !_.options.infinite ) { + + _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + if (_.currentSlide === 0) { + + _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); + _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { + + _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); + _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { + + _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); + _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + } + + } + + }; + + Slick.prototype.updateDots = function() { + + var _ = this; + + if (_.$dots !== null) { + + _.$dots + .find('.dot') + .removeClass('slick-active') + .attr('aria-hidden', 'true'); + + _.$dots + .find('.dot') + .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } + + }; + + Slick.prototype.visibility = function() { + + var _ = this; + + if (document[_.hidden]) { + _.paused = true; + _.autoPlayClear(); + } else { + if (_.options.autoplay === true) { + _.paused = false; + _.autoPlay(); + } + } + + }; + Slick.prototype.initADA = function() { + var _ = this; + _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ + 'aria-hidden': 'true', + 'tabindex': '-1' + }).find('a, input, button, select').attr({ + 'tabindex': '-1' + }); + + _.$slideTrack.attr('role', 'listbox'); + + _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { + $(this).attr({ + 'role': 'option', + 'aria-describedby': 'slick-slide' + _.instanceUid + i + '' + }); + }); + + if (_.$dots !== null) { + _.$dots.attr('role', 'tablist').find('.dot').each(function(i) { + $(this).attr({ + 'role': 'presentation', + 'aria-selected': 'false', + 'aria-controls': 'navigation' + _.instanceUid + i + '', + 'id': 'slick-slide' + _.instanceUid + i + '' + }); + }) + .first().attr('aria-selected', 'true').end() + .find('button').attr('role', 'button').end() + .closest('div').attr('role', 'toolbar'); + } + _.activateADA(); + + }; + + Slick.prototype.activateADA = function() { + var _ = this; + + _.$slideTrack.find('.slick-active').attr({ + 'aria-hidden': 'false' + }).find('a, input, button, select').attr({ + 'tabindex': '0' + }); + + }; + + Slick.prototype.focusHandler = function() { + var _ = this; + _.$slider.on('focus.slick blur.slick', '*', function(event) { + event.stopImmediatePropagation(); + var sf = $(this); + setTimeout(function() { + if (_.isPlay) { + if (sf.is(':focus')) { + _.autoPlayClear(); + _.paused = true; + } else { + _.paused = false; + _.autoPlay(); + } + } + }, 0); + }); + }; + + $.fn.slick = function() { + var _ = this, + opt = arguments[0], + args = Array.prototype.slice.call(arguments, 1), + l = _.length, + i, + ret; + for (i = 0; i < l; i++) { + if (typeof opt == 'object' || typeof opt == 'undefined') + _[i].slick = new Slick(_[i], opt); + else + ret = _[i].slick[opt].apply(_[i].slick, args); + if (typeof ret != 'undefined') return ret; + } + return _; + }; + +})); diff --git a/support/dev/settings.py b/support/dev/settings.py index d2a8b78f..4cdf7ff3 100644 --- a/support/dev/settings.py +++ b/support/dev/settings.py @@ -392,6 +392,7 @@ CRONJOBS = [ ('40 6 * * * ', 'django.core.management.call_command', ['newsletter_contacts_remove_notactivated']), ('41 5 * * *', 'django.core.management.call_command', ['newsletter_create_announce']), + ('12 4 * * *', 'django.core.management.call_command', ['stats_daily']), ] PYMORPHY_DICTS = { diff --git a/support/prod/settings.py b/support/prod/settings.py index 2d9e18d4..30fedcb2 100644 --- a/support/prod/settings.py +++ b/support/prod/settings.py @@ -392,6 +392,7 @@ CRONJOBS = [ ('40 6 * * * ', 'django.core.management.call_command', ['newsletter_contacts_remove_notactivated']), ('41 5 * * *', 'django.core.management.call_command', ['newsletter_create_announce']), + ('12 4 * * *', 'django.core.management.call_command', ['stats_daily']), ] PYMORPHY_DICTS = { diff --git a/templates/admin/expobanner/comment_list.html b/templates/admin/expobanner/comment_list.html index d8b7e323..d13c5ded 100644 --- a/templates/admin/expobanner/comment_list.html +++ b/templates/admin/expobanner/comment_list.html @@ -1,18 +1,19 @@ {% extends 'base.html' %} +{% load i18n %} {% block body %}
    -

    Список комментариев

    +

    {% trans "Список комментариев" %}

    {% block list_table %} - Добавить комментарий + {% trans "Добавить комментарий" %} - - + + @@ -22,8 +23,8 @@ - - + + {% endfor %} diff --git a/templates/admin/expobanner/pcomment_list.html b/templates/admin/expobanner/pcomment_list.html new file mode 100644 index 00000000..a59cbc93 --- /dev/null +++ b/templates/admin/expobanner/pcomment_list.html @@ -0,0 +1,37 @@ +{% extends 'base.html' %} +{% load i18n %} + +{% block body %} +
    +
    +

    {% trans "Список комментариев" %}

    +
    +
    ИмяДолжность{% trans "Имя" %}{% trans "Должность" %}    
    {{ item }} {{ item.position }}ИзменитьУдалить{% trans "Изменить" %}{% trans "Удалить" %}
    + + + + + + + + + + {% for item in object_list %} + + + + + + + {% endfor %} + +
    {% trans "Имя" %}{% trans "Должность" %}  
    {{ item }}{{ item.position }}{% trans "Изменить" %}{% trans "Удалить" %}
    + {% endblock %} +
    + {# pagination #} + {% include 'admin/includes/admin_pagination.html' with page_obj=page_obj %} +
    +{% endblock %} diff --git a/templates/admin/includes/admin_nav.html b/templates/admin/includes/admin_nav.html index 4ccc7dae..93fa7992 100644 --- a/templates/admin/includes/admin_nav.html +++ b/templates/admin/includes/admin_nav.html @@ -115,6 +115,7 @@
  • Конференции на главной
  • Блок на главной
  • Комментарии на /advertising/
  • +
  • Комментарии на /service/participation/
  • diff --git a/templates/client/simple_pages/participation_landing.html b/templates/client/simple_pages/participation_landing.html new file mode 100644 index 00000000..75b251aa --- /dev/null +++ b/templates/client/simple_pages/participation_landing.html @@ -0,0 +1,364 @@ +{% load static %} +{% load i18n %} +{% load template_filters %} +{% load template_filters %} +{% load thumbnail %} +{% get_current_language as LANGUAGE_CODE %} + + + + + {% include 'client/includes/meta.html' %} + + + + + + + + + + + + + +
    +
    +
    + + +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    + +

    + {% trans "Участие в выставке" %} –{% trans "амбициозный" %}  {% trans "проект!" %} +

    + +
    +
    + +
    +
    +

    {% trans "7 ocновных" %} {% trans "факторов" %},

    +
    {% trans "влияющих на успех или неудачу любого выставочного проекта" %}
    + +
      +
    • + + {% trans "Цели и причины участия" %} +
    • + +
    • + + {% trans "Выбранная выставка" %} +
    • + +
    • + + {% trans "Концепция и креатив" %} +
    • + +
    • + + {% trans "Своевременная реализация рутины" %} +
    • + +
    • + + {% trans "Маркетинг и активность участника" %} +
    • + +
    • + + {% trans "Поведение на стенде" %} +
    • + +
    • + + {% trans "Работа с полученными контактами" %} +
    • +
    + +

    {% trans "Только индивидуальный и системный подход приносит результат!" %}

    +
    +
    + +
    +
    +

    {% trans "Что" %} {% trans "делать?" %}

    + +
    +
    +

    {% trans "Решение 1." %}

    +

    {% trans "Воспитать выставочного специалиста" %} {% trans "в своей компании." %}

    +

    {% trans "Необходимо выделить хотя бы 1 человека, который в течение минимум 2-3 месяцев будет заниматься подготовкой к выставке." %}

    +
    + +
    +

    {% trans "Решение 2." %}

    +

    {% trans "Доверить реализацию проекта профессионалам." %}

    +

    + Expomap – {% trans "команда выставочных маркетологов" %} + {% trans "Мы сформировали штат консультантов, который с огромным удовольствием делится своим опытом с Вами. Клиент, его настроение и потребности находятся в центре внимания работы наших консультантов, мы отслеживаем уровень счастья наших клиентов и всегда готовы совершенствовать свой сервис!" %} +

    + + + + {% trans "Евгения" %}
    {% trans "Булавина" %} {% trans "ведущий консультант" %}
    +
    + + + {% trans "Евгения Мануковская" %} {% trans "руководитель, сооснователь" %} + +
    +
    +
    +
    + +
    +
    +

    {% trans "почему" %} {% trans "мы?" %}

    + +
      +
    • + + {% trans "Мы ориентируемся в выставках" %} + {% trans "Expomap - самый посещаемый интернет-ресурс о выставках по рейтингу Mail.ru" %} +
    • +
    • + + {% trans "Мы рубим в маркетинге!" %} + {% trans "Проведено несколько десятков рекламных проектов с крупнейшими организаторами выставок" %} +
    • +
    • + + {% trans "Мы говорим на разных языках" %} + {% trans "Позвонить иностранному организатору? Проще простого! Кроме этого, мы сотрудничаем с более чем 1000 переводчиками по всему миру" %} +
    • +
    + {% trans "Запросить презентацию услуги" %} +
    +
    + +
    +
    +

    {% trans "Этапы создания успешного" %} {% trans "выставочного проекта" %}

    + +
      +
    • + 01 + {% trans "Подбор и анализ события, целей и задач участия" %} + {% trans "на этом этапе мы точно поймем, «стоит ли игра свеч» и нужно ли начинать проект" %} +
    • +
    • + 02 + {% trans "Разработка концепции участника" %} + {% trans "от расчета площади и выбора расположения и оформления стенда до точечных коммуникаций" %} +
    • +
    • + 03 + {% trans "Реализация организационной рутины" %} + {% trans "от подачи заявки на участие до вывоза экспонатов" %} +
    • +
    • + 04 + {% trans "Продвижение участника" %} + {% trans "не надо полностью полагаться только на организаторов выставки с их маркетинговой компанией. Чем больше правильных коммуникаций, тем выше шансы на успех!" %} +
    • +
    • + 05 + {% trans "Подготовка стендистов и рабочей группы для работы на выставке" %} + {% trans "любой самый крутой концепт может быть испорчен работой стендистов. Кто, что и как должен делать на стенде – мы позаботимся об этом" %} +
    • +
    • + 06 + {% trans "Создание системы учета целевых контактов" %} + {% trans "как правильно вести учет посетителей стенда? Как и когда связываться с ними после выставки?" %} +
    • +
    + +
    + {% trans "отправить запрос" %} + {% trans "И это далеко не все, что мы делаем. Полную презентацию о наших возможностях мы готовы предоставить Вам по запросу!" %} +
    +
    +
    + +
    +
    +
    +

    {% trans "Отзывы" %} {% trans "клиентов" %}

    + +
    + + {% for comment in comments %} +
    + {% thumbnail comment.logo "120x120" format="PNG" upscale=False as im %} + + {% endthumbnail %} +
    +
    {{ comment.name }}
    + {{ comment.name }} +

    {{ comment.position }}

    +
    +
    + {% empty %} +
    + +
    +
    Иванов Петр Романович2
    + руководитель отдела продаж +

    Заказывать у этой компании легко и быстро как по телефону так и по электронке, работаю с ними уже давно и меня никогда не подводили, высылают

    +
    +
    +
    + +
    +
    Иванов Петр Романович3
    + руководитель отдела продаж +

    Заказывать у этой компании легко и быстро как по телефону так и по электронке, работаю с ними уже давно и меня никогда не подводили, высылают перевозчиками в тот же день,это хорошо.Цены приемлемые! Молодцы, рекомендую сотрудничество с этой фирмой!!! Работаю с ними уже давно и меня никогда не подводили, высылают перевозчиками в тот же день,это хорошо.Цены приемлемые! Молодцы, рекомендую сотрудничество с этой фирмой!!!

    +
    +
    +
    + +
    +
    Иванов Петр Романович4
    + руководитель отдела продаж +

    Заказывать у этой компании легко и быстро как по телефону так и по электронке, работаю с ними уже давно и меня никогда не подводили, высылают перевозчиками в тот же день,это хорошо.Цены приемлемые! Молодцы, рекомендую сотрудничество с этой фирмой!!! Работаю с ними уже давно и меня никогда не подводили, высылают перевозчиками в тот же день,это хорошо.Цены приемлемые! Молодцы, рекомендую сотрудничество с этой фирмой!!!

    +
    +
    +
    + +
    +
    Иванов Петр Романович5
    + руководитель отдела продаж +

    Заказывать у этой компании легко и быстро как по телефону так и по электронке, работаю с ними уже давно и меня никогда не подводили, высылают перевозчиками в тот же день,это хорошо.Цены приемлемые! Молодцы, рекомендую сотрудничество с этой фирмой!!! Работаю с ними уже давно и меня никогда не подводили, высылают перевозчиками в тот же день,это хорошо.Цены приемлемые! Молодцы, рекомендую сотрудничество с этой фирмой!!!

    +
    +
    + {% endfor %} + +
    +
    + +
    +

    {% trans "Хотите воспитать своего" %} {% trans "выставочного специалиста?" %}

    +

    {% trans "Пройдите наши курсы по эффективному участию в онлайн-университете Нетологии!" %}

    + + +
    {% trans "Создание концепции участия в выставке" %}
    +
    + + + + + +
    +
    {% trans "начать" %}
    +
    + + +
    {% trans "Реализация концепции участия в выставках" %}
    +
    + + + + + +
    +
    {% trans "начать" %}
    +
    +
    +
    +
    + +
    +
    +

    {% trans "БИБЛИОТЕКА СТАТЕЙ" %} {% trans "по эффективному участию" %}

    + + {% trans "Все статьи" %} +
    +
    + +
    +
    +

    {% trans "ПОДПИШИТЕСЬ" %} {% trans "на ПОЛЕЗНЫЕ СТАТЬИ" %}

    +
    {% trans "Подпишитесь, чтобы получать полезные статьи, видео и презентации" %},
    {% trans "а также афишу важных событий, скидки и подарки." %}
    + +

    {% trans "Нас читают уже" %} {{ specialist_count }} {% trans "специалиста!" %}

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