From fe21f9c6af18e67a22e34f790a99d687003177fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Delobelle?= Date: Tue, 2 Jan 2018 17:06:12 +0100 Subject: [PATCH] =?UTF-8?q?Eww,=20hard=20to=20sum=20up=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update django-allauth-cas to the last version. - Add docs (README, example/README). - Add tests for Clipper provider. - Add tests to check templates do not contain syntax error. - Add the last missing templates to override all allauth's displayable templates. - Improve stylesheets. --- CHANGELOG.rst | 5 + Gemfile | 1 - Gemfile.lock | 13 +- README.rst | 259 +- allauth_ens/__init__.py | 2 +- allauth_ens/apps.py | 2 +- allauth_ens/providers/clipper/provider.py | 25 +- allauth_ens/providers/clipper/tests.py | 23 +- allauth_ens/scss/_base.scss | 322 +- allauth_ens/scss/_mixins.scss | 41 +- allauth_ens/scss/_reset.scss | 1 + allauth_ens/scss/_variables.scss | 6 +- allauth_ens/scss/screen.scss | 10 - allauth_ens/static/allauth_ens/authens.js | 29 +- allauth_ens/static/allauth_ens/screen.css | 4299 ++--------------- .../templates/account/account_inactive.html | 18 + allauth_ens/templates/account/block-form.html | 29 - allauth_ens/templates/account/email.html | 4 +- .../templates/account/email_confirm.html | 2 +- allauth_ens/templates/account/login.html | 66 +- allauth_ens/templates/account/logout.html | 2 +- .../templates/account/password_change.html | 6 +- .../templates/account/password_reset.html | 4 +- .../account/password_reset_done.html | 2 +- .../account/password_reset_from_key.html | 28 + .../account/password_reset_from_key_done.html | 2 +- .../templates/account/password_set.html | 7 +- allauth_ens/templates/account/signup.html | 4 +- .../templates/account/signup_closed.html | 2 +- .../{account => allauth_ens}/base.html | 18 +- .../templates/allauth_ens/block-form.html | 33 + .../block-messages-base.html | 0 .../block-messages-form-errors.html | 2 +- .../block-messages.html | 2 +- .../socialaccount/authentication_error.html | 17 + .../templates/socialaccount/connections.html | 53 +- .../socialaccount/login_cancelled.html | 19 + .../templates/socialaccount/signup.html | 26 + allauth_ens/templatetags/allauth_ens.py | 7 + .../templatetags/allauth_ens_social.py | 1 - allauth_ens/tests.py | 137 + allauth_ens/views.py | 9 +- config.rb | 2 - example/README.rst | 54 + example/adapter.py | 11 + example/app/admin.py | 27 - example/app/apps.py | 36 +- .../app/fixtures/{users.json => data.json} | 24 +- example/app/migrations/0001_initial.py | 46 - example/app/migrations/__init__.py | 0 example/app/models.py | 11 - example/fixtures/users.json | 38 - example/settings.py | 52 +- example/urls.py | 8 +- setup.py | 2 +- tests/adapter.py | 6 + tests/settings.py | 9 +- tox.ini | 6 +- 58 files changed, 1304 insertions(+), 4566 deletions(-) create mode 100644 CHANGELOG.rst create mode 100644 allauth_ens/templates/account/account_inactive.html delete mode 100644 allauth_ens/templates/account/block-form.html create mode 100644 allauth_ens/templates/account/password_reset_from_key.html rename allauth_ens/templates/{account => allauth_ens}/base.html (77%) create mode 100644 allauth_ens/templates/allauth_ens/block-form.html rename allauth_ens/templates/{account => allauth_ens}/block-messages-base.html (100%) rename allauth_ens/templates/{account => allauth_ens}/block-messages-form-errors.html (84%) rename allauth_ens/templates/{account => allauth_ens}/block-messages.html (82%) create mode 100644 allauth_ens/templates/socialaccount/authentication_error.html create mode 100644 allauth_ens/templates/socialaccount/login_cancelled.html create mode 100644 allauth_ens/templates/socialaccount/signup.html create mode 100644 allauth_ens/tests.py create mode 100644 example/README.rst create mode 100644 example/adapter.py delete mode 100644 example/app/admin.py rename example/app/fixtures/{users.json => data.json} (60%) delete mode 100644 example/app/migrations/0001_initial.py delete mode 100644 example/app/migrations/__init__.py delete mode 100644 example/fixtures/users.json create mode 100644 tests/adapter.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 0000000..de9840f --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,5 @@ +****************** +1.0.0 (unreleased) +****************** + +- First official release. diff --git a/Gemfile b/Gemfile index aa112d1..88226d6 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,3 @@ source "https://rubygems.org" gem 'compass' -gem 'font-awesome-sass', :git => "https://github.com/TruePath/font-awesome-sass.git", :branch => "patch-1" diff --git a/Gemfile.lock b/Gemfile.lock index ab6b64b..2ddf9b3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,3 @@ -GIT - remote: https://github.com/TruePath/font-awesome-sass.git - revision: b3974fe0632d09a7744c4a3b42f4ccf8dc9f919e - branch: patch-1 - specs: - font-awesome-sass (4.7.0) - sass (>= 3.2) - GEM remote: https://rubygems.org/ specs: @@ -23,7 +15,7 @@ GEM compass-import-once (1.0.5) sass (>= 3.2, < 3.5) ffi (1.9.18) - multi_json (1.12.1) + multi_json (1.12.2) rb-fsevent (0.10.2) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) @@ -34,7 +26,6 @@ PLATFORMS DEPENDENCIES compass - font-awesome-sass! BUNDLED WITH - 1.15.3 + 1.16.1 diff --git a/README.rst b/README.rst index 755d0c6..754fdf4 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,259 @@ -================== +################## django-allauth-ens -================== +################## -Providers for django-allauth_ allowing using the ENS' auth-systems. +This package is meant to ease the management of authentication of django-apps +at the ENS. + +On top of django-allauth_, which provides easy ways to configure the +authentication of django-apps, this package provides: + +* social authentication using Clipper (*cas.eleves*); + +* ready-to-use templates in replacement of allauth' ones; + +* helpers to use *allauth*'s login and logout views instead of those + provided by third-parties (Django admin, wagtail, *etc*). -.. _django-allauth: https://www.intenct.nl/projects/django-allauth/ +**Contents** + +.. contents:: :local: + + +************ +Installation +************ + +First, `install django-allauth`_. + +Then, install *django-allauth-ens*: + +.. code-block:: bash + + $ pip install django-allauth-ens + +And edit your settings file: + +.. code-block:: python + + INSTALLED_APPS = [ + # … + + # Above allauth to replace its templates. + 'allauth_ens', + + # Added when you installed allauth. + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + + # Required to use CAS-based providers (e.g. Clipper). + 'allauth_cas', + + # … + ] + + +************* +Configuration +************* + +See also the `allauth configuration`_ and `advanced usage`_ docs pages. + +``ACCOUNT_HOME_URL`` + *Optional* — A view name or an url path. + + Used as a link from the templates of ``allauth_ens`` to return to your + application. + + **Examples:** ``'home'``, ``'/home/'`` + +``ACCOUNT_DETAILS_URL`` + *Optional* — A view name or an url path. + + Used as a link from the templates of ``allauth_ens`` for a logged in user to + access their profile in your app. + + **Examples:** ``'my-account'``, ``'/my-account/'`` + +***** +Views +***** + +Capture other login and logout views +==================================== + +You can use the ``capture_login`` and ``capture_logout`` views to replace the +login and logout views of other applications. They redirect to their similar +*allauth*'s view and forward the query string, so that if a GET parameter +``next`` is given along the initial request, user is redirected to this url on +successful login and logout. + +This requires to add urls before the include of the app' urls. + +For example, to replace the Django admin login and logout views with allauth's +ones: + +.. code-block:: python + + from allauth_ens.views import capture_login, capture_logout + + urlpatterns = [ + # … + + # Add it before include of admin urls. + url(r'^admin/login/$', capture_login), + url(r'^admin/logout/$', capture_logout), + + url(r'^admin/$', include(admin.site.urls)), + + # … + ] + + +********* +Templates +********* + +The templates provided by *allauth* only contains the bare minimum. Hopefully, +this package includes ready-to-use templates. They are automatically used if +you put ``'allauth_ens'`` before ``'allauth'`` in your ``INSTALLED_APPS``, + + +********* +Providers +********* + +*Google, Facebook¸ but also Clipper…* + +To interact with an external authentication service, you must add the +corresponding provider application to your ``INSTALLED_APPS``. + +*allauth* already includes `several providers`_ (see also `their python path`_). +In addition to that, this package adds the following providers: + +Clipper +======= + +It uses the CAS server ``_. + +Installation + Add ``'allauth_ens.providers.clipper'`` to the ``INSTALLED_APPS``. + +Configuration + Available settings and their default value: + + .. code-block:: python + + SOCIALACCOUNT_PROVIDERS = { + # … + + 'clipper': { + + # These settings control whether a message containing a link to + # disconnect from the CAS server is added when users log out. + 'MESSAGE_SUGGEST_LOGOUT_ON_LOGOUT': True, + 'MESSAGE_SUGGEST_LOGOUT_ON_LOGOUT_LEVEL': messages.INFO, + + }, + } + +Auto-signup + Poulated data + - username: ```` + - email (primary and verified): ``@clipper.ens.fr`` + + +********* +Demo Site +********* + +See ``example/README``. + + +*********** +Development +*********** + +First, you need to clone the repository. + +Stylesheets +=========== + +This project uses `compass`_ to compile SCSS files to CSS. + +Using bundler +------------- + +Requirements + * Ensure Ruby is installed (``$ ruby -v``) or `install Ruby`_ + * Ensure bundler is installed (``$ bundle -v``) or install bundler + (``$ gem install bundler``) + * Install dependencies: ``$ bundle install`` + +Compile + * Watch changes and recompile: ``$ bundle exec compass watch`` + +Tests +===== + +Local environment +----------------- + +``$ ./runtests.py`` + +All +--- + +Requirements + * tox, install with ``$ pip install tox`` + * ``python{2.7,3.4,3.5,3.6}`` must be available on your system path + +Run + * all (django/python with combined coverage + flake8 + isort): ``$ tox`` + + +****** +Howtos +****** + +Assuming you use the following settings (when needed): + +.. code-block:: python + + ACCOUNT_ADAPTER = 'shared.allauth_adapter.AccountAdapter' + SOCIALACCOUNT_ADAPTER = 'shared.allauth_adapter.SocialAccountAdapter' + +Signup disabled, except for clipper provider (auto-signup) +========================================================== + +In ``shared/allauth_adapter.py``: + +.. code-block:: python + + class AccountAdapter(DefaultAccountAdapter): + def is_open_for_signup(self, request): + return False + + class SocialAccountAdapter(DefaultSocialAccountAdapter): + def is_open_for_signup(self, request, sociallogin): + # sociallogin.account is a SocialAccount instance. + # See https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/models.py + + if sociallogin.account.provider == 'clipper': + return True + + # It returns AccountAdapter.is_open_for_signup(). + # See https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/adapter.py + return super().is_open_for_signup(request, sociallogin) + + +.. _django-allauth: https://django-allauth.readthedocs.io/en/latest/overview.html +.. _install django-allauth: https://django-allauth.readthedocs.io/en/latest/installation.html +.. _several providers: https://django-allauth.readthedocs.io/en/latest/providers.html +.. _allauth configuration: https://django-allauth.readthedocs.io/en/latest/configuration.html +.. _advanced usage: https://django-allauth.readthedocs.io/en/latest/advanced.html +.. _their python path: https://django-allauth.readthedocs.io/en/latest/installation.html +.. _compass: https://compass-style.org/ +.. _install Ruby: https://www.ruby-lang.org/en/documentation/installation/ diff --git a/allauth_ens/__init__.py b/allauth_ens/__init__.py index ea98bb8..20f55c8 100644 --- a/allauth_ens/__init__.py +++ b/allauth_ens/__init__.py @@ -1,3 +1,3 @@ __version__ = '0.0.1.dev1' -default_app_config = 'allauth_ens.apps.ENSAllauthAppConfig' +default_app_config = 'allauth_ens.apps.ENSAllauthConfig' diff --git a/allauth_ens/apps.py b/allauth_ens/apps.py index 1da62f7..987188b 100644 --- a/allauth_ens/apps.py +++ b/allauth_ens/apps.py @@ -2,6 +2,6 @@ from django.apps import AppConfig from django.utils.translation import ugettext_lazy as _ -class ENSAllauthAppConfig(AppConfig): +class ENSAllauthConfig(AppConfig): name = 'allauth_ens' verbose_name = _("ENS Authentication") diff --git a/allauth_ens/providers/clipper/provider.py b/allauth_ens/providers/clipper/provider.py index 8898dcc..85b83d9 100644 --- a/allauth_ens/providers/clipper/provider.py +++ b/allauth_ens/providers/clipper/provider.py @@ -15,8 +15,8 @@ class ClipperProvider(CASProvider): account_class = ClipperAccount def extract_email(self, data): - username, _, _ = data - return '{}@clipper.ens.fr'.format(username) + uid, extra = data + return '{}@clipper.ens.fr'.format(uid.strip().lower()) def extract_common_fields(self, data): common = super(ClipperProvider, self).extract_common_fields(data) @@ -24,20 +24,23 @@ class ClipperProvider(CASProvider): return common def extract_email_addresses(self, data): - email = self.extract_email(data) return [ EmailAddress( - email=email, - verified=True, - primary=True, - ) + email=self.extract_email(data), + verified=True, primary=True, + ), ] def extract_extra_data(self, data): - extra = super(ClipperProvider, self).extract_extra_data(data) - extra['username'] = data[0] - extra['email'] = self.extract_email(data) - return extra + extra_data = super(ClipperProvider, self).extract_extra_data(data) + extra_data['email'] = self.extract_email(data) + return extra_data + + def message_suggest_caslogout_on_logout(self, request): + return ( + self.get_settings() + .get('MESSAGE_SUGGEST_CASLOGOUT_ON_LOGOUT', True) + ) provider_classes = [ClipperProvider] diff --git a/allauth_ens/providers/clipper/tests.py b/allauth_ens/providers/clipper/tests.py index e05f8eb..657982c 100644 --- a/allauth_ens/providers/clipper/tests.py +++ b/allauth_ens/providers/clipper/tests.py @@ -1,4 +1,21 @@ -from allauth_cas.test.testcases import CASViewTestCase +from django.contrib.auth import get_user_model + +from allauth_cas.test.testcases import CASTestCase, CASViewTestCase + +User = get_user_model() + + +class ClipperProviderTests(CASTestCase): + + def setUp(self): + self.u = User.objects.create_user('user', 'user@mail.net', 'user') + + def test_auto_signup(self): + self.client_cas_login( + self.client, provider_id='clipper', username='clipper_uid') + + u = User.objects.get(username='clipper_uid') + self.assertEqual(u.email, 'clipper_uid@clipper.ens.fr') class ClipperViewsTests(CASViewTestCase): @@ -15,6 +32,10 @@ class ClipperViewsTests(CASViewTestCase): ) def test_callback_view(self): + # Required to initialize a SocialLogin. + r = self.client.get('/accounts/clipper/login/') + + # Tests. self.patch_cas_response(valid_ticket='__all__') r = self.client.get('/accounts/clipper/login/callback/', { 'ticket': '123456', diff --git a/allauth_ens/scss/_base.scss b/allauth_ens/scss/_base.scss index ca99b03..fa5af96 100644 --- a/allauth_ens/scss/_base.scss +++ b/allauth_ens/scss/_base.scss @@ -27,16 +27,14 @@ b { * Layout structure * ********************/ -$main-max-width: 700px; - -$divider-size: 2px; +$main-max-width: 500px; .wrapper { max-width: $main-max-width; margin: 0 auto; background: $white; - box-shadow: 0 0 10px $gray-lighter; + box-shadow: 0 0 5px rgba(0,0,0,.1); } @@ -65,49 +63,24 @@ $divider-size: 2px; padding: 15px; } - @media (min-width: 576px) { + @media (min-width: 500px) { & > section { flex: 1 1 auto; - width: 350px - $divider-size / 2; + width: 250px; } } - /* Divider */ - - & > .divider { - display: none; - - &::before { - display: block; - content: " "; - background: $gray-lighter; - - height: $divider-size; - width: $divider-size; - } - - @media (max-width: 575px) { - & { - flex: 100%; - padding: 0 15px; - } - - &::before { width: 100%; } - } - - @media (min-width: 576px) { - & { - align-self: stretch; - padding: 15px 0; - } - - &::before { height: 100%; } + @media (min-width: 120px) { + & > section { + flex: 1 1 auto; + width: 350px; } } - & > section + .divider { - display: block; - } +} + +#providers { + width:150px; } @@ -132,23 +105,6 @@ header { font-size: 20px; font-weight: bold; - .history-back { - @include transition; - - width: 55px; - cursor: pointer; - - background: transparent; - - color: $white; - font-size: $header-history-icon-size; - - @include hover-focus { - background: lighten($header-bg, 5%); - } - - } - a { color: $white !important; @@ -159,42 +115,41 @@ header { } .right { - border-left: 1px solid lighten($header-bg, 15%); display: flex; flex-flow: column; align-items: stretch; justify-content: space-around; + flex: 0 0 auto; + border-left: 1px solid lighten($header-bg, 15%); + font-size: 14px; text-align: center; & > * { flex: 0 0 auto; - line-height: 28px; + + & > * { + display: block; + padding: 5px 10px; + } } - & > * > * { - display: inline-block; - height: 100%; - width: 100%; - padding: 0 15px; - } - - & #connect-status { + #connect-status { font-weight: normal; + font-size: 12px; .fa { - margin-right: 10px; + margin-right: 5px; } } } h1 { - flex: 1 0 auto; + flex: 1 1 auto; - padding: 15px 35px; - line-height: 25px; + padding: 15px 25px; } } @@ -252,128 +207,92 @@ section { /* Methods list */ -$space-between: 15px; - .method-list { display: flex; flex-flow: row wrap; justify-content: space-between; - margin: - $space-between / 2; -} -.method-wrapper { - flex: 1 50%; - padding: $space-between / 2; + & > .method-wrapper { + flex: 1 100%; + padding: 2px 0; - a { - @include btn; - @include btn-primary-hov; - display: block; + a { + @include btn; + + border-radius: 0; + border-left: 5px solid $brand-primary; + + background: $gray-lighter; + color: $black; + font-size: 16px; + text-align: left; + + @include hover-focus { + background: lighten($brand-primary, 50%); + } + } } } /* Connected accounts list */ -.provider-list { +.connections-providers-list { - & > li { + & > * { - &:not(:first-child) { - margin-top: 5px; + & + * { + margin-top: 2px; } & > .heading { @include clearfix; - height: 45px; width: 100%; + padding: 10px; - background-color: $gray-lighter; + border-left: 5px solid $brand-primary; + background: $gray-lighter; - & > * { - float: left; - height: 100%; - } + .connect { + @include btn; + @include btn-primary; + @include btn-sm; - & > .connect, & > .brand-icon { - text-align: center; - } - - & > .connect a { - @include transition; - - display: inline-block; - - background-color: $brand-success; - color: $white; - - height: 100%; - line-height: 100%; - width: 45px; - - padding: 12px; - - font-size: 20px; - text-align: center; - - @include hover-focus { - background-color: darken($brand-success, 5%); - text-decoration: none; - } - } - - & > .brand-icon { - padding: 10px; - width: 45px; - color: $brand-primary; - } - - & > .name { - padding: 10px; - font-weight: bold; - } - } - - & > .connected-list { - - padding: 0 15px; - - & > li { - @include clearfix; - - height: 30px; - - & > * { - float: left; - display: block; - height: 100%; - } - - & > .connected-delete [type=submit] { - background-color: $red; - color: $white; - min-height: 30px; - width: 30px; - - @include hover-focus { - background-color: darken($red, 5%); - } - } - - & > .connected-label { - padding: 7px 15px; - width: calc(100% - 30px); - border-bottom: 1px solid $red; - - font-size: 12px; - - .fa { - margin-right: 5px; - } - } + float: right; + width: auto; } } } +} + +.connections-list { + border-left: 5px solid $gray-lightest; + + & > * { + padding: 10px; + font-size: 14px; + + & + * { + border-top: 1px dotted $gray-lighter; + } + + & > .fa { + margin-right: 5px; + } + + .delete { + float: right; + margin-top: -2px; + + & [type=submit] { + @include btn; + @include btn-danger; + @include btn-sm; + opacity: .8; + } + } + } + form { display: inline-block; } @@ -412,7 +331,7 @@ $space-between: 15px; } & > .primary { - color: darken($brand-primary, 15%); + color: $brand-primary; } & > .verified { @@ -424,19 +343,6 @@ $space-between: 15px; } } - .actions { - @include clearfix; - - margin-bottom: 10px; - - & > * { - float: right; - margin-right: 10px; - font-size: 12px; - } - - } - } } @@ -557,9 +463,9 @@ $label-top: $label-height + $input-wrapper-padding + $input-padding; } } - @include input-special('has-value', $green); - @include input-special('error', $red); - @include input-special('focused', $blue); + @include input-special('has-value', $brand-success); + @include input-special('error', $brand-danger); + @include input-special('focused', $brand-primary); .infos-spacer { float: right; @@ -577,16 +483,47 @@ $label-top: $label-height + $input-wrapper-padding + $input-padding; } +.widget-checkbox { + display: inline-flex; + + & > input[type="checkbox"] { + display: none; + } + + & > button { + @include transition; + flex: 0 1 auto; + display: inline-block; + padding: 5px 10px; + background: white; + color: $gray-light; + } + + & > button.choice-yes { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + & > button.choice-no { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + & > button.focus { + background: $brand-primary; + color: white; + } +} + [type=submit]:not(.link) { @include btn; - @include btn-success-hov; - float: right; + @include btn-success; + border-radius: 3px; } [type=submit].link { @include link; background: transparent; - padding: 0; @include hover-focus { cursor: pointer; @@ -595,13 +532,15 @@ $label-top: $label-height + $input-wrapper-padding + $input-padding; .form-inline { display: flex; - flex-flow: row nowrap; align-items: center; - .input-list { + & > .input-wrapper { + flex: 1 0 auto; } [type=submit] { + margin-top: -5px; + margin-left: 8px; font-size: 14px; } } @@ -611,6 +550,5 @@ $label-top: $label-height + $input-wrapper-padding + $input-padding; display: block; } -.btn-primary-hov { - @include btn-primary-hov; -} +.btn-primary { @include btn-primary; } +.btn-success { @include btn-success; } diff --git a/allauth_ens/scss/_mixins.scss b/allauth_ens/scss/_mixins.scss index 6378cad..04c3991 100644 --- a/allauth_ens/scss/_mixins.scss +++ b/allauth_ens/scss/_mixins.scss @@ -30,8 +30,8 @@ } } -@mixin transition($time: .3s) { - transition: background $time, color $time; +@mixin transition($time: .15s) { + transition: background $time, color $time, border-color $time; } @mixin link { @@ -50,13 +50,15 @@ @mixin btn { @include transition; - //width: 100%; + display: block; + width: 100%; min-height: 30px; + line-height: initial; border: 0; - padding: 10px 15px; + border-radius: 3px; + padding: 7px 15px; - font-family: "Roboto Slab"; font-size: 18px; text-align: center; @@ -67,23 +69,38 @@ } } -@mixin btn-primary-hov { - color: $black; +@mixin btn-primary { + background: $brand-primary; + color: $white; @include hover-focus { - background: darken($brand-primary, 15%); + background: darken($brand-primary, 5%); color: $white; } } -@mixin btn-success-hov { - background-color: $brand-success; +@mixin btn-success { + background: $brand-success; color: $white; - //background: $gray-lighter; - //color: $black; @include hover-focus { background: darken($brand-success, 15%); color: $white; } } + +@mixin btn-danger { + background: $brand-danger; + color: $white; + + @include hover-focus { + background: darken($brand-danger, 15%); + color: $white; + } +} + +@mixin btn-sm { + min-height: auto; + padding: 4px 7px; + font-size: 12px; +} diff --git a/allauth_ens/scss/_reset.scss b/allauth_ens/scss/_reset.scss index 00cd882..5cb0ba7 100644 --- a/allauth_ens/scss/_reset.scss +++ b/allauth_ens/scss/_reset.scss @@ -13,6 +13,7 @@ a, input, button { } input, button { + padding: 0; border: 0; border-radius: 0; box-shadow: none; diff --git a/allauth_ens/scss/_variables.scss b/allauth_ens/scss/_variables.scss index 4f50789..90780d5 100644 --- a/allauth_ens/scss/_variables.scss +++ b/allauth_ens/scss/_variables.scss @@ -17,10 +17,10 @@ $gray-light: #636c72 !default; $gray-lighter: #eceeef !default; $gray-lightest: #f7f7f9 !default; -$brand-primary: $blue !default; -$brand-success: $green !default; +$brand-primary: darken($blue, 10%) !default; +$brand-success: darken($green, 10%) !default; $brand-info: $teal !default; -$brand-warning: $orange !default; +$brand-warning: darken($orange, 10%) !default; $brand-danger: $red !default; $brand-inverse: $gray-dark !default; diff --git a/allauth_ens/scss/screen.scss b/allauth_ens/scss/screen.scss index 0fb72b2..59610da 100644 --- a/allauth_ens/scss/screen.scss +++ b/allauth_ens/scss/screen.scss @@ -1,16 +1,6 @@ -/* Welcome to Compass. - * In this file you should write your main styles. (or centralize your imports) - * Import this file using the following HTML or equivalent: - * */ - -// @import "vendor/normalize"; -// @import "reset"; @import "compass/reset"; @import "reset"; -@import "font-awesome-compass"; -@import "font-awesome"; - @import "variables"; @import "mixins"; diff --git a/allauth_ens/static/allauth_ens/authens.js b/allauth_ens/static/allauth_ens/authens.js index 4aa5e8b..004b0f4 100644 --- a/allauth_ens/static/allauth_ens/authens.js +++ b/allauth_ens/static/allauth_ens/authens.js @@ -40,18 +40,41 @@ Input.prototype = { } }; -Object.assign(Input.prototype, { +$.extend(Input.prototype, { update_focus: toggleWrapperClass('input-focused', Input.prototype.has_focus), - update_error: toggleWrapperClass('input-error', Input.prototype.has_error), + update_error: function () { + let has_error = this.has_error(); + toggleWrapperClass('input-error').bind(this)(has_error); + if (!has_error) { + this.wrapper.find('.messages .error-desc').hide(); + } + }, update_has_value: toggleWrapperClass('input-has-value', Input.prototype.has_value), }); -$( function() { +$(function () { let fields = $('input.field'); fields.map( function() { return new Input(this); }); }); +$(function () { + let choice_yes = $('.choice-yes'); + let choice_no = $('.choice-no'); + + choice_yes.click(function () { + $(this).siblings('input').prop('checked', true); + $(this).addClass('focus'); + $(this).siblings('.choice-no').removeClass('focus'); + }); + + choice_no.click(function () { + $(this).siblings('input').prop('checked', true); + $(this).addClass('focus'); + $(this).siblings('.choice-yes').removeClass('focus'); + }); + +}); /** * Keyboard shortcuts diff --git a/allauth_ens/static/allauth_ens/screen.css b/allauth_ens/static/allauth_ens/screen.css index 995584b..6efa395 100644 --- a/allauth_ens/static/allauth_ens/screen.css +++ b/allauth_ens/static/allauth_ens/screen.css @@ -1,8 +1,3 @@ -@charset "UTF-8"; -/* Welcome to Compass. - * In this file you should write your main styles. (or centralize your imports) - * Import this file using the following HTML or equivalent: - * */ /* line 5, ../../../vendor/bundle/ruby/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, @@ -87,3768 +82,18 @@ a, input, button { /* line 15, ../../scss/_reset.scss */ input, button { + padding: 0; border: 0; border-radius: 0; box-shadow: none; font-family: inherit; } -/* line 22, ../../scss/_reset.scss */ +/* line 23, ../../scss/_reset.scss */ input:-webkit-autofill { -webkit-box-shadow: 0 0 0 30px white inset; } -/*! - * Font Awesome 4.7.0 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(font-path("font-awesome/fontawesome-webfont.eot?v=4.7.0")); - src: url(font-path("font-awesome/fontawesome-webfont.eot?v=4.7.0#iefix")) format("embedded-opentype"), url(font-path("font-awesome/fontawesome-webfont.woff2?v=4.7.0")) format("woff2"), url(font-path("font-awesome/fontawesome-webfont.woff?v=4.7.0")) format("woff"), url(font-path("font-awesome/fontawesome-webfont.ttf?v=4.7.0")) format("truetype"), url(font-path("font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular")) format("svg"); - font-weight: normal; - font-style: normal; -} -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_core.scss */ -.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 */ -/* line 5, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_larger.scss */ -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -15%; -} - -/* line 10, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_larger.scss */ -.fa-2x { - font-size: 2em; -} - -/* line 11, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_larger.scss */ -.fa-3x { - font-size: 3em; -} - -/* line 12, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_larger.scss */ -.fa-4x { - font-size: 4em; -} - -/* line 13, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_larger.scss */ -.fa-5x { - font-size: 5em; -} - -/* line 3, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_fixed-width.scss */ -.fa-fw { - width: 1.28571em; - text-align: center; -} - -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_list.scss */ -.fa-ul { - padding-left: 0; - margin-left: 2.14286em; - list-style-type: none; -} -/* line 8, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_list.scss */ -.fa-ul > li { - position: relative; -} - -/* line 10, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_list.scss */ -.fa-li { - position: absolute; - left: -2.14286em; - width: 2.14286em; - top: 0.14286em; - text-align: center; -} -/* line 16, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_list.scss */ -.fa-li.fa-lg { - left: -1.85714em; -} - -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eee; - border-radius: .1em; -} - -/* line 10, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa-pull-left { - float: left; -} - -/* line 11, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa-pull-right { - float: right; -} - -/* line 14, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa.fa-pull-left { - margin-right: .3em; -} -/* line 15, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa.fa-pull-right { - margin-left: .3em; -} - -/* Deprecated as of 4.4.0 */ -/* line 19, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.pull-right { - float: right; -} - -/* line 20, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.pull-left { - float: left; -} - -/* line 23, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa.pull-left { - margin-right: .3em; -} -/* line 24, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_bordered-pulled.scss */ -.fa.pull-right { - margin-left: .3em; -} - -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_animated.scss */ -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} - -/* line 9, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_animated.scss */ -.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); - } -} -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_rotated-flipped.scss */ -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} - -/* line 5, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_rotated-flipped.scss */ -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} - -/* line 6, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_rotated-flipped.scss */ -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} - -/* line 8, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_rotated-flipped.scss */ -.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); -} - -/* line 9, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_rotated-flipped.scss */ -.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); -} - -/* line 14, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_rotated-flipped.scss */ -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} - -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_stacked.scss */ -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} - -/* line 12, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_stacked.scss */ -.fa-stack-1x, .fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} - -/* line 18, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_stacked.scss */ -.fa-stack-1x { - line-height: inherit; -} - -/* line 19, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_stacked.scss */ -.fa-stack-2x { - font-size: 2em; -} - -/* line 20, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_stacked.scss */ -.fa-inverse { - color: #fff; -} - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-glass:before { - content: ""; -} - -/* line 5, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-music:before { - content: ""; -} - -/* line 6, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-search:before { - content: ""; -} - -/* line 7, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-envelope-o:before { - content: ""; -} - -/* line 8, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-heart:before { - content: ""; -} - -/* line 9, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-star:before { - content: ""; -} - -/* line 10, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-star-o:before { - content: ""; -} - -/* line 11, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user:before { - content: ""; -} - -/* line 12, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-film:before { - content: ""; -} - -/* line 13, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-th-large:before { - content: ""; -} - -/* line 14, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-th:before { - content: ""; -} - -/* line 15, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-th-list:before { - content: ""; -} - -/* line 16, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-check:before { - content: ""; -} - -/* line 17, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: ""; -} - -/* line 20, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-search-plus:before { - content: ""; -} - -/* line 21, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-search-minus:before { - content: ""; -} - -/* line 22, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-power-off:before { - content: ""; -} - -/* line 23, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-signal:before { - content: ""; -} - -/* line 24, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gear:before, -.fa-cog:before { - content: ""; -} - -/* line 26, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-trash-o:before { - content: ""; -} - -/* line 27, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-home:before { - content: ""; -} - -/* line 28, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-o:before { - content: ""; -} - -/* line 29, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-clock-o:before { - content: ""; -} - -/* line 30, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-road:before { - content: ""; -} - -/* line 31, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-download:before { - content: ""; -} - -/* line 32, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-o-down:before { - content: ""; -} - -/* line 33, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-o-up:before { - content: ""; -} - -/* line 34, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-inbox:before { - content: ""; -} - -/* line 35, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-play-circle-o:before { - content: ""; -} - -/* line 36, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-rotate-right:before, -.fa-repeat:before { - content: ""; -} - -/* line 38, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-refresh:before { - content: ""; -} - -/* line 39, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-list-alt:before { - content: ""; -} - -/* line 40, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-lock:before { - content: ""; -} - -/* line 41, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-flag:before { - content: ""; -} - -/* line 42, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-headphones:before { - content: ""; -} - -/* line 43, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-volume-off:before { - content: ""; -} - -/* line 44, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-volume-down:before { - content: ""; -} - -/* line 45, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-volume-up:before { - content: ""; -} - -/* line 46, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-qrcode:before { - content: ""; -} - -/* line 47, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-barcode:before { - content: ""; -} - -/* line 48, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tag:before { - content: ""; -} - -/* line 49, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tags:before { - content: ""; -} - -/* line 50, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-book:before { - content: ""; -} - -/* line 51, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bookmark:before { - content: ""; -} - -/* line 52, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-print:before { - content: ""; -} - -/* line 53, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-camera:before { - content: ""; -} - -/* line 54, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-font:before { - content: ""; -} - -/* line 55, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bold:before { - content: ""; -} - -/* line 56, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-italic:before { - content: ""; -} - -/* line 57, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-text-height:before { - content: ""; -} - -/* line 58, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-text-width:before { - content: ""; -} - -/* line 59, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-align-left:before { - content: ""; -} - -/* line 60, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-align-center:before { - content: ""; -} - -/* line 61, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-align-right:before { - content: ""; -} - -/* line 62, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-align-justify:before { - content: ""; -} - -/* line 63, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-list:before { - content: ""; -} - -/* line 64, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dedent:before, -.fa-outdent:before { - content: ""; -} - -/* line 66, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-indent:before { - content: ""; -} - -/* line 67, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-video-camera:before { - content: ""; -} - -/* line 68, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: ""; -} - -/* line 71, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pencil:before { - content: ""; -} - -/* line 72, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-map-marker:before { - content: ""; -} - -/* line 73, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-adjust:before { - content: ""; -} - -/* line 74, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tint:before { - content: ""; -} - -/* line 75, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-edit:before, -.fa-pencil-square-o:before { - content: ""; -} - -/* line 77, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-share-square-o:before { - content: ""; -} - -/* line 78, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-check-square-o:before { - content: ""; -} - -/* line 79, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrows:before { - content: ""; -} - -/* line 80, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-step-backward:before { - content: ""; -} - -/* line 81, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fast-backward:before { - content: ""; -} - -/* line 82, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-backward:before { - content: ""; -} - -/* line 83, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-play:before { - content: ""; -} - -/* line 84, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pause:before { - content: ""; -} - -/* line 85, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stop:before { - content: ""; -} - -/* line 86, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-forward:before { - content: ""; -} - -/* line 87, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fast-forward:before { - content: ""; -} - -/* line 88, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-step-forward:before { - content: ""; -} - -/* line 89, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-eject:before { - content: ""; -} - -/* line 90, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-left:before { - content: ""; -} - -/* line 91, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-right:before { - content: ""; -} - -/* line 92, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-plus-circle:before { - content: ""; -} - -/* line 93, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-minus-circle:before { - content: ""; -} - -/* line 94, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-times-circle:before { - content: ""; -} - -/* line 95, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-check-circle:before { - content: ""; -} - -/* line 96, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-question-circle:before { - content: ""; -} - -/* line 97, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-info-circle:before { - content: ""; -} - -/* line 98, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-crosshairs:before { - content: ""; -} - -/* line 99, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-times-circle-o:before { - content: ""; -} - -/* line 100, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-check-circle-o:before { - content: ""; -} - -/* line 101, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ban:before { - content: ""; -} - -/* line 102, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-left:before { - content: ""; -} - -/* line 103, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-right:before { - content: ""; -} - -/* line 104, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-up:before { - content: ""; -} - -/* line 105, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-down:before { - content: ""; -} - -/* line 106, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mail-forward:before, -.fa-share:before { - content: ""; -} - -/* line 108, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-expand:before { - content: ""; -} - -/* line 109, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-compress:before { - content: ""; -} - -/* line 110, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-plus:before { - content: ""; -} - -/* line 111, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-minus:before { - content: ""; -} - -/* line 112, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-asterisk:before { - content: ""; -} - -/* line 113, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-exclamation-circle:before { - content: ""; -} - -/* line 114, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gift:before { - content: ""; -} - -/* line 115, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-leaf:before { - content: ""; -} - -/* line 116, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fire:before { - content: ""; -} - -/* line 117, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-eye:before { - content: ""; -} - -/* line 118, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-eye-slash:before { - content: ""; -} - -/* line 119, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-warning:before, -.fa-exclamation-triangle:before { - content: ""; -} - -/* line 121, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-plane:before { - content: ""; -} - -/* line 122, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calendar:before { - content: ""; -} - -/* line 123, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-random:before { - content: ""; -} - -/* line 124, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-comment:before { - content: ""; -} - -/* line 125, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-magnet:before { - content: ""; -} - -/* line 126, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-up:before { - content: ""; -} - -/* line 127, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-down:before { - content: ""; -} - -/* line 128, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-retweet:before { - content: ""; -} - -/* line 129, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shopping-cart:before { - content: ""; -} - -/* line 130, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-folder:before { - content: ""; -} - -/* line 131, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-folder-open:before { - content: ""; -} - -/* line 132, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrows-v:before { - content: ""; -} - -/* line 133, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrows-h:before { - content: ""; -} - -/* line 134, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: ""; -} - -/* line 136, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-twitter-square:before { - content: ""; -} - -/* line 137, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-facebook-square:before { - content: ""; -} - -/* line 138, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-camera-retro:before { - content: ""; -} - -/* line 139, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-key:before { - content: ""; -} - -/* line 140, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gears:before, -.fa-cogs:before { - content: ""; -} - -/* line 142, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-comments:before { - content: ""; -} - -/* line 143, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thumbs-o-up:before { - content: ""; -} - -/* line 144, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thumbs-o-down:before { - content: ""; -} - -/* line 145, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-star-half:before { - content: ""; -} - -/* line 146, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-heart-o:before { - content: ""; -} - -/* line 147, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sign-out:before { - content: ""; -} - -/* line 148, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-linkedin-square:before { - content: ""; -} - -/* line 149, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thumb-tack:before { - content: ""; -} - -/* line 150, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-external-link:before { - content: ""; -} - -/* line 151, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sign-in:before { - content: ""; -} - -/* line 152, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-trophy:before { - content: ""; -} - -/* line 153, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-github-square:before { - content: ""; -} - -/* line 154, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-upload:before { - content: ""; -} - -/* line 155, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-lemon-o:before { - content: ""; -} - -/* line 156, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-phone:before { - content: ""; -} - -/* line 157, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-square-o:before { - content: ""; -} - -/* line 158, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bookmark-o:before { - content: ""; -} - -/* line 159, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-phone-square:before { - content: ""; -} - -/* line 160, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-twitter:before { - content: ""; -} - -/* line 161, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-facebook-f:before, -.fa-facebook:before { - content: ""; -} - -/* line 163, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-github:before { - content: ""; -} - -/* line 164, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-unlock:before { - content: ""; -} - -/* line 165, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-credit-card:before { - content: ""; -} - -/* line 166, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-feed:before, -.fa-rss:before { - content: ""; -} - -/* line 168, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hdd-o:before { - content: ""; -} - -/* line 169, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bullhorn:before { - content: ""; -} - -/* line 170, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bell:before { - content: ""; -} - -/* line 171, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-certificate:before { - content: ""; -} - -/* line 172, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-o-right:before { - content: ""; -} - -/* line 173, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-o-left:before { - content: ""; -} - -/* line 174, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-o-up:before { - content: ""; -} - -/* line 175, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-o-down:before { - content: ""; -} - -/* line 176, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-left:before { - content: ""; -} - -/* line 177, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-right:before { - content: ""; -} - -/* line 178, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-up:before { - content: ""; -} - -/* line 179, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-down:before { - content: ""; -} - -/* line 180, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-globe:before { - content: ""; -} - -/* line 181, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wrench:before { - content: ""; -} - -/* line 182, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tasks:before { - content: ""; -} - -/* line 183, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-filter:before { - content: ""; -} - -/* line 184, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-briefcase:before { - content: ""; -} - -/* line 185, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrows-alt:before { - content: ""; -} - -/* line 186, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-group:before, -.fa-users:before { - content: ""; -} - -/* line 188, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chain:before, -.fa-link:before { - content: ""; -} - -/* line 190, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cloud:before { - content: ""; -} - -/* line 191, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-flask:before { - content: ""; -} - -/* line 192, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cut:before, -.fa-scissors:before { - content: ""; -} - -/* line 194, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-copy:before, -.fa-files-o:before { - content: ""; -} - -/* line 196, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-paperclip:before { - content: ""; -} - -/* line 197, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-save:before, -.fa-floppy-o:before { - content: ""; -} - -/* line 199, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-square:before { - content: ""; -} - -/* line 200, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: ""; -} - -/* line 203, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-list-ul:before { - content: ""; -} - -/* line 204, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-list-ol:before { - content: ""; -} - -/* line 205, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-strikethrough:before { - content: ""; -} - -/* line 206, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-underline:before { - content: ""; -} - -/* line 207, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-table:before { - content: ""; -} - -/* line 208, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-magic:before { - content: ""; -} - -/* line 209, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-truck:before { - content: ""; -} - -/* line 210, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pinterest:before { - content: ""; -} - -/* line 211, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pinterest-square:before { - content: ""; -} - -/* line 212, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-google-plus-square:before { - content: ""; -} - -/* line 213, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-google-plus:before { - content: ""; -} - -/* line 214, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-money:before { - content: ""; -} - -/* line 215, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-caret-down:before { - content: ""; -} - -/* line 216, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-caret-up:before { - content: ""; -} - -/* line 217, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-caret-left:before { - content: ""; -} - -/* line 218, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-caret-right:before { - content: ""; -} - -/* line 219, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-columns:before { - content: ""; -} - -/* line 220, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-unsorted:before, -.fa-sort:before { - content: ""; -} - -/* line 222, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-down:before, -.fa-sort-desc:before { - content: ""; -} - -/* line 224, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-up:before, -.fa-sort-asc:before { - content: ""; -} - -/* line 226, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-envelope:before { - content: ""; -} - -/* line 227, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-linkedin:before { - content: ""; -} - -/* line 228, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-rotate-left:before, -.fa-undo:before { - content: ""; -} - -/* line 230, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-legal:before, -.fa-gavel:before { - content: ""; -} - -/* line 232, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dashboard:before, -.fa-tachometer:before { - content: ""; -} - -/* line 234, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-comment-o:before { - content: ""; -} - -/* line 235, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-comments-o:before { - content: ""; -} - -/* line 236, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-flash:before, -.fa-bolt:before { - content: ""; -} - -/* line 238, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sitemap:before { - content: ""; -} - -/* line 239, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-umbrella:before { - content: ""; -} - -/* line 240, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-paste:before, -.fa-clipboard:before { - content: ""; -} - -/* line 242, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-lightbulb-o:before { - content: ""; -} - -/* line 243, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-exchange:before { - content: ""; -} - -/* line 244, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cloud-download:before { - content: ""; -} - -/* line 245, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cloud-upload:before { - content: ""; -} - -/* line 246, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-md:before { - content: ""; -} - -/* line 247, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stethoscope:before { - content: ""; -} - -/* line 248, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-suitcase:before { - content: ""; -} - -/* line 249, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bell-o:before { - content: ""; -} - -/* line 250, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-coffee:before { - content: ""; -} - -/* line 251, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cutlery:before { - content: ""; -} - -/* line 252, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-text-o:before { - content: ""; -} - -/* line 253, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-building-o:before { - content: ""; -} - -/* line 254, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hospital-o:before { - content: ""; -} - -/* line 255, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ambulance:before { - content: ""; -} - -/* line 256, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-medkit:before { - content: ""; -} - -/* line 257, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fighter-jet:before { - content: ""; -} - -/* line 258, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-beer:before { - content: ""; -} - -/* line 259, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-h-square:before { - content: ""; -} - -/* line 260, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-plus-square:before { - content: ""; -} - -/* line 261, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-double-left:before { - content: ""; -} - -/* line 262, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-double-right:before { - content: ""; -} - -/* line 263, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-double-up:before { - content: ""; -} - -/* line 264, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-double-down:before { - content: ""; -} - -/* line 265, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-left:before { - content: ""; -} - -/* line 266, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-right:before { - content: ""; -} - -/* line 267, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-up:before { - content: ""; -} - -/* line 268, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angle-down:before { - content: ""; -} - -/* line 269, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-desktop:before { - content: ""; -} - -/* line 270, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-laptop:before { - content: ""; -} - -/* line 271, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tablet:before { - content: ""; -} - -/* line 272, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mobile-phone:before, -.fa-mobile:before { - content: ""; -} - -/* line 274, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-circle-o:before { - content: ""; -} - -/* line 275, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-quote-left:before { - content: ""; -} - -/* line 276, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-quote-right:before { - content: ""; -} - -/* line 277, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-spinner:before { - content: ""; -} - -/* line 278, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-circle:before { - content: ""; -} - -/* line 279, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mail-reply:before, -.fa-reply:before { - content: ""; -} - -/* line 281, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-github-alt:before { - content: ""; -} - -/* line 282, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-folder-o:before { - content: ""; -} - -/* line 283, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-folder-open-o:before { - content: ""; -} - -/* line 284, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-smile-o:before { - content: ""; -} - -/* line 285, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-frown-o:before { - content: ""; -} - -/* line 286, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-meh-o:before { - content: ""; -} - -/* line 287, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gamepad:before { - content: ""; -} - -/* line 288, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-keyboard-o:before { - content: ""; -} - -/* line 289, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-flag-o:before { - content: ""; -} - -/* line 290, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-flag-checkered:before { - content: ""; -} - -/* line 291, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-terminal:before { - content: ""; -} - -/* line 292, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-code:before { - content: ""; -} - -/* line 293, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: ""; -} - -/* line 295, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: ""; -} - -/* line 298, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-location-arrow:before { - content: ""; -} - -/* line 299, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-crop:before { - content: ""; -} - -/* line 300, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-code-fork:before { - content: ""; -} - -/* line 301, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-unlink:before, -.fa-chain-broken:before { - content: ""; -} - -/* line 303, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-question:before { - content: ""; -} - -/* line 304, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-info:before { - content: ""; -} - -/* line 305, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-exclamation:before { - content: ""; -} - -/* line 306, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-superscript:before { - content: ""; -} - -/* line 307, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-subscript:before { - content: ""; -} - -/* line 308, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-eraser:before { - content: ""; -} - -/* line 309, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-puzzle-piece:before { - content: ""; -} - -/* line 310, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-microphone:before { - content: ""; -} - -/* line 311, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-microphone-slash:before { - content: ""; -} - -/* line 312, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shield:before { - content: ""; -} - -/* line 313, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calendar-o:before { - content: ""; -} - -/* line 314, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fire-extinguisher:before { - content: ""; -} - -/* line 315, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-rocket:before { - content: ""; -} - -/* line 316, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-maxcdn:before { - content: ""; -} - -/* line 317, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-circle-left:before { - content: ""; -} - -/* line 318, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-circle-right:before { - content: ""; -} - -/* line 319, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-circle-up:before { - content: ""; -} - -/* line 320, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chevron-circle-down:before { - content: ""; -} - -/* line 321, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-html5:before { - content: ""; -} - -/* line 322, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-css3:before { - content: ""; -} - -/* line 323, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-anchor:before { - content: ""; -} - -/* line 324, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-unlock-alt:before { - content: ""; -} - -/* line 325, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bullseye:before { - content: ""; -} - -/* line 326, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ellipsis-h:before { - content: ""; -} - -/* line 327, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ellipsis-v:before { - content: ""; -} - -/* line 328, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-rss-square:before { - content: ""; -} - -/* line 329, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-play-circle:before { - content: ""; -} - -/* line 330, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ticket:before { - content: ""; -} - -/* line 331, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-minus-square:before { - content: ""; -} - -/* line 332, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-minus-square-o:before { - content: ""; -} - -/* line 333, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-level-up:before { - content: ""; -} - -/* line 334, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-level-down:before { - content: ""; -} - -/* line 335, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-check-square:before { - content: ""; -} - -/* line 336, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pencil-square:before { - content: ""; -} - -/* line 337, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-external-link-square:before { - content: ""; -} - -/* line 338, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-share-square:before { - content: ""; -} - -/* line 339, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-compass:before { - content: ""; -} - -/* line 340, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: ""; -} - -/* line 342, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: ""; -} - -/* line 344, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: ""; -} - -/* line 346, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-euro:before, -.fa-eur:before { - content: ""; -} - -/* line 348, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gbp:before { - content: ""; -} - -/* line 349, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dollar:before, -.fa-usd:before { - content: ""; -} - -/* line 351, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-rupee:before, -.fa-inr:before { - content: ""; -} - -/* line 353, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: ""; -} - -/* line 357, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: ""; -} - -/* line 360, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-won:before, -.fa-krw:before { - content: ""; -} - -/* line 362, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bitcoin:before, -.fa-btc:before { - content: ""; -} - -/* line 364, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file:before { - content: ""; -} - -/* line 365, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-text:before { - content: ""; -} - -/* line 366, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-alpha-asc:before { - content: ""; -} - -/* line 367, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-alpha-desc:before { - content: ""; -} - -/* line 368, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-amount-asc:before { - content: ""; -} - -/* line 369, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-amount-desc:before { - content: ""; -} - -/* line 370, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-numeric-asc:before { - content: ""; -} - -/* line 371, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sort-numeric-desc:before { - content: ""; -} - -/* line 372, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thumbs-up:before { - content: ""; -} - -/* line 373, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thumbs-down:before { - content: ""; -} - -/* line 374, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-youtube-square:before { - content: ""; -} - -/* line 375, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-youtube:before { - content: ""; -} - -/* line 376, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-xing:before { - content: ""; -} - -/* line 377, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-xing-square:before { - content: ""; -} - -/* line 378, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-youtube-play:before { - content: ""; -} - -/* line 379, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dropbox:before { - content: ""; -} - -/* line 380, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stack-overflow:before { - content: ""; -} - -/* line 381, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-instagram:before { - content: ""; -} - -/* line 382, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-flickr:before { - content: ""; -} - -/* line 383, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-adn:before { - content: ""; -} - -/* line 384, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bitbucket:before { - content: ""; -} - -/* line 385, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bitbucket-square:before { - content: ""; -} - -/* line 386, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tumblr:before { - content: ""; -} - -/* line 387, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tumblr-square:before { - content: ""; -} - -/* line 388, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-long-arrow-down:before { - content: ""; -} - -/* line 389, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-long-arrow-up:before { - content: ""; -} - -/* line 390, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-long-arrow-left:before { - content: ""; -} - -/* line 391, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-long-arrow-right:before { - content: ""; -} - -/* line 392, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-apple:before { - content: ""; -} - -/* line 393, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-windows:before { - content: ""; -} - -/* line 394, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-android:before { - content: ""; -} - -/* line 395, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-linux:before { - content: ""; -} - -/* line 396, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dribbble:before { - content: ""; -} - -/* line 397, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-skype:before { - content: ""; -} - -/* line 398, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-foursquare:before { - content: ""; -} - -/* line 399, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-trello:before { - content: ""; -} - -/* line 400, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-female:before { - content: ""; -} - -/* line 401, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-male:before { - content: ""; -} - -/* line 402, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gittip:before, -.fa-gratipay:before { - content: ""; -} - -/* line 404, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sun-o:before { - content: ""; -} - -/* line 405, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-moon-o:before { - content: ""; -} - -/* line 406, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-archive:before { - content: ""; -} - -/* line 407, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bug:before { - content: ""; -} - -/* line 408, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-vk:before { - content: ""; -} - -/* line 409, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-weibo:before { - content: ""; -} - -/* line 410, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-renren:before { - content: ""; -} - -/* line 411, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pagelines:before { - content: ""; -} - -/* line 412, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stack-exchange:before { - content: ""; -} - -/* line 413, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-o-right:before { - content: ""; -} - -/* line 414, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-arrow-circle-o-left:before { - content: ""; -} - -/* line 415, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: ""; -} - -/* line 417, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dot-circle-o:before { - content: ""; -} - -/* line 418, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wheelchair:before { - content: ""; -} - -/* line 419, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-vimeo-square:before { - content: ""; -} - -/* line 420, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-turkish-lira:before, -.fa-try:before { - content: ""; -} - -/* line 422, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-plus-square-o:before { - content: ""; -} - -/* line 423, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-space-shuttle:before { - content: ""; -} - -/* line 424, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-slack:before { - content: ""; -} - -/* line 425, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-envelope-square:before { - content: ""; -} - -/* line 426, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wordpress:before { - content: ""; -} - -/* line 427, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-openid:before { - content: ""; -} - -/* line 428, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: ""; -} - -/* line 431, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: ""; -} - -/* line 433, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-yahoo:before { - content: ""; -} - -/* line 434, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-google:before { - content: ""; -} - -/* line 435, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-reddit:before { - content: ""; -} - -/* line 436, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-reddit-square:before { - content: ""; -} - -/* line 437, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stumbleupon-circle:before { - content: ""; -} - -/* line 438, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stumbleupon:before { - content: ""; -} - -/* line 439, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-delicious:before { - content: ""; -} - -/* line 440, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-digg:before { - content: ""; -} - -/* line 441, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pied-piper-pp:before { - content: ""; -} - -/* line 442, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pied-piper-alt:before { - content: ""; -} - -/* line 443, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-drupal:before { - content: ""; -} - -/* line 444, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-joomla:before { - content: ""; -} - -/* line 445, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-language:before { - content: ""; -} - -/* line 446, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fax:before { - content: ""; -} - -/* line 447, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-building:before { - content: ""; -} - -/* line 448, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-child:before { - content: ""; -} - -/* line 449, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-paw:before { - content: ""; -} - -/* line 450, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-spoon:before { - content: ""; -} - -/* line 451, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cube:before { - content: ""; -} - -/* line 452, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cubes:before { - content: ""; -} - -/* line 453, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-behance:before { - content: ""; -} - -/* line 454, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-behance-square:before { - content: ""; -} - -/* line 455, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-steam:before { - content: ""; -} - -/* line 456, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-steam-square:before { - content: ""; -} - -/* line 457, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-recycle:before { - content: ""; -} - -/* line 458, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-automobile:before, -.fa-car:before { - content: ""; -} - -/* line 460, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cab:before, -.fa-taxi:before { - content: ""; -} - -/* line 462, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tree:before { - content: ""; -} - -/* line 463, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-spotify:before { - content: ""; -} - -/* line 464, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-deviantart:before { - content: ""; -} - -/* line 465, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-soundcloud:before { - content: ""; -} - -/* line 466, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-database:before { - content: ""; -} - -/* line 467, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-pdf-o:before { - content: ""; -} - -/* line 468, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-word-o:before { - content: ""; -} - -/* line 469, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-excel-o:before { - content: ""; -} - -/* line 470, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-powerpoint-o:before { - content: ""; -} - -/* line 471, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: ""; -} - -/* line 474, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: ""; -} - -/* line 476, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: ""; -} - -/* line 478, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: ""; -} - -/* line 480, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-file-code-o:before { - content: ""; -} - -/* line 481, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-vine:before { - content: ""; -} - -/* line 482, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-codepen:before { - content: ""; -} - -/* line 483, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-jsfiddle:before { - content: ""; -} - -/* line 484, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: ""; -} - -/* line 489, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-circle-o-notch:before { - content: ""; -} - -/* line 490, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: ""; -} - -/* line 493, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ge:before, -.fa-empire:before { - content: ""; -} - -/* line 495, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-git-square:before { - content: ""; -} - -/* line 496, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-git:before { - content: ""; -} - -/* line 497, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: ""; -} - -/* line 500, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tencent-weibo:before { - content: ""; -} - -/* line 501, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-qq:before { - content: ""; -} - -/* line 502, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wechat:before, -.fa-weixin:before { - content: ""; -} - -/* line 504, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-send:before, -.fa-paper-plane:before { - content: ""; -} - -/* line 506, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-send-o:before, -.fa-paper-plane-o:before { - content: ""; -} - -/* line 508, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-history:before { - content: ""; -} - -/* line 509, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-circle-thin:before { - content: ""; -} - -/* line 510, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-header:before { - content: ""; -} - -/* line 511, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-paragraph:before { - content: ""; -} - -/* line 512, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sliders:before { - content: ""; -} - -/* line 513, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-share-alt:before { - content: ""; -} - -/* line 514, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-share-alt-square:before { - content: ""; -} - -/* line 515, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bomb:before { - content: ""; -} - -/* line 516, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: ""; -} - -/* line 518, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tty:before { - content: ""; -} - -/* line 519, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-binoculars:before { - content: ""; -} - -/* line 520, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-plug:before { - content: ""; -} - -/* line 521, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-slideshare:before { - content: ""; -} - -/* line 522, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-twitch:before { - content: ""; -} - -/* line 523, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-yelp:before { - content: ""; -} - -/* line 524, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-newspaper-o:before { - content: ""; -} - -/* line 525, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wifi:before { - content: ""; -} - -/* line 526, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calculator:before { - content: ""; -} - -/* line 527, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-paypal:before { - content: ""; -} - -/* line 528, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-google-wallet:before { - content: ""; -} - -/* line 529, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-visa:before { - content: ""; -} - -/* line 530, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-mastercard:before { - content: ""; -} - -/* line 531, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-discover:before { - content: ""; -} - -/* line 532, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-amex:before { - content: ""; -} - -/* line 533, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-paypal:before { - content: ""; -} - -/* line 534, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-stripe:before { - content: ""; -} - -/* line 535, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bell-slash:before { - content: ""; -} - -/* line 536, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bell-slash-o:before { - content: ""; -} - -/* line 537, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-trash:before { - content: ""; -} - -/* line 538, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-copyright:before { - content: ""; -} - -/* line 539, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-at:before { - content: ""; -} - -/* line 540, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-eyedropper:before { - content: ""; -} - -/* line 541, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-paint-brush:before { - content: ""; -} - -/* line 542, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-birthday-cake:before { - content: ""; -} - -/* line 543, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-area-chart:before { - content: ""; -} - -/* line 544, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pie-chart:before { - content: ""; -} - -/* line 545, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-line-chart:before { - content: ""; -} - -/* line 546, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-lastfm:before { - content: ""; -} - -/* line 547, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-lastfm-square:before { - content: ""; -} - -/* line 548, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-toggle-off:before { - content: ""; -} - -/* line 549, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-toggle-on:before { - content: ""; -} - -/* line 550, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bicycle:before { - content: ""; -} - -/* line 551, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bus:before { - content: ""; -} - -/* line 552, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ioxhost:before { - content: ""; -} - -/* line 553, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-angellist:before { - content: ""; -} - -/* line 554, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc:before { - content: ""; -} - -/* line 555, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: ""; -} - -/* line 558, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-meanpath:before { - content: ""; -} - -/* line 559, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-buysellads:before { - content: ""; -} - -/* line 560, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-connectdevelop:before { - content: ""; -} - -/* line 561, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-dashcube:before { - content: ""; -} - -/* line 562, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-forumbee:before { - content: ""; -} - -/* line 563, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-leanpub:before { - content: ""; -} - -/* line 564, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sellsy:before { - content: ""; -} - -/* line 565, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shirtsinbulk:before { - content: ""; -} - -/* line 566, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-simplybuilt:before { - content: ""; -} - -/* line 567, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-skyatlas:before { - content: ""; -} - -/* line 568, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cart-plus:before { - content: ""; -} - -/* line 569, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cart-arrow-down:before { - content: ""; -} - -/* line 570, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-diamond:before { - content: ""; -} - -/* line 571, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ship:before { - content: ""; -} - -/* line 572, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-secret:before { - content: ""; -} - -/* line 573, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-motorcycle:before { - content: ""; -} - -/* line 574, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-street-view:before { - content: ""; -} - -/* line 575, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-heartbeat:before { - content: ""; -} - -/* line 576, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-venus:before { - content: ""; -} - -/* line 577, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mars:before { - content: ""; -} - -/* line 578, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mercury:before { - content: ""; -} - -/* line 579, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-intersex:before, -.fa-transgender:before { - content: ""; -} - -/* line 581, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-transgender-alt:before { - content: ""; -} - -/* line 582, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-venus-double:before { - content: ""; -} - -/* line 583, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mars-double:before { - content: ""; -} - -/* line 584, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-venus-mars:before { - content: ""; -} - -/* line 585, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mars-stroke:before { - content: ""; -} - -/* line 586, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mars-stroke-v:before { - content: ""; -} - -/* line 587, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mars-stroke-h:before { - content: ""; -} - -/* line 588, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-neuter:before { - content: ""; -} - -/* line 589, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-genderless:before { - content: ""; -} - -/* line 590, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-facebook-official:before { - content: ""; -} - -/* line 591, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pinterest-p:before { - content: ""; -} - -/* line 592, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-whatsapp:before { - content: ""; -} - -/* line 593, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-server:before { - content: ""; -} - -/* line 594, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-plus:before { - content: ""; -} - -/* line 595, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-times:before { - content: ""; -} - -/* line 596, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hotel:before, -.fa-bed:before { - content: ""; -} - -/* line 598, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-viacoin:before { - content: ""; -} - -/* line 599, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-train:before { - content: ""; -} - -/* line 600, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-subway:before { - content: ""; -} - -/* line 601, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-medium:before { - content: ""; -} - -/* line 602, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-yc:before, -.fa-y-combinator:before { - content: ""; -} - -/* line 604, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-optin-monster:before { - content: ""; -} - -/* line 605, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-opencart:before { - content: ""; -} - -/* line 606, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-expeditedssl:before { - content: ""; -} - -/* line 607, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: ""; -} - -/* line 610, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: ""; -} - -/* line 612, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-battery-2:before, -.fa-battery-half:before { - content: ""; -} - -/* line 614, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-battery-1:before, -.fa-battery-quarter:before { - content: ""; -} - -/* line 616, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-battery-0:before, -.fa-battery-empty:before { - content: ""; -} - -/* line 618, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mouse-pointer:before { - content: ""; -} - -/* line 619, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-i-cursor:before { - content: ""; -} - -/* line 620, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-object-group:before { - content: ""; -} - -/* line 621, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-object-ungroup:before { - content: ""; -} - -/* line 622, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sticky-note:before { - content: ""; -} - -/* line 623, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-sticky-note-o:before { - content: ""; -} - -/* line 624, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-jcb:before { - content: ""; -} - -/* line 625, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-cc-diners-club:before { - content: ""; -} - -/* line 626, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-clone:before { - content: ""; -} - -/* line 627, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-balance-scale:before { - content: ""; -} - -/* line 628, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hourglass-o:before { - content: ""; -} - -/* line 629, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: ""; -} - -/* line 631, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: ""; -} - -/* line 633, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: ""; -} - -/* line 635, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hourglass:before { - content: ""; -} - -/* line 636, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: ""; -} - -/* line 638, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: ""; -} - -/* line 640, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-scissors-o:before { - content: ""; -} - -/* line 641, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-lizard-o:before { - content: ""; -} - -/* line 642, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-spock-o:before { - content: ""; -} - -/* line 643, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-pointer-o:before { - content: ""; -} - -/* line 644, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hand-peace-o:before { - content: ""; -} - -/* line 645, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-trademark:before { - content: ""; -} - -/* line 646, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-registered:before { - content: ""; -} - -/* line 647, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-creative-commons:before { - content: ""; -} - -/* line 648, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gg:before { - content: ""; -} - -/* line 649, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gg-circle:before { - content: ""; -} - -/* line 650, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tripadvisor:before { - content: ""; -} - -/* line 651, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-odnoklassniki:before { - content: ""; -} - -/* line 652, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-odnoklassniki-square:before { - content: ""; -} - -/* line 653, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-get-pocket:before { - content: ""; -} - -/* line 654, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wikipedia-w:before { - content: ""; -} - -/* line 655, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-safari:before { - content: ""; -} - -/* line 656, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-chrome:before { - content: ""; -} - -/* line 657, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-firefox:before { - content: ""; -} - -/* line 658, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-opera:before { - content: ""; -} - -/* line 659, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-internet-explorer:before { - content: ""; -} - -/* line 660, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-tv:before, -.fa-television:before { - content: ""; -} - -/* line 662, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-contao:before { - content: ""; -} - -/* line 663, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-500px:before { - content: ""; -} - -/* line 664, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-amazon:before { - content: ""; -} - -/* line 665, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calendar-plus-o:before { - content: ""; -} - -/* line 666, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calendar-minus-o:before { - content: ""; -} - -/* line 667, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calendar-times-o:before { - content: ""; -} - -/* line 668, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-calendar-check-o:before { - content: ""; -} - -/* line 669, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-industry:before { - content: ""; -} - -/* line 670, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-map-pin:before { - content: ""; -} - -/* line 671, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-map-signs:before { - content: ""; -} - -/* line 672, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-map-o:before { - content: ""; -} - -/* line 673, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-map:before { - content: ""; -} - -/* line 674, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-commenting:before { - content: ""; -} - -/* line 675, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-commenting-o:before { - content: ""; -} - -/* line 676, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-houzz:before { - content: ""; -} - -/* line 677, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-vimeo:before { - content: ""; -} - -/* line 678, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-black-tie:before { - content: ""; -} - -/* line 679, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fonticons:before { - content: ""; -} - -/* line 680, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-reddit-alien:before { - content: ""; -} - -/* line 681, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-edge:before { - content: ""; -} - -/* line 682, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-credit-card-alt:before { - content: ""; -} - -/* line 683, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-codiepie:before { - content: ""; -} - -/* line 684, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-modx:before { - content: ""; -} - -/* line 685, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fort-awesome:before { - content: ""; -} - -/* line 686, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-usb:before { - content: ""; -} - -/* line 687, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-product-hunt:before { - content: ""; -} - -/* line 688, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-mixcloud:before { - content: ""; -} - -/* line 689, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-scribd:before { - content: ""; -} - -/* line 690, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pause-circle:before { - content: ""; -} - -/* line 691, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pause-circle-o:before { - content: ""; -} - -/* line 692, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stop-circle:before { - content: ""; -} - -/* line 693, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-stop-circle-o:before { - content: ""; -} - -/* line 694, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shopping-bag:before { - content: ""; -} - -/* line 695, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shopping-basket:before { - content: ""; -} - -/* line 696, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-hashtag:before { - content: ""; -} - -/* line 697, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bluetooth:before { - content: ""; -} - -/* line 698, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bluetooth-b:before { - content: ""; -} - -/* line 699, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-percent:before { - content: ""; -} - -/* line 700, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-gitlab:before { - content: ""; -} - -/* line 701, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wpbeginner:before { - content: ""; -} - -/* line 702, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wpforms:before { - content: ""; -} - -/* line 703, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-envira:before { - content: ""; -} - -/* line 704, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-universal-access:before { - content: ""; -} - -/* line 705, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wheelchair-alt:before { - content: ""; -} - -/* line 706, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-question-circle-o:before { - content: ""; -} - -/* line 707, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-blind:before { - content: ""; -} - -/* line 708, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-audio-description:before { - content: ""; -} - -/* line 709, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-volume-control-phone:before { - content: ""; -} - -/* line 710, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-braille:before { - content: ""; -} - -/* line 711, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-assistive-listening-systems:before { - content: ""; -} - -/* line 712, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: ""; -} - -/* line 714, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: ""; -} - -/* line 717, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-glide:before { - content: ""; -} - -/* line 718, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-glide-g:before { - content: ""; -} - -/* line 719, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-signing:before, -.fa-sign-language:before { - content: ""; -} - -/* line 721, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-low-vision:before { - content: ""; -} - -/* line 722, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-viadeo:before { - content: ""; -} - -/* line 723, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-viadeo-square:before { - content: ""; -} - -/* line 724, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-snapchat:before { - content: ""; -} - -/* line 725, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-snapchat-ghost:before { - content: ""; -} - -/* line 726, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-snapchat-square:before { - content: ""; -} - -/* line 727, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-pied-piper:before { - content: ""; -} - -/* line 728, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-first-order:before { - content: ""; -} - -/* line 729, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-yoast:before { - content: ""; -} - -/* line 730, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-themeisle:before { - content: ""; -} - -/* line 731, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: ""; -} - -/* line 733, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-fa:before, -.fa-font-awesome:before { - content: ""; -} - -/* line 735, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-handshake-o:before { - content: ""; -} - -/* line 736, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-envelope-open:before { - content: ""; -} - -/* line 737, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-envelope-open-o:before { - content: ""; -} - -/* line 738, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-linode:before { - content: ""; -} - -/* line 739, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-address-book:before { - content: ""; -} - -/* line 740, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-address-book-o:before { - content: ""; -} - -/* line 741, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-vcard:before, -.fa-address-card:before { - content: ""; -} - -/* line 743, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-vcard-o:before, -.fa-address-card-o:before { - content: ""; -} - -/* line 745, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-circle:before { - content: ""; -} - -/* line 746, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-circle-o:before { - content: ""; -} - -/* line 747, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-user-o:before { - content: ""; -} - -/* line 748, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-id-badge:before { - content: ""; -} - -/* line 749, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-drivers-license:before, -.fa-id-card:before { - content: ""; -} - -/* line 751, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: ""; -} - -/* line 753, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-quora:before { - content: ""; -} - -/* line 754, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-free-code-camp:before { - content: ""; -} - -/* line 755, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-telegram:before { - content: ""; -} - -/* line 756, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: ""; -} - -/* line 759, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: ""; -} - -/* line 761, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: ""; -} - -/* line 763, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: ""; -} - -/* line 765, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: ""; -} - -/* line 767, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-shower:before { - content: ""; -} - -/* line 768, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: ""; -} - -/* line 771, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-podcast:before { - content: ""; -} - -/* line 772, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-window-maximize:before { - content: ""; -} - -/* line 773, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-window-minimize:before { - content: ""; -} - -/* line 774, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-window-restore:before { - content: ""; -} - -/* line 775, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-times-rectangle:before, -.fa-window-close:before { - content: ""; -} - -/* line 777, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: ""; -} - -/* line 779, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-bandcamp:before { - content: ""; -} - -/* line 780, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-grav:before { - content: ""; -} - -/* line 781, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-etsy:before { - content: ""; -} - -/* line 782, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-imdb:before { - content: ""; -} - -/* line 783, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-ravelry:before { - content: ""; -} - -/* line 784, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-eercast:before { - content: ""; -} - -/* line 785, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-microchip:before { - content: ""; -} - -/* line 786, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-snowflake-o:before { - content: ""; -} - -/* line 787, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-superpowers:before { - content: ""; -} - -/* line 788, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-wpexplorer:before { - content: ""; -} - -/* line 789, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_icons.scss */ -.fa-meetup:before { - content: ""; -} - -/* line 4, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_screen-reader.scss */ -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} - -/* line 51, ../../../vendor/bundle/ruby/2.3.0/bundler/gems/font-awesome-sass-b3974fe0632d/assets/stylesheets/font-awesome/_mixins.scss */ -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} - /* line 1, ../../scss/_base.scss */ body { font-family: Roboto, Verdana; @@ -3868,8 +113,8 @@ body { /* line 16, ../../scss/_base.scss */ a { - transition: background 0.3s, color 0.3s; - color: #0275d8; + transition: background 0.15s, color 0.15s, border-color 0.15s; + color: #025aa5; font-size: inherit; text-decoration: none; } @@ -3886,90 +131,63 @@ b { /******************** * Layout structure * ********************/ -/* line 34, ../../scss/_base.scss */ +/* line 32, ../../scss/_base.scss */ .wrapper { - max-width: 700px; + max-width: 500px; margin: 0 auto; background: #fff; - box-shadow: 0 0 10px #eceeef; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); } @media (min-height: 400px) and (min-width: 576px) { - /* line 44, ../../scss/_base.scss */ + /* line 42, ../../scss/_base.scss */ html, body { height: 100%; } } @media (min-height: 500px) and (min-width: 576px) { - /* line 50, ../../scss/_base.scss */ + /* line 48, ../../scss/_base.scss */ .wrapper { position: relative; top: -5%; } } -/* line 56, ../../scss/_base.scss */ +/* line 54, ../../scss/_base.scss */ .content-wrapper { display: flex; flex-flow: row wrap; align-items: center; /* Blocks */ - /* Divider */ } -/* line 63, ../../scss/_base.scss */ +/* line 61, ../../scss/_base.scss */ .content-wrapper > section { flex: 1 100%; padding: 15px; } -@media (min-width: 576px) { - /* line 69, ../../scss/_base.scss */ +@media (min-width: 500px) { + /* line 67, ../../scss/_base.scss */ .content-wrapper > section { flex: 1 1 auto; - width: 349px; + width: 250px; } } -/* line 77, ../../scss/_base.scss */ -.content-wrapper > .divider { - display: none; -} -/* line 80, ../../scss/_base.scss */ -.content-wrapper > .divider::before { - display: block; - content: " "; - background: #eceeef; - height: 2px; - width: 2px; -} -@media (max-width: 575px) { - /* line 90, ../../scss/_base.scss */ - .content-wrapper > .divider { - flex: 100%; - padding: 0 15px; - } - /* line 95, ../../scss/_base.scss */ - .content-wrapper > .divider::before { - width: 100%; +@media (min-width: 120px) { + /* line 74, ../../scss/_base.scss */ + .content-wrapper > section { + flex: 1 1 auto; + width: 350px; } } -@media (min-width: 576px) { - /* line 99, ../../scss/_base.scss */ - .content-wrapper > .divider { - align-self: stretch; - padding: 15px 0; - } - /* line 104, ../../scss/_base.scss */ - .content-wrapper > .divider::before { - height: 100%; - } -} -/* line 108, ../../scss/_base.scss */ -.content-wrapper > section + .divider { - display: block; + +/* line 82, ../../scss/_base.scss */ +#providers { + width: 150px; } /********** * Header * **********/ -/* line 121, ../../scss/_base.scss */ +/* line 94, ../../scss/_base.scss */ header { display: flex; align-items: stretch; @@ -3985,20 +203,7 @@ header::after { content: ""; clear: both; } -/* line 135, ../../scss/_base.scss */ -header .history-back { - transition: background 0.3s, color 0.3s; - width: 55px; - cursor: pointer; - background: transparent; - color: #fff; - font-size: 20px; -} -/* line 10, ../../scss/_mixins.scss */ -header .history-back:focus, header .history-back:hover { - background: #d43f3a; -} -/* line 152, ../../scss/_base.scss */ +/* line 108, ../../scss/_base.scss */ header a { color: #fff !important; } @@ -4007,51 +212,49 @@ header a:focus, header a:hover { background: #d43f3a; text-decoration: none; } -/* line 161, ../../scss/_base.scss */ +/* line 117, ../../scss/_base.scss */ header .right { - border-left: 1px solid #de6764; display: flex; flex-flow: column; align-items: stretch; justify-content: space-around; + flex: 0 0 auto; + border-left: 1px solid #de6764; font-size: 14px; text-align: center; } -/* line 172, ../../scss/_base.scss */ +/* line 130, ../../scss/_base.scss */ header .right > * { flex: 0 0 auto; - line-height: 28px; } -/* line 177, ../../scss/_base.scss */ +/* line 133, ../../scss/_base.scss */ header .right > * > * { - display: inline-block; - height: 100%; - width: 100%; - padding: 0 15px; + display: block; + padding: 5px 10px; } -/* line 184, ../../scss/_base.scss */ +/* line 139, ../../scss/_base.scss */ header .right #connect-status { font-weight: normal; + font-size: 12px; } -/* line 187, ../../scss/_base.scss */ +/* line 143, ../../scss/_base.scss */ header .right #connect-status .fa { - margin-right: 10px; + margin-right: 5px; } -/* line 193, ../../scss/_base.scss */ +/* line 149, ../../scss/_base.scss */ header h1 { - flex: 1 0 auto; - padding: 15px 35px; - line-height: 25px; + flex: 1 1 auto; + padding: 15px 25px; } /************ * Messages * ************/ -/* line 207, ../../scss/_base.scss */ +/* line 162, ../../scss/_base.scss */ .messages-container { padding: 0 15px; } -/* line 210, ../../scss/_base.scss */ +/* line 165, ../../scss/_base.scss */ .messages-container::after { display: block; content: ""; @@ -4059,30 +262,30 @@ header h1 { height: 2px; } -/* line 218, ../../scss/_base.scss */ +/* line 173, ../../scss/_base.scss */ .messages-list { padding: 10px 0; } -/* line 228, ../../scss/_base.scss */ +/* line 183, ../../scss/_base.scss */ .message { padding: 5px; font-size: 14px; color: #292b2c; } -/* line 223, ../../scss/_base.scss */ +/* line 178, ../../scss/_base.scss */ .message.info { color: #28a1c5; } -/* line 223, ../../scss/_base.scss */ +/* line 178, ../../scss/_base.scss */ .message.success { - color: #3d8b3d; + color: #2d672d; } -/* line 223, ../../scss/_base.scss */ +/* line 178, ../../scss/_base.scss */ .message.warning { - color: #df8a13; + color: #b06d0f; } -/* line 223, ../../scss/_base.scss */ +/* line 178, ../../scss/_base.scss */ .message.error { color: #b52b27; } @@ -4090,156 +293,163 @@ header h1 { /*********** * Content * ***********/ -/* line 247, ../../scss/_base.scss */ +/* line 202, ../../scss/_base.scss */ section > * + * { margin-top: 15px; } /* Methods list */ -/* line 257, ../../scss/_base.scss */ +/* line 210, ../../scss/_base.scss */ .method-list { display: flex; flex-flow: row wrap; justify-content: space-between; - margin: -7.5px; } - -/* line 264, ../../scss/_base.scss */ -.method-wrapper { - flex: 1 50%; - padding: 7.5px; +/* line 215, ../../scss/_base.scss */ +.method-list > .method-wrapper { + flex: 1 100%; + padding: 2px 0; } -/* line 268, ../../scss/_base.scss */ -.method-wrapper a { - transition: background 0.3s, color 0.3s; +/* line 219, ../../scss/_base.scss */ +.method-list > .method-wrapper a { + transition: background 0.15s, color 0.15s, border-color 0.15s; + display: block; + width: 100%; min-height: 30px; + line-height: initial; border: 0; - padding: 10px 15px; - font-family: "Roboto Slab"; + border-radius: 3px; + padding: 7px 15px; font-size: 18px; text-align: center; + border-radius: 0; + border-left: 5px solid #025aa5; + background: #eceeef; color: #000; - display: block; + font-size: 16px; + text-align: left; } /* line 10, ../../scss/_mixins.scss */ -.method-wrapper a:focus, .method-wrapper a:hover { +.method-list > .method-wrapper a:focus, .method-list > .method-wrapper a:hover { text-decoration: none; cursor: pointer; } /* line 10, ../../scss/_mixins.scss */ -.method-wrapper a:focus, .method-wrapper a:hover { +.method-list > .method-wrapper a:focus, .method-list > .method-wrapper a:hover { + background: #a8d6fe; +} + +/* Connected accounts list */ +/* line 243, ../../scss/_base.scss */ +.connections-providers-list > * + * { + margin-top: 2px; +} +/* line 247, ../../scss/_base.scss */ +.connections-providers-list > * > .heading { + width: 100%; + padding: 10px; + border-left: 5px solid #025aa5; + background: #eceeef; +} +/* line 18, ../../scss/_mixins.scss */ +.connections-providers-list > * > .heading::after { + display: block; + content: ""; + clear: both; +} +/* line 256, ../../scss/_base.scss */ +.connections-providers-list > * > .heading .connect { + transition: background 0.15s, color 0.15s, border-color 0.15s; + display: block; + width: 100%; + min-height: 30px; + line-height: initial; + border: 0; + border-radius: 3px; + padding: 7px 15px; + font-size: 18px; + text-align: center; + background: #025aa5; + color: #fff; + min-height: auto; + padding: 4px 7px; + font-size: 12px; + float: right; + width: auto; +} +/* line 10, ../../scss/_mixins.scss */ +.connections-providers-list > * > .heading .connect:focus, .connections-providers-list > * > .heading .connect:hover { + text-decoration: none; + cursor: pointer; +} +/* line 10, ../../scss/_mixins.scss */ +.connections-providers-list > * > .heading .connect:focus, .connections-providers-list > * > .heading .connect:hover { background: #014c8c; color: #fff; } -/* Connected accounts list */ -/* line 281, ../../scss/_base.scss */ -.provider-list > li:not(:first-child) { - margin-top: 5px; +/* line 268, ../../scss/_base.scss */ +.connections-list { + border-left: 5px solid #f7f7f9; } -/* line 285, ../../scss/_base.scss */ -.provider-list > li > .heading { - height: 45px; - width: 100%; - background-color: #eceeef; -} -/* line 18, ../../scss/_mixins.scss */ -.provider-list > li > .heading::after { - display: block; - content: ""; - clear: both; -} -/* line 293, ../../scss/_base.scss */ -.provider-list > li > .heading > * { - float: left; - height: 100%; -} -/* line 298, ../../scss/_base.scss */ -.provider-list > li > .heading > .connect, .provider-list > li > .heading > .brand-icon { - text-align: center; -} -/* line 302, ../../scss/_base.scss */ -.provider-list > li > .heading > .connect a { - transition: background 0.3s, color 0.3s; - display: inline-block; - background-color: #5cb85c; - color: #fff; - height: 100%; - line-height: 100%; - width: 45px; - padding: 12px; - font-size: 20px; - text-align: center; -} -/* line 10, ../../scss/_mixins.scss */ -.provider-list > li > .heading > .connect a:focus, .provider-list > li > .heading > .connect a:hover { - background-color: #4cae4c; - text-decoration: none; -} -/* line 325, ../../scss/_base.scss */ -.provider-list > li > .heading > .brand-icon { +/* line 271, ../../scss/_base.scss */ +.connections-list > * { padding: 10px; - width: 45px; - color: #0275d8; + font-size: 14px; } -/* line 331, ../../scss/_base.scss */ -.provider-list > li > .heading > .name { - padding: 10px; - font-weight: bold; +/* line 275, ../../scss/_base.scss */ +.connections-list > * + * { + border-top: 1px dotted #eceeef; } -/* line 337, ../../scss/_base.scss */ -.provider-list > li > .connected-list { - padding: 0 15px; -} -/* line 341, ../../scss/_base.scss */ -.provider-list > li > .connected-list > li { - height: 30px; -} -/* line 18, ../../scss/_mixins.scss */ -.provider-list > li > .connected-list > li::after { - display: block; - content: ""; - clear: both; -} -/* line 346, ../../scss/_base.scss */ -.provider-list > li > .connected-list > li > * { - float: left; - display: block; - height: 100%; -} -/* line 352, ../../scss/_base.scss */ -.provider-list > li > .connected-list > li > .connected-delete [type=submit] { - background-color: #d9534f; - color: #fff; - min-height: 30px; - width: 30px; -} -/* line 10, ../../scss/_mixins.scss */ -.provider-list > li > .connected-list > li > .connected-delete [type=submit]:focus, .provider-list > li > .connected-list > li > .connected-delete [type=submit]:hover { - background-color: #d43f3a; -} -/* line 363, ../../scss/_base.scss */ -.provider-list > li > .connected-list > li > .connected-label { - padding: 7px 15px; - width: calc(100% - 30px); - border-bottom: 1px solid #d9534f; - font-size: 12px; -} -/* line 370, ../../scss/_base.scss */ -.provider-list > li > .connected-list > li > .connected-label .fa { +/* line 279, ../../scss/_base.scss */ +.connections-list > * > .fa { margin-right: 5px; } -/* line 377, ../../scss/_base.scss */ -.provider-list form { +/* line 283, ../../scss/_base.scss */ +.connections-list > * .delete { + float: right; + margin-top: -2px; +} +/* line 287, ../../scss/_base.scss */ +.connections-list > * .delete [type=submit] { + transition: background 0.15s, color 0.15s, border-color 0.15s; + display: block; + width: 100%; + min-height: 30px; + line-height: initial; + border: 0; + border-radius: 3px; + padding: 7px 15px; + font-size: 18px; + text-align: center; + background: #d9534f; + color: #fff; + min-height: auto; + padding: 4px 7px; + font-size: 12px; + opacity: .8; +} +/* line 10, ../../scss/_mixins.scss */ +.connections-list > * .delete [type=submit]:focus, .connections-list > * .delete [type=submit]:hover { + text-decoration: none; + cursor: pointer; +} +/* line 10, ../../scss/_mixins.scss */ +.connections-list > * .delete [type=submit]:focus, .connections-list > * .delete [type=submit]:hover { + background: #b52b27; + color: #fff; +} +/* line 296, ../../scss/_base.scss */ +.connections-list form { display: inline-block; } /* E-mail adresses list */ -/* line 386, ../../scss/_base.scss */ +/* line 305, ../../scss/_base.scss */ .emailaddress-list .emailaddress { border-bottom: 1px dotted #464a4c; } -/* line 390, ../../scss/_base.scss */ +/* line 309, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary { height: 45px; } @@ -4249,13 +459,13 @@ section > * + * { content: ""; clear: both; } -/* line 395, ../../scss/_base.scss */ +/* line 314, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary > * { float: left; height: 100%; padding: 12px; } -/* line 401, ../../scss/_base.scss */ +/* line 320, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary > .primary, .emailaddress-list .emailaddress .summary > .verified-status { float: right; width: 45px; @@ -4263,41 +473,25 @@ section > * + * { text-align: center; font-size: 20px; } -/* line 409, ../../scss/_base.scss */ +/* line 328, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary > .email { padding: 12px; font-weight: bold; } -/* line 414, ../../scss/_base.scss */ +/* line 333, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary > .primary { - color: #014c8c; + color: #025aa5; } -/* line 418, ../../scss/_base.scss */ +/* line 337, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary > .verified { - color: #5cb85c; + color: #449d44; } -/* line 422, ../../scss/_base.scss */ +/* line 341, ../../scss/_base.scss */ .emailaddress-list .emailaddress .summary > .unverified { - color: #f0ad4e; -} -/* line 427, ../../scss/_base.scss */ -.emailaddress-list .emailaddress .actions { - margin-bottom: 10px; -} -/* line 18, ../../scss/_mixins.scss */ -.emailaddress-list .emailaddress .actions::after { - display: block; - content: ""; - clear: both; -} -/* line 432, ../../scss/_base.scss */ -.emailaddress-list .emailaddress .actions > * { - float: right; - margin-right: 10px; - font-size: 12px; + color: #ec971f; } -/* line 444, ../../scss/_base.scss */ +/* line 350, ../../scss/_base.scss */ .actions { margin-bottom: 10px; } @@ -4307,7 +501,7 @@ section > * + * { content: ""; clear: both; } -/* line 449, ../../scss/_base.scss */ +/* line 355, ../../scss/_base.scss */ .actions > * { float: right; margin-right: 10px; @@ -4317,7 +511,7 @@ section > * + * { /********* * Forms * *********/ -/* line 481, ../../scss/_base.scss */ +/* line 387, ../../scss/_base.scss */ .input-wrapper { position: relative; display: block; @@ -4330,7 +524,7 @@ section > * + * { content: ""; clear: both; } -/* line 489, ../../scss/_base.scss */ +/* line 395, ../../scss/_base.scss */ .input-wrapper label { padding-left: 0; width: 100%; @@ -4346,7 +540,7 @@ section > * + * { text-overflow: ellipsis; white-space: nowrap; } -/* line 504, ../../scss/_base.scss */ +/* line 410, ../../scss/_base.scss */ .input-wrapper:not(.input-skip) label { position: absolute; bottom: 100%; @@ -4356,7 +550,7 @@ section > * + * { transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); transform-origin: left top; } -/* line 516, ../../scss/_base.scss */ +/* line 422, ../../scss/_base.scss */ .input-wrapper input.field:not([type=checkbox]) { height: 30px; width: 100%; @@ -4366,74 +560,110 @@ section > * + * { border-bottom: 1px solid rgba(0, 0, 0, 0.12); font-size: 16px; } -/* line 530, ../../scss/_base.scss */ +/* line 436, ../../scss/_base.scss */ .input-wrapper input[type="checkbox"] { vertical-align: sub; width: 20px; height: 20px; } -/* line 550, ../../scss/_base.scss */ +/* line 456, ../../scss/_base.scss */ .input-wrapper:not(.input-skip).input-focused label, .input-wrapper:not(.input-skip).input-has-value label { transform: translate3d(0, 6.5px, 0) scale(0.75); } -/* line 555, ../../scss/_base.scss */ +/* line 461, ../../scss/_base.scss */ .input-wrapper:not(.input-skip).input-focused label { color: inherit; } -/* line 537, ../../scss/_base.scss */ +/* line 443, ../../scss/_base.scss */ .input-wrapper.input-has-value { - color: #5cb85c; + color: #449d44; } -/* line 541, ../../scss/_base.scss */ +/* line 447, ../../scss/_base.scss */ .input-wrapper.input-has-value input.field { padding-bottom: 0px; border-width: 2px; - border-color: #5cb85c; + border-color: #449d44; } -/* line 537, ../../scss/_base.scss */ +/* line 443, ../../scss/_base.scss */ .input-wrapper.input-error { color: #d9534f; } -/* line 541, ../../scss/_base.scss */ +/* line 447, ../../scss/_base.scss */ .input-wrapper.input-error input.field { padding-bottom: 0px; border-width: 2px; border-color: #d9534f; } -/* line 537, ../../scss/_base.scss */ +/* line 443, ../../scss/_base.scss */ .input-wrapper.input-focused { - color: #0275d8; + color: #025aa5; } -/* line 541, ../../scss/_base.scss */ +/* line 447, ../../scss/_base.scss */ .input-wrapper.input-focused input.field { padding-bottom: 0px; border-width: 2px; - border-color: #0275d8; + border-color: #025aa5; } -/* line 564, ../../scss/_base.scss */ +/* line 470, ../../scss/_base.scss */ .input-wrapper .infos-spacer { float: right; min-height: 10px; min-width: 1px; } -/* line 572, ../../scss/_base.scss */ +/* line 478, ../../scss/_base.scss */ .input-wrapper .messages > * { padding-top: 5px; font-size: 12px; } -/* line 580, ../../scss/_base.scss */ +/* line 486, ../../scss/_base.scss */ +.widget-checkbox { + display: inline-flex; +} +/* line 489, ../../scss/_base.scss */ +.widget-checkbox > input[type="checkbox"] { + display: none; +} +/* line 493, ../../scss/_base.scss */ +.widget-checkbox > button { + transition: background 0.15s, color 0.15s, border-color 0.15s; + flex: 0 1 auto; + display: inline-block; + padding: 5px 10px; + background: white; + color: #636c72; +} +/* line 502, ../../scss/_base.scss */ +.widget-checkbox > button.choice-yes { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +/* line 507, ../../scss/_base.scss */ +.widget-checkbox > button.choice-no { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +/* line 512, ../../scss/_base.scss */ +.widget-checkbox > button.focus { + background: #025aa5; + color: white; +} + +/* line 518, ../../scss/_base.scss */ [type=submit]:not(.link) { - transition: background 0.3s, color 0.3s; + transition: background 0.15s, color 0.15s, border-color 0.15s; + display: block; + width: 100%; min-height: 30px; + line-height: initial; border: 0; - padding: 10px 15px; - font-family: "Roboto Slab"; + border-radius: 3px; + padding: 7px 15px; font-size: 18px; text-align: center; - background-color: #5cb85c; + background: #449d44; color: #fff; - float: right; + border-radius: 3px; } /* line 10, ../../scss/_mixins.scss */ [type=submit]:not(.link):focus, [type=submit]:not(.link):hover { @@ -4442,18 +672,17 @@ section > * + * { } /* line 10, ../../scss/_mixins.scss */ [type=submit]:not(.link):focus, [type=submit]:not(.link):hover { - background: #3d8b3d; + background: #2d672d; color: #fff; } -/* line 586, ../../scss/_base.scss */ +/* line 524, ../../scss/_base.scss */ [type=submit].link { - transition: background 0.3s, color 0.3s; - color: #0275d8; + transition: background 0.15s, color 0.15s, border-color 0.15s; + color: #025aa5; font-size: inherit; text-decoration: none; background: transparent; - padding: 0; } /* line 10, ../../scss/_mixins.scss */ [type=submit].link:focus, [type=submit].link:hover { @@ -4464,24 +693,32 @@ section > * + * { cursor: pointer; } -/* line 596, ../../scss/_base.scss */ +/* line 533, ../../scss/_base.scss */ .form-inline { display: flex; - flex-flow: row nowrap; align-items: center; } -/* line 604, ../../scss/_base.scss */ +/* line 537, ../../scss/_base.scss */ +.form-inline > .input-wrapper { + flex: 1 0 auto; +} +/* line 541, ../../scss/_base.scss */ .form-inline [type=submit] { + margin-top: -5px; + margin-left: 8px; font-size: 14px; } -/* line 609, ../../scss/_base.scss */ +/* line 548, ../../scss/_base.scss */ .btn { - transition: background 0.3s, color 0.3s; + transition: background 0.15s, color 0.15s, border-color 0.15s; + display: block; + width: 100%; min-height: 30px; + line-height: initial; border: 0; - padding: 10px 15px; - font-family: "Roboto Slab"; + border-radius: 3px; + padding: 7px 15px; font-size: 18px; text-align: center; display: block; @@ -4492,12 +729,24 @@ section > * + * { cursor: pointer; } -/* line 614, ../../scss/_base.scss */ -.btn-primary-hov { - color: #000; +/* line 553, ../../scss/_base.scss */ +.btn-primary { + background: #025aa5; + color: #fff; } /* line 10, ../../scss/_mixins.scss */ -.btn-primary-hov:focus, .btn-primary-hov:hover { +.btn-primary:focus, .btn-primary:hover { background: #014c8c; color: #fff; } + +/* line 554, ../../scss/_base.scss */ +.btn-success { + background: #449d44; + color: #fff; +} +/* line 10, ../../scss/_mixins.scss */ +.btn-success:focus, .btn-success:hover { + background: #2d672d; + color: #fff; +} diff --git a/allauth_ens/templates/account/account_inactive.html b/allauth_ens/templates/account/account_inactive.html new file mode 100644 index 0000000..081d44b --- /dev/null +++ b/allauth_ens/templates/account/account_inactive.html @@ -0,0 +1,18 @@ +{% extends "allauth_ens/base.html" %} + +{% load i18n %} + +{% block header-title %}{% trans "Account Inactive" %}{% endblock %} +{% block title %}{% trans "Account Inactive" %}{% endblock %} + +{% block content %} + +
+

+ {% blocktrans %} + This account is inactive. + {% endblocktrans %} +

+
+ +{% endblock %} diff --git a/allauth_ens/templates/account/block-form.html b/allauth_ens/templates/account/block-form.html deleted file mode 100644 index 5104fab..0000000 --- a/allauth_ens/templates/account/block-form.html +++ /dev/null @@ -1,29 +0,0 @@ -{% load widget_tweaks %} - -{% csrf_token %} -
    - {% for field in form %} - {% with field|field_type as type %} -
  • - {% if type == "booleanfield" %} - - {% else %} - - {% render_field field class+="field" autocomplete="off" autocapitalize="none" placeholder="" %} - {% endif %} -
    -
      - {% if field.help_text %} -
    • {{ field.help_text|safe }}
    • - {% endif %} - {% for error in field.errors %} -
    • {{ error }}
    • - {% endfor %} -
    -
  • - {% endwith %} - {% endfor %} -
diff --git a/allauth_ens/templates/account/email.html b/allauth_ens/templates/account/email.html index fb7f932..b776ef3 100644 --- a/allauth_ens/templates/account/email.html +++ b/allauth_ens/templates/account/email.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "E-mail Addresses" %}{% endblock %} @@ -97,7 +97,7 @@ {% endif %}
- {% include "account/block-form.html" with form=form %} + {% include "allauth_ens/block-form.html" with form=form %}
diff --git a/allauth_ens/templates/account/email_confirm.html b/allauth_ens/templates/account/email_confirm.html index 27e490f..42d9643 100644 --- a/allauth_ens/templates/account/email_confirm.html +++ b/allauth_ens/templates/account/email_confirm.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% load account %} diff --git a/allauth_ens/templates/account/login.html b/allauth_ens/templates/account/login.html index c29633e..9c35064 100644 --- a/allauth_ens/templates/account/login.html +++ b/allauth_ens/templates/account/login.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% load account socialaccount allauth_ens %} @@ -7,25 +7,26 @@ {% block messages-extra %} {% if form.errors or user.is_authenticated %} -
-
    - {% if form.errors %} -
  • - {% blocktrans %} - Authentication failed. Please check your credentials and try again. - {% endblocktrans %} -
  • - {% endif %} - {% if user.is_authenticated %} -
  • - {% blocktrans %} - You are unauthorized to view this page. Please sign in with an account - with the required permissions. - {% endblocktrans %} -
  • - {% endif %} -
-
+
+
    + {% if form.errors %} +
  • + {% blocktrans %} + Authentication failed. Please check your credentials and try again. + {% endblocktrans %} +
  • + {% endif %} + {% if user.is_authenticated %} +
  • + {% user_display user as user_str %} + {% blocktrans %} + Your are authenticated as {{ user_str }}, but are not authorized to access + this page. Would you like to login to a different account ? + {% endblocktrans %} +
  • + {% endif %} +
+
{% endif %} {% endblock %} @@ -34,31 +35,32 @@ {% get_providers as socialaccount_providers %} {% if socialaccount_providers %} -
-

- {% blocktrans %} - Please sign in with one of your existing third party accounts, or with the - form opposite. - {% endblocktrans %} -

+
    {% include "socialaccount/snippets/provider_list.html" with process="login" %}
+ {% include "socialaccount/snippets/login_extra.html" %}
-{% include "socialaccount/snippets/login_extra.html" %} -
{% endif %} -
+
+

+ {% blocktrans %} + Please sign in with one of your existing third party accounts, or with the form below. + {% endblocktrans %} +

- {% include "account/block-form.html" with form=form %} + {% include "allauth_ens/block-form.html" with form=form %} {% if redirect_field_value %} diff --git a/allauth_ens/templates/account/logout.html b/allauth_ens/templates/account/logout.html index d6c8473..3bddde8 100644 --- a/allauth_ens/templates/account/logout.html +++ b/allauth_ens/templates/account/logout.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Sign Out" %}{% endblock %} diff --git a/allauth_ens/templates/account/password_change.html b/allauth_ens/templates/account/password_change.html index 71774f2..222a4f6 100644 --- a/allauth_ens/templates/account/password_change.html +++ b/allauth_ens/templates/account/password_change.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Change Password" %}{% endblock %} @@ -6,7 +6,7 @@ {% block messages-extra %} -{% include "account/block-messages-form-errors.html" with form_errors=form.non_field_errors %} +{% include "allauth_ens/block-messages-form-errors.html" with form_errors=form.non_field_errors %} {% endblock %} @@ -14,7 +14,7 @@
- {% include "account/block-form.html" with form=form submit_value=submit_value %} + {% include "allauth_ens/block-form.html" with form=form submit_value=submit_value %}
diff --git a/allauth_ens/templates/account/password_reset.html b/allauth_ens/templates/account/password_reset.html index 84f5ba9..3fc602e 100644 --- a/allauth_ens/templates/account/password_reset.html +++ b/allauth_ens/templates/account/password_reset.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Password Reset" %}{% endblock %} @@ -14,7 +14,7 @@ {% endblocktrans %}

- {% include "account/block-form.html" with form=form %} + {% include "allauth_ens/block-form.html" with form=form %}
diff --git a/allauth_ens/templates/account/password_reset_done.html b/allauth_ens/templates/account/password_reset_done.html index b3b6b3d..751e3a0 100644 --- a/allauth_ens/templates/account/password_reset_done.html +++ b/allauth_ens/templates/account/password_reset_done.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Password Reset" %}{% endblock %} diff --git a/allauth_ens/templates/account/password_reset_from_key.html b/allauth_ens/templates/account/password_reset_from_key.html new file mode 100644 index 0000000..34f0145 --- /dev/null +++ b/allauth_ens/templates/account/password_reset_from_key.html @@ -0,0 +1,28 @@ +{% extends "allauth_ens/base.html" %} +{% load i18n %} + +{% block title %}{% trans "Change Password" %}{% endblock %} +{% block header-title %}{% trans "Change Password" %}{% endblock %} + +{% block content %} + +
+ {% if token_fail %} +

+ {% url 'account_reset_password' as passwd_reset_url %} + {% blocktrans %} + The password reset link was invalid, possibly because it has already been used. + Please request a new password reset. + {% endblocktrans %} +

+ {% elif form %} +
+ {% include "allauth_ens/block-form.html" with form=form %} + +
+ {% else %} +

{% trans "Your password is now changed." %}

+ {% endif %} +
+ +{% endblock %} diff --git a/allauth_ens/templates/account/password_reset_from_key_done.html b/allauth_ens/templates/account/password_reset_from_key_done.html index 265b586..c3fccf0 100644 --- a/allauth_ens/templates/account/password_reset_from_key_done.html +++ b/allauth_ens/templates/account/password_reset_from_key_done.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Change Password" %}{% endblock %} diff --git a/allauth_ens/templates/account/password_set.html b/allauth_ens/templates/account/password_set.html index 6e93915..9fb43b9 100644 --- a/allauth_ens/templates/account/password_set.html +++ b/allauth_ens/templates/account/password_set.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Set Password" %}{% endblock %} @@ -6,7 +6,7 @@ {% block messages-extra %} -{% include "account/block-messages-form-errors.html" with form_errors=form.non_field_errors %} +{% include "allauth_ens/block-messages-form-errors.html" with form_errors=form.non_field_errors %} {% endblock %} @@ -19,9 +19,8 @@ third parties. {% endblocktrans %}

-
- {% include "account/block-form.html" with form=form %} + {% include "allauth_ens/block-form.html" with form=form %}
diff --git a/allauth_ens/templates/account/signup.html b/allauth_ens/templates/account/signup.html index 7ec5a47..a69df54 100644 --- a/allauth_ens/templates/account/signup.html +++ b/allauth_ens/templates/account/signup.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Signup" %}{% endblock %} @@ -13,7 +13,7 @@
- {% include "account/block-form.html" with form=form %} + {% include "allauth_ens/block-form.html" with form=form %} {% if redirect_field_value %} diff --git a/allauth_ens/templates/account/signup_closed.html b/allauth_ens/templates/account/signup_closed.html index 34ffaae..32799fc 100644 --- a/allauth_ens/templates/account/signup_closed.html +++ b/allauth_ens/templates/account/signup_closed.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% block title %}{% trans "Sign Up Closed" %}{% endblock %} diff --git a/allauth_ens/templates/account/base.html b/allauth_ens/templates/allauth_ens/base.html similarity index 77% rename from allauth_ens/templates/account/base.html rename to allauth_ens/templates/allauth_ens/base.html index 2fcefe5..a177adb 100644 --- a/allauth_ens/templates/account/base.html +++ b/allauth_ens/templates/allauth_ens/base.html @@ -8,7 +8,7 @@ - {% block title %}{% endblock %}{% if request.site.name %} - {{ request.site.name }}{% endif %} + {% block title %}{% endblock %}{% if request.site.name %} · {{ request.site.name }}{% endif %} {# Responsive UI #} @@ -17,6 +17,10 @@ {# CSS #} + @@ -44,10 +48,10 @@ {% get_home_url as home_url %} {% if home_url %} - {{ request.site.name|default:"Voir le site" }} + {{ request.site.name|default:"View site" }} {% else %} - {{ request.site.name }} + {{ request.site.name|default:"View site" }} {% endif %} @@ -66,16 +70,16 @@ {% endif %} {% else %} - - + + {% trans "Not Connected" %} - + {% endif %} - {% include "account/block-messages.html" %} + {% include "allauth_ens/block-messages.html" %} {% block messages-extra %}{% endblock %} diff --git a/allauth_ens/templates/allauth_ens/block-form.html b/allauth_ens/templates/allauth_ens/block-form.html new file mode 100644 index 0000000..e843843 --- /dev/null +++ b/allauth_ens/templates/allauth_ens/block-form.html @@ -0,0 +1,33 @@ +{% load widget_tweaks %} + +{% csrf_token %} + +{% for field in form %} + {% with widget=field|widget_type %} + {% if widget == "checkboxinput" %} +
+ + {% else %} +
+ + {% render_field field class+="field" size="" autocomplete="off" autocapitalize="none" placeholder="" %} + {% endif %} +
+
    + {% if field.help_text %} +
  • {{ field.help_text|safe }}
  • + {% endif %} + {% for error in field.errors %} +
  • {{ error }}
  • + {% endfor %} +
+
+ {% endwith %} +{% endfor %} diff --git a/allauth_ens/templates/account/block-messages-base.html b/allauth_ens/templates/allauth_ens/block-messages-base.html similarity index 100% rename from allauth_ens/templates/account/block-messages-base.html rename to allauth_ens/templates/allauth_ens/block-messages-base.html diff --git a/allauth_ens/templates/account/block-messages-form-errors.html b/allauth_ens/templates/allauth_ens/block-messages-form-errors.html similarity index 84% rename from allauth_ens/templates/account/block-messages-form-errors.html rename to allauth_ens/templates/allauth_ens/block-messages-form-errors.html index 12ff2b0..4c62b0b 100644 --- a/allauth_ens/templates/account/block-messages-form-errors.html +++ b/allauth_ens/templates/allauth_ens/block-messages-form-errors.html @@ -1,4 +1,4 @@ -{% extends "account/block-messages-base.html" %} +{% extends "allauth_ens/block-messages-base.html" %} {% block messages-container %} {% if form_errors %}{{ block.super }}{% endif %} diff --git a/allauth_ens/templates/account/block-messages.html b/allauth_ens/templates/allauth_ens/block-messages.html similarity index 82% rename from allauth_ens/templates/account/block-messages.html rename to allauth_ens/templates/allauth_ens/block-messages.html index 5671e51..1fb148d 100644 --- a/allauth_ens/templates/account/block-messages.html +++ b/allauth_ens/templates/allauth_ens/block-messages.html @@ -1,4 +1,4 @@ -{% extends "account/block-messages-base.html" %} +{% extends "allauth_ens/block-messages-base.html" %} {% block messages-container %} {% if messages %}{{ block.super }}{% endif %} diff --git a/allauth_ens/templates/socialaccount/authentication_error.html b/allauth_ens/templates/socialaccount/authentication_error.html new file mode 100644 index 0000000..6bc084e --- /dev/null +++ b/allauth_ens/templates/socialaccount/authentication_error.html @@ -0,0 +1,17 @@ +{% extends "allauth_ens/base.html" %} +{% load i18n %} + +{% block title %}{% trans "Login Failure" %}{% endblock %} +{% block header-title %}{% trans "Login Failure" %}{% endblock %} + +{% block content %} + +
+

+ {% blocktrans %} + An error occured while attempting to login via your social network account. + {% endblocktrans %} +

+
+ +{% endblock %} diff --git a/allauth_ens/templates/socialaccount/connections.html b/allauth_ens/templates/socialaccount/connections.html index 10ff9ff..abaacff 100644 --- a/allauth_ens/templates/socialaccount/connections.html +++ b/allauth_ens/templates/socialaccount/connections.html @@ -1,4 +1,4 @@ -{% extends "account/base.html" %} +{% extends "allauth_ens/base.html" %} {% load i18n %} {% load socialaccount allauth_ens_social %} @@ -19,48 +19,45 @@ {% endblocktrans %} {% endif %}

-
    +
      {% get_accounts_by_providers user as accounts_by_providers %} {% for provider, accounts in accounts_by_providers.items %} -
    • -
        -
      • - - - -
      • -
      • - {{ provider.name }} -
      • -
      +
    • +
      + + + + {{ provider.name }} +
      {% if accounts %} -
        +
          {% for account in accounts %}
        • - +
          {% csrf_token %} - + - - - - {% with account.get_profile_url as profile_url %} - {% trans "Connected Account - No ID" as fallback_label %} - {% firstof account.extra_data.name account.extra_data.username fallback_label as account_label %} - {% if profile_url %} - {{ account_label }} - {% else %} +
          + + {% with profile_urlaccount.get_profile_url as profile_url %} + {% firstof account.extra_data.name account.extra_data.username account.uid as account_label %} + {% if profile_url %} + {{ account_label }} - {% endif %} - {% endwith %} -
          + + {% else %} + {{ account_label }} + {% endif %} + {% endwith %}
        • {% endfor %} diff --git a/allauth_ens/templates/socialaccount/login_cancelled.html b/allauth_ens/templates/socialaccount/login_cancelled.html new file mode 100644 index 0000000..f351fca --- /dev/null +++ b/allauth_ens/templates/socialaccount/login_cancelled.html @@ -0,0 +1,19 @@ +{% extends "allauth_ens/base.html" %} +{% load i18n %} + +{% block title %}{% trans "Login Cancelled" %}{% endblock %} +{% block header-title %}{% trans "Login Cancelled" %}{% endblock %} + +{% block content %} + +
          +

          + {% url "account_login" as login_url %} + + {% blocktrans %} + You decided to cancel logging into our site using one of your existing accounts. If this was a mistake, please proceed to sign in.{% endblocktrans %} + {% endblocktrans %} +

          +
          + +{% endblock %} diff --git a/allauth_ens/templates/socialaccount/signup.html b/allauth_ens/templates/socialaccount/signup.html new file mode 100644 index 0000000..ed886a9 --- /dev/null +++ b/allauth_ens/templates/socialaccount/signup.html @@ -0,0 +1,26 @@ +{% extends "allauth_ens/base.html" %} +{% load i18n %} + +{% block title %}{% trans "Signup" %}{% endblock %} +{% block header-title %}{% trans "Signup" %}{% endblock %} + +{% block content %} + +
          +

          + {% blocktrans with provider_name=account.get_provider.name %} + You are about to use your {{ provider_name }} account to login. + As a final step, please complete the following form: + {% endblocktrans %} +

          + +
          + {% include "allauth_ens/block-form.html" with form=form %} + + {% if redirect_field_value %} + + {% endif %} +
          +
          + +{% endblock %} diff --git a/allauth_ens/templatetags/allauth_ens.py b/allauth_ens/templatetags/allauth_ens.py index 3b4140a..c369fe1 100644 --- a/allauth_ens/templatetags/allauth_ens.py +++ b/allauth_ens/templatetags/allauth_ens.py @@ -3,6 +3,7 @@ from django import template from django.conf import settings from django.shortcuts import resolve_url +from allauth.account.adapter import get_adapter register = template.Library() @@ -26,3 +27,9 @@ def get_profile_url(): if profile_url is None: return None return resolve_url(profile_url) + + +@simple_tag(takes_context=True) +def is_open_for_signup(context): + request = context['request'] + return get_adapter(request).is_open_for_signup(request) diff --git a/allauth_ens/templatetags/allauth_ens_social.py b/allauth_ens/templatetags/allauth_ens_social.py index faf2425..49740dd 100644 --- a/allauth_ens/templatetags/allauth_ens_social.py +++ b/allauth_ens/templatetags/allauth_ens_social.py @@ -6,7 +6,6 @@ from django import template from allauth import app_settings as allauth_settings from allauth.socialaccount.templatetags import socialaccount as tt_social - register = template.Library() if django.VERSION >= (1, 9): diff --git a/allauth_ens/tests.py b/allauth_ens/tests.py new file mode 100644 index 0000000..ef2a98c --- /dev/null +++ b/allauth_ens/tests.py @@ -0,0 +1,137 @@ +import re + +import django +from django.contrib.auth import HASH_SESSION_KEY, get_user_model +from django.contrib.sites.models import Site +from django.core import mail +from django.test import TestCase, override_settings + +if django.VERSION >= (1, 10): + from django.urls import reverse +else: + from django.core.urlresolvers import reverse + +User = get_user_model() + + +def prevent_logout_pwd_change(client, user): + """ + Updating a user's password logs out all sessions for the user. + By calling this function this behavior will be prevented. + + See this link, and the source code of `update_session_auth_hash`: + https://docs.djangoproject.com/en/dev/topics/auth/default/#session-invalidation-on-password-change + """ + if hasattr(user, 'get_session_auth_hash'): + session = client.session + session[HASH_SESSION_KEY] = user.get_session_auth_hash() + session.save() + + +class ViewsTests(TestCase): + """ + Checks (barely) that templates do not contain errors. + """ + def setUp(self): + self.u = User.objects.create_user('user', 'user@mail.net', 'user') + + Site.objects.filter(pk=1).update(domain='testserver') + + def _login(self, client=None): + if client is None: + client = self.client + client.login(username='user', password='user') + + def _get_confirm_email_link(self, email_msg): + m = re.search( + r'http://testserver(/accounts/confirm-email/.*/)', + email_msg.body, + ) + return m.group(1) + + def _get_reset_password_link(self, email_msg): + m = re.search( + r'http://testserver(/accounts/password/reset/key/.*/)', + email_msg.body, + ) + return m.group(1) + + def test_account_signup(self): + r = self.client.get(reverse('account_signup')) + self.assertEqual(r.status_code, 200) + + @override_settings( + ACCOUNT_ADAPTER='tests.adapter.ClosedSignupAccountAdapter', + ) + def test_account_closed_signup(self): + r = self.client.get(reverse('account_signup')) + self.assertEqual(r.status_code, 200) + + def test_account_login(self): + r = self.client.get(reverse('account_login')) + self.assertEqual(r.status_code, 200) + + def test_account_logout(self): + self._login() + r = self.client.get(reverse('account_logout')) + self.assertEqual(r.status_code, 200) + + def test_account_change_password(self): + self._login() + r = self.client.get(reverse('account_change_password')) + self.assertEqual(r.status_code, 200) + + def test_account_set_password(self): + self._login() + self.u.set_unusable_password() + self.u.save() + prevent_logout_pwd_change(self.client, self.u) + + r = self.client.get(reverse('account_set_password')) + self.assertEqual(r.status_code, 200) + + def test_account_inactive(self): + r = self.client.get(reverse('account_inactive')) + self.assertEqual(r.status_code, 200) + + def test_account_email(self): + self._login() + r = self.client.get(reverse('account_email')) + self.assertEqual(r.status_code, 200) + + def test_account_email_verification_sent(self): + self._login() + r = self.client.get(reverse('account_email_verification_sent')) + self.assertEqual(r.status_code, 200) + + def test_account_confirm_email(self): + self._login() + self.client.post(reverse('account_email'), { + 'action_add': '', + 'email': 'test@mail.net', + }) + confirm_url = self._get_confirm_email_link(mail.outbox[0]) + + r = self.client.get(confirm_url) + self.assertEqual(r.status_code, 200) + + def test_account_reset_password(self): + r = self.client.get(reverse('account_reset_password')) + self.assertEqual(r.status_code, 200) + + def test_account_reset_password_done(self): + r = self.client.get(reverse('account_reset_password_done')) + self.assertEqual(r.status_code, 200) + + def test_account_reset_password_from_key(self): + self.client.post(reverse('account_reset_password'), { + 'email': 'user@mail.net', + }) + reset_url = self._get_reset_password_link(mail.outbox[0]) + + r = self.client.get(reset_url, follow=True) + self.assertEqual(r.status_code, 200) + + def test_account_reset_password_from_key_done(self): + r = self.client.get(reverse('account_reset_password_from_key_done')) + self.assertEqual(r.status_code, 200) diff --git a/allauth_ens/views.py b/allauth_ens/views.py index 7e04922..ea1a343 100644 --- a/allauth_ens/views.py +++ b/allauth_ens/views.py @@ -1,10 +1,16 @@ -from django.core.urlresolvers import reverse_lazy +import django from django.views.generic import RedirectView +if django.VERSION >= (1, 10): + from django.urls import reverse_lazy +else: + from django.core.urlresolvers import reverse_lazy + class CaptureLogin(RedirectView): url = reverse_lazy('account_login') query_string = True + permanent = False capture_login = CaptureLogin.as_view() @@ -13,6 +19,7 @@ capture_login = CaptureLogin.as_view() class CaptureLogout(RedirectView): url = reverse_lazy('account_logout') query_string = True + permanent = False capture_logout = CaptureLogout.as_view() diff --git a/config.rb b/config.rb index 983e27f..b7095f7 100644 --- a/config.rb +++ b/config.rb @@ -1,6 +1,4 @@ require 'compass/import-once/activate' -# Require any additional compass plugins here. -require 'font-awesome-sass' # Set this to the root of your project when deployed: http_path = '/' diff --git a/example/README.rst b/example/README.rst new file mode 100644 index 0000000..0d72833 --- /dev/null +++ b/example/README.rst @@ -0,0 +1,54 @@ +***** +Setup +***** + +Clone the repository and go to the directory containing this file. + +If it is the first time you start the example website, run these commands:: + + # Create a virtual env. + $ virtualenv -p python3 venv + $ . venv/bin/activate + + # Install dependencies (django-allauth-ens is installed from local copy). + $ pip install -r requirements.txt + + # Initialize the database (sqlite). + $ ./manage.py migrate + +Start the server with:: + + $ ./manage.py runserver + +Then, open your browser at ``_. + + +***** +Usage +***** + +Pre-existing users +================== + +You can try to login using one of the existing users: + +* a "normal" user (username: 'user', password: 'user') + +* a superuser (username: 'root', password: 'root') + +Auth Providers +============== + +Facebook and Google are activated but they won't work unless you provide valid +API credentials in the Django Admin at +``_. + +Clipper is available (which requires valid credentials). For auto-signup, the +new user is populated with the clipper identifier as username (plus a suffix if +not available) and ``@clipper.ens.fr`` as email. + +Adapters +======== + +``ACCOUNT_ADAPTER`` and ``SOCIALACCOUNT_ADAPTER`` can be customized in +``adapter.py``. diff --git a/example/adapter.py b/example/adapter.py new file mode 100644 index 0000000..3e288e5 --- /dev/null +++ b/example/adapter.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +from allauth.account.adapter import DefaultAccountAdapter +from allauth.socialaccount.adapter import DefaultSocialAccountAdapter + + +class AccountAdapter(DefaultAccountAdapter): + pass + + +class SocialAccountAdapter(DefaultSocialAccountAdapter): + pass diff --git a/example/app/admin.py b/example/app/admin.py deleted file mode 100644 index bef3636..0000000 --- a/example/app/admin.py +++ /dev/null @@ -1,27 +0,0 @@ -from django.contrib import admin -from django.contrib.auth.admin import UserAdmin -from django.contrib.auth.models import AbstractUser -from django.utils.translation import ugettext as _ - -from .models import User - - -class ExtendedUserAdmin(UserAdmin): - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - - base_fields = [field.name for field in AbstractUser._meta.fields] - all_fields = [field.name for field in self.model._meta.fields] - - extra_fields = [ - f for f in all_fields - if f not in base_fields and f != self.model._meta.pk.name - ] - - self.fieldsets += ( - (_('Champs additionnels'), {'fields': extra_fields}), - ) - - -admin.site.register(User, ExtendedUserAdmin) diff --git a/example/app/apps.py b/example/app/apps.py index 5dae996..9e96f55 100644 --- a/example/app/apps.py +++ b/example/app/apps.py @@ -1,34 +1,42 @@ from django.apps import AppConfig from django.db.models.signals import post_migrate +from django.utils.module_loading import import_string + +from allauth.socialaccount.providers import registry -def prepare_site(sender, **kwargs): +def setup_site(sender, **kwargs): from django.contrib.sites.models import Site Site.objects.filter(id=1).update(name="Demo Site", domain="localhost") -def prepare_superuser(sender, **kwargs): +def setup_users(sender, **kwargs): from django.contrib.auth import get_user_model User = get_user_model() - root, created = User.objects.get_or_create( - username='root', - defaults={ - 'is_staff': True, - 'is_superuser': True, - }, - ) - if created: + + root, r_created = User.objects.get_or_create(username='root', defaults={ + 'email': 'root@mail.net', + 'is_staff': True, + 'is_superuser': True, + }) + if r_created: root.set_password('root') root.save() print('Superuser created - Credentials: root:root') + user, u_created = User.objects.get_or_create(username='user', defaults={ + 'email': 'user@mail.net', + }) + if u_created: + user.set_password('user') + user.save() + print('User created - Credentials: user:user') + def setup_dummy_social(sender, **kwargs): from django.contrib.sites.models import Site - from django.utils.module_loading import import_string from allauth.socialaccount.models import SocialApp - from allauth.socialaccount.providers import registry need_credentials = [ 'allauth.socialaccount.providers.oauth.provider.OAuthProvider', @@ -68,6 +76,6 @@ class BasicAppConfig(AppConfig): name = 'app' def ready(self): - post_migrate.connect(prepare_site, sender=self) - post_migrate.connect(prepare_superuser, sender=self) + post_migrate.connect(setup_site, sender=self) post_migrate.connect(setup_dummy_social, sender=self) + post_migrate.connect(setup_users, sender=self) diff --git a/example/app/fixtures/users.json b/example/app/fixtures/data.json similarity index 60% rename from example/app/fixtures/users.json rename to example/app/fixtures/data.json index 6590604..c85dda2 100644 --- a/example/app/fixtures/users.json +++ b/example/app/fixtures/data.json @@ -1,9 +1,9 @@ [ { - "model": "testapp.user", + "model": "auth.user", "pk": 1, "fields": { - "password": "pbkdf2_sha256$36000$RNuQMJ1hqN0P$GFFyxtTONjkh4IUMifNYrsXs4/SnX5uMnGtRNR2WrFo=", + "password": "pbkdf2_sha256$100000$WDs2nLZ0eIl1$oNqrYphOf0AVRQ8aPIA3g7xM2gI8/c8NJkp2geVT7mc=", "last_login": null, "is_superuser": false, "username": "user", @@ -13,19 +13,15 @@ "is_staff": false, "is_active": true, "date_joined": "2017-07-03T10:10:18.675Z", - "departement": "", - "occupation": "1A", - "phone": "", - "promo": 2016, "groups": [], "user_permissions": [] } }, { - "model": "testapp.user", + "model": "auth.user", "pk": 2, "fields": { - "password": "pbkdf2_sha256$36000$NFfbdDHHuq0A$auDXrWn6xr+FnsAOW8uq0aa8m2kyUPtgY/QgThMDKF0=", + "password": "pbkdf2_sha256$100000$EjBzWe7Ce5Bc$abqTFywweKuMaRux2MMUwcLchcwxmXGduN320oYaV28=", "last_login": null, "is_superuser": true, "username": "root", @@ -35,12 +31,16 @@ "is_staff": true, "is_active": true, "date_joined": "2017-07-03T10:10:36.413Z", - "departement": "", - "occupation": "1A", - "phone": "", - "promo": 2016, "groups": [], "user_permissions": [] } +}, +{ + "model": "sites.Site", + "pk": 1, + "fields": { + "name": "Example Site", + "domain": "localhost" + } } ] diff --git a/example/app/migrations/0001_initial.py b/example/app/migrations/0001_initial.py deleted file mode 100644 index 0643401..0000000 --- a/example/app/migrations/0001_initial.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.3 on 2017-07-27 15:06 -from __future__ import unicode_literals - -import django.contrib.auth.models -import django.contrib.auth.validators -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('auth', '0008_alter_user_username_max_length'), - ] - - operations = [ - migrations.CreateModel( - name='User', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('password', models.CharField(max_length=128, verbose_name='password')), - ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), - ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), - ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), - ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), - ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')), - ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), - ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), - ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), - ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), - ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), - ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), - ], - options={ - 'verbose_name_plural': 'users', - 'verbose_name': 'user', - 'abstract': False, - }, - managers=[ - ('objects', django.contrib.auth.models.UserManager()), - ], - ), - ] diff --git a/example/app/migrations/__init__.py b/example/app/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/example/app/models.py b/example/app/models.py index c48bbda..e69de29 100644 --- a/example/app/models.py +++ b/example/app/models.py @@ -1,11 +0,0 @@ -from django.contrib.auth.models import AbstractUser, UserManager - -# from authens.models import ENSUserMixin - -""" -class User(ENSUserMixin, AbstractUser): - objects = UserManager() -""" - -class User(AbstractUser): - objects = UserManager() diff --git a/example/fixtures/users.json b/example/fixtures/users.json deleted file mode 100644 index f87008f..0000000 --- a/example/fixtures/users.json +++ /dev/null @@ -1,38 +0,0 @@ -[ -{ - "model": "auth.user", - "pk": 1, - "fields": { - "password": "pbkdf2_sha256$36000$xjRTvXipQpaq$z0kj/h2b4yZp8DNOjhu2TUxSOWHWYX+S+0rvsaWx7TU=", - "last_login": null, - "is_superuser": false, - "username": "user", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": false, - "is_active": true, - "date_joined": "2017-07-01T07:11:08.549Z", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "auth.user", - "pk": 3, - "fields": { - "password": "pbkdf2_sha256$36000$7IcQUVbp8OM1$7mKhCjAPFLkcEUfu9djXxn/scOw2uvlWLFrMtGfhd0U=", - "last_login": null, - "is_superuser": true, - "username": "root", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": true, - "is_active": true, - "date_joined": "2017-07-01T07:11:20.745Z", - "groups": [], - "user_permissions": [] - } -} -] diff --git a/example/settings.py b/example/settings.py index dd0c34d..0f6a73d 100644 --- a/example/settings.py +++ b/example/settings.py @@ -9,34 +9,26 @@ SECRET_KEY = 'iamaplop' DEBUG = True -EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' - -SITE_ID = 1 - INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', - 'django.contrib.sessions', 'django.contrib.messages', + 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.staticfiles', 'debug_toolbar', 'widget_tweaks', - # This one must be before 'allauth' to replace its templates. 'allauth_ens', - 'allauth', 'allauth.account', 'allauth.socialaccount', - 'allauth_cas', 'allauth.socialaccount.providers.facebook', 'allauth.socialaccount.providers.google', - 'allauth_ens.providers.clipper', 'app', @@ -59,6 +51,12 @@ else: ROOT_URLCONF = 'urls' +SITE_ID = 1 + +WSGI_APPLICATION = 'wsgi.application' + +EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' + TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', @@ -75,8 +73,6 @@ TEMPLATES = [ }, ] -WSGI_APPLICATION = 'wsgi.application' - DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', @@ -86,16 +82,28 @@ DATABASES = { AUTH_PASSWORD_VALIDATORS = [ { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + 'NAME': ( + 'django.contrib.auth.password_validation' + '.UserAttributeSimilarityValidator', + ), }, { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + 'NAME': ( + 'django.contrib.auth.password_validation' + '.MinimumLengthValidator' + ), }, { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + 'NAME': ( + 'django.contrib.auth.password_validation' + '.CommonPasswordValidator' + ), }, { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + 'NAME': ( + 'django.contrib.auth.password_validation' + '.NumericPasswordValidator' + ), }, ] @@ -115,7 +123,10 @@ DEBUG_TOOLBAR_CONFIG = { 'SHOW_TOOLBAR_CALLBACK': lambda r: True, } -AUTH_USER_MODEL = 'app.User' +AUTHENTICATION_BACKENDS = [ + 'django.contrib.auth.backends.ModelBackend', + 'allauth.account.auth_backends.AuthenticationBackend', +] LOGIN_URL = '/account/login/' LOGIN_REDIRECT_URL = 'user-view' @@ -125,4 +136,13 @@ SOCIALACCOUNT_QUERY_EMAIL = True # allauth settings +ACCOUNT_ADAPTER = 'adapter.AccountAdapter' ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = False +ACCOUNT_AUTHENTICATION_METHOD = 'username_email' + +SOCIALACCOUNT_ADAPTER = 'adapter.SocialAccountAdapter' + +# allauth_ens settings + +ACCOUNT_HOME_URL = 'home' +ACCOUNT_DETAILS_URL = '/my-account/' diff --git a/example/urls.py b/example/urls.py index 59d2f12..b780c20 100644 --- a/example/urls.py +++ b/example/urls.py @@ -4,13 +4,14 @@ from django.contrib.auth.decorators import login_required, permission_required from django.views.generic import RedirectView import debug_toolbar +from allauth_ens.views import capture_login, capture_logout from app import views urlpatterns = [ # Catch admin login/logout views. - # url(r'^admin/login/', authens_views.CaptureLogin.as_view()), - # url(r'^admin/logout/', authens_views.CaptureLogout.as_view()), + url(r'^admin/login/', capture_login), + url(r'^admin/logout/', capture_logout), # Admin urls include comes after. url(r'^admin/', admin.site.urls), @@ -28,7 +29,8 @@ urlpatterns = [ # (Redirect from /) - url(r'^$', RedirectView.as_view(url='/view/')), + url(r'^$', RedirectView.as_view(url='/view/'), + name='home'), ] urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))] diff --git a/setup.py b/setup.py index 3d8b171..ed56dc6 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ setup( include_package_data=True, install_requires=[ 'django-allauth', - 'django-allauth-cas', + 'django-allauth-cas>=1.0.0b2,<1.1', 'django-widget-tweaks', ], ) diff --git a/tests/adapter.py b/tests/adapter.py new file mode 100644 index 0000000..ca0e0ad --- /dev/null +++ b/tests/adapter.py @@ -0,0 +1,6 @@ +from allauth.account.adapter import DefaultAccountAdapter + + +class ClosedSignupAccountAdapter(DefaultAccountAdapter): + def is_open_for_signup(self, request): + return False diff --git a/tests/settings.py b/tests/settings.py index 66ba094..ab5e262 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -12,10 +12,12 @@ INSTALLED_APPS = [ 'django.contrib.sites', 'django.contrib.staticfiles', + 'widget_tweaks', + + 'allauth_ens', 'allauth', 'allauth.account', 'allauth.socialaccount', - 'allauth_cas', 'allauth_ens.providers.clipper', @@ -36,6 +38,7 @@ _MIDDLEWARES = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.sites.middleware.CurrentSiteMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', ] @@ -61,3 +64,7 @@ TEMPLATES = [ ] ROOT_URLCONF = 'tests.urls' + +SITE_ID = 1 + +STATIC_URL = '/static/' diff --git a/tox.ini b/tox.ini index dbe0be6..ec77d8d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,8 @@ [tox] envlist = - py{27,34,35}-django{18,19,110} - py{27,34,35,36}-django111, + django{18,19,110}-py{27,34,35}, + django111-py{27,34,35,36}, + django20-py{34,35,36}, cov_combine, flake8, isort @@ -12,6 +13,7 @@ deps = django19: django>=1.9,<1.10 django110: django>=1.10,<1.11 django111: django>=1.11,<2.0 + django20: django>=2.0,<2.1 coverage mock ; python_version < "3.0" usedevelop= True